Linux进程管理
进程的查看
- top工具的使用
- 概念:top 是一个在前台执行的程序
- 可以实时的获取到系统与进程的信息。可以通过一些指令来操作和筛选。
- load average
- 概念:对当前 CPU 工作量的度量,就是指运行队列的平均长度,也就是等待 CPU 的平均进程数相关的一个计算值。
- 含义:
- load = 0
- cpu 没有任何任务
- load < 1
- cpu 的任务并不多,资源还很充足
- load < 0.7 并不会去关注他
- 0.7< load < 1个值已经离临界不远了
- load = 1
- cpu 的已经在全力工作了,所有的资源都被用完了,当然还好,这还在能力范围之内,只是有点慢而已
- load > 1
- cpu 已经在全力工作,系统资源的用完了,但是还是有大量的进程在请求,在等待
- 值大于2、大于3
- 表示进程请求超过 CPU 工作能力的 2 到 3 倍
- 值 > 5
- 说明系统已经在超负荷运作了
- load = 0
- top第二行:进程的一个情况统计
- top第三行:CPU 的一个使用情况的统计
- CPU 利用率是对一个时间段内 CPU 使用状况的统计,通过这个指标可以看出在某一个时间段内 CPU 被占用的情况,而 Load Average 是 CPU 的 Load,它所包含的信息不是 CPU 的使用率状况,而是在一段时间内 CPU 正在处理以及等待 CPU 处理的进程数情况统计信息,这两个指标并不一样
- top第四行:内存的一个使用情况的统计
- 注意:系统中可用的物理内存最大值并不是 free 这个单一的值,而是 free + buffers + swap 中的 cached 的和
- top第五行:交换区的一个使用情况的统计
内容 | 解释 |
---|---|
total | 交换区总量 |
used | 使用的交换区总量 |
free | 空闲交换区总量 |
catch | 缓冲的交换区总量,内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖 |
-
注意:
- NICE 值叫做静态优先级,是用户空间的一个优先级值,其取值范围是-20至19。这个值越小,表示进程”优先级”越高
- PR 值表示 Priority 值叫动态优先级,是进程在内核中实际的优先级值,这个值越小,优先级越高
-
ps工具的使用
内容 | 解释 |
---|---|
F | 进程的标志(process flags),当 flags 值为 1 则表示此子程序只是 fork 但没有执行 exec,为 4 表示此程序使用超级管理员 root 权限 |
USER | 进程的拥有用户 |
PID | 进程的 ID |
PPID | 其父进程的 PID |
SID | session 的 ID |
TPGID | 前台进程组的 ID |
%CPU | 进程占用的 CPU 百分比 |
%MEM | 占用内存的百分比 |
NI | 进程的 NICE 值 |
VSZ | 进程使用虚拟内存大小 |
RSS | 驻留内存中页的大小 |
TTY | 终端 ID |
S or STAT | 进程状态 |
WCHAN | 正在等待的进程资源 |
START | 启动进程的时间 |
TIME | 进程消耗CPU的时间 |
COMMAND | 命令的名称和参数 |
-
使用 -l 参数可以显示自己这次登录的 bash 相关的进程信息罗列出来
-
pstree工具的使用
kill命令的掌握
- 使用图形界面打开了 gedit、gvim,用 ps 可以查看到
- ps aux
- 使用9这个信号强制结束 gedit 进程
- kill -9 1608
- 再查找这个进程的时候就不存在了
- ps aux | grep gedit