目录
1. 进程概述
程序和进程:
进程停止:
进程的属性:
父进程和子进程:
2. ps管理进程
3. uptime查看系统负载
命令:
含义:
4. top动态管理进程
任务队列信息(第一行):
进程和CPU的信息(第二、三行):
内存信息(第四、五行):
进程信息:
快捷键:
其他:
/proc 目录:
5. kill
6. nice
1. 进程概述
程序和进程:
程序是为了完成某种任务而设计的软件;进程是运行中的程序,一个运行着的程序,可能有多个进程。
进程停止:
ctrl c:发送SIGINT信号,终止一个进程
ctrl z:发送SIGSTOP信号,挂起一个进程,将作业放置到后台(暂停)
ctrl d:不是发送信号,表示一个特殊的二进制值,标识EOF,代表输入完成或注销
进程的属性:
进程ID:PID,唯一的数值,区分进程;
父进程ID:PPID;
启动进程的用户ID:UID;
所归属的组ID:GID;
进程状态:运行 R,休眠 S,僵尸 Z;
父进程和子进程:
父进程终止时,子进程也随之终止。但子进程终止,父进程不一定终止。
父进程退出,子进程没有退出,这些子进程就没有父进程进行管理,变成了僵尸进程
2. ps管理进程
ps -l:长格式输出
ps -u:按用户名和启动时间的顺序来显示进程
ps f:用树形格式来显示进程
ps a:显示所有用户的所有进程(包括其他用户)
ps r:显示运行中的进程
ps -e:显示所有进程,包括没有控制终端的进程
ps -x:显示没有控制终端的进程
ps aux,ps -elf:常用组合
USER PID PPID %CPU %MEM NI VSZ
进程的属主 进程的ID 父进程 进程占用CPU百分比 占用内存的百分比 进程的NICE值 进程占用虚拟内存大小
RSS TTY STAT START TIME COMMAND
固定的内存使用数量 进程启用的终端ID 进程状态 启用进程的时间 进程消耗CPU的时间 命令的名称和参数
进程状态:R 正在运行中的进程,S 处于休眠状态,T 停止或被追踪,Z 僵尸进程,D 不可中断,< 优先级高的进程,N 优先级较低的进程,L 有些页面被锁进内存,s 进程的领导者(在它之下有子进程),I 进程是多线程的,+ 位于后台的进程组
3. uptime查看系统负载
命令:
查看cpu负载:uptime
含义:
12:00:00 | 当前时间 |
up 10days | 系统运行时间 |
2 user | 当前登录用户数 |
load average:0.0.6,0.60,0.48 | 系统负载,即任务队列的平均长度。三个数值分别为1分钟、5分钟、15分钟前到现在的平均度。 |
4. top动态管理进程
任务队列信息(第一行):
12:00:00 | 当前时间 |
up 30min | 系统运行时间,格式为“分” |
3 user | 当前登录用户数 |
load average:0.0.6,0.60,0.48 | 系统负载,即任务队列的平均长度。三个数值分别为1分钟、5分钟、15分钟前到现在的平均度。 |
进程和CPU的信息(第二、三行):
当前有多个CPU时,这些内容可能会超过两行。内容如下:
Tasks:29 total | 进程总数 |
1 running | 正在运行的进程数 |
28 sleeping | 睡眠的进程数 |
1 stopped | 停止的进程数 |
0 zombie | 僵尸进程数 |
Cpu(s):1 | 系统用户进程使用CPU百分比 |
1.0% sy | 内核中的进程占用CPU百分比 |
0.0% ni | 用户进程空间内改变过优先级的进程占用CPU百分比 |
98.7% id | 空心啊CPU百分比 |
0.0% wa | 等待输入输出的CPU时间百分比 |
0.0 hi | 硬中断占用CPU的百分比 |
0.0 si | 软中断占用CPU的百分比 |
0.0 st | 虚拟机被hypervisor偷去的CPU时间 |
内存信息(第四、五行):
内容如下:Linux 使用内存的思想是:尽最大可能使用内存!
Mem:191272k total | 物理内存总量 |
172666 used | 使用的物理内存总量 |
17616k free | 空闲内存总量 |
22053k buff/cache | 用作内核缓存的内存量,和free -k 一个意思 |
Swap:192772k total | 交换区总量 |
0k used | 使用的交换区总量 |
192772k free | 空闲交换区总量 |
3123008 avail Mem | 总的可利用内存是多少,和 mem 里的 free+buffer/cache 相等 |
进程信息:
列名 | 含义 |
PID | 进程 id |
USER | 进程所有者的用户名 |
PR | 任务的调度优先级(由内核动态调整),用户不能调整,如果看到“rt”在这个领域,它表示任务在实时调度优先级下运行。 |
NI | 进程优先级。nice 值。负值表示高优先级,正值表示低优先级,0 不调整优先级。 |
RES | VIRT 占用虚拟内存,实际使用内存的大小 |
SHR | 共享内存大小 |
S | 进程状态: D:不可中断的睡眠状态 R:运行 S:睡眠 T:跟踪/停止 Z:僵尸进程 |
%CPU | 上次更新到现在的CPU时间占用百分比;1核 100%,6核 600% |
%MEM | 进程使用的物理内存百分比 |
TIME+ | 进程使用的CPU时间总计;单位:1/100秒 |
COMMAND | 命令名/命令行 |
快捷键:
默认每3s刷新一次,按s修改刷新时间
空格:立即刷新
q:退出
1:显示CPU核心数
M:按内存排序
P:按CPU排序
T:按时间排序
u/U:指定显示的用户
h:帮助信息
其他:
lsof -p 进程号:列出指定进程号所打开的文件
pstree -p:以树状图显示进程,并显示进程PID
/proc 目录:
一个存放在内存中的特殊目录,当前系统运行的所有进程都动态存放在这个目录中。
5. kill
kill -l:查看kill命令的信号
kill -1 进程号:重新加载配置
kill -9 进程号:强行关闭
killall 关键字,pkill关键字:杀死包含该关键字的所有进程
6. nice 值
设置进程的优先级:nice -n 10 vim a.txt
改变进程的优先级:renice 优先级值 pid