一、进程查看
(一)top工具
1.top 实时得查看进程的状态,以及系统的一些信息(如 CPU、内存信息等)
第一行数据:
| 内容 | 解释 |
| top | 当前程序名称 |
| 11:05:18 | 当前的系统的时间 |
| up 8 days,17:12 | 该机器已经启动了多长时间 |
| 1 user | 当前系统中只有一个用户 |
| load average: 0.29,0.20,0.25 | 分别对应1、5、15分钟内cpu的平均负载 |
load临界值通常为0.7,load < 0.7 并不会去关注他;若是 0.7< load < 1 的时候我们就需要稍微关注一下了,虽然还可以应付但是这个值已经离临界不远了;若是 load = 1 的时候我们就需要警惕了,因为这个时候已经没有更多的资源的了,已经在全力以赴了;若是 load > 5 的时候系统已经快不行了,这个时候你需要加班解决问题了。通常我们都会先看 15 分钟的值来看这个大体的趋势,然后再看 5 分钟的值对比来看是否有下降的趋势。
第二行数据:进程情况的统计
| 内容 | 解释 |
| Tasks: 26 total | 进程总数 |
| 1 running | 1个正在运行的进程数 |
| 25 sleeping | 25个睡眠的进程数 |
| 0 stopped | 没有停止的进程数 |
| 0 zombie | 没有僵尸进程数 |
| 内容 | 解释 |
| Cpu(s): 1.0%us | 用户空间进程占用CPU百分比 |
| 1.0%sy | 内核空间运行占用CPU百分比 |
| 0.0%ni | 用户进程空间内改变过优先级的进程占用CPU百分比 |
| 97.9%id | 空闲CPU百分比 |
| 0.0%wa | 等待输入输出的CPU时间百分比 |
| 0.1%hi | 硬中断(Hardware IRQ)占用CPU的百分比 |
| 0.0%si | 软中断(Software IRQ)占用CPU的百分比 |
| 0.0%st | (Steal time) 是 hypervisor 等虚拟服务中,虚拟 CPU 等待实际 CPU 的时间的百分 |
第四行数据:内存使用情况的统计
| 内容 | 解释 |
| 8176740 total | 物理内存总量 |
| 8032104 used | 使用的物理内存总量 |
| 144636 free | 空闲内存总量 |
| 313088 buffers | 用作内核缓存的内存量 |
| 内容 | 解释 |
| total | 交换区总量 |
| used | 使用的交换区总量 |
| free | 空闲交换区总量 |
| cached | 缓冲的交换区总量,内存中的内容被换出到交换区 而后又被换入到内存,但使用过的交换区尚未被覆盖 |
| 列名 | 解释 |
| PID | 进程id |
| USER | 该进程的所属用户 |
| PR | 该进程执行的优先级 priority 值,动态优先级,是进程在内核中实际的优先级值, |
| NI | 该进程的 nice 值,静态优先级,用户空间的优先级,取值范围是-20至19,默认是0,值越小,优先级越高 |
| VIRT | 该进程任务所使用的虚拟内存的总数 |
| RES | 该进程所使用的物理内存数,也称之为驻留内存数 |
| SHR | 该进程共享内存的大小 |
| S | 该进程进程的状态: S=sleep R=running Z=zombie |
| %CPU | 该进程CPU的利用率 |
| %MEM | 该进程内存的利用率 |
| TIME+ | 该进程活跃的总时间 |
| COMMAND | 该进程运行的名字 |
1.ps aux 罗列所有的进程信息
ps aux | grep zsh 查找其中的某个进程
2.ps axjf 将连同部分的进程呈树状显示出来
3.ps -afxo user,ppid,pid,pgid,command 将需要的信息放在一起显示
4.ps -l 这次登录的bash相关的进程信息
| 内容 | 解释 |
| 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 | 命令的名称和参数 |
1.pstree 很直接的看到相同的进程数量、以及所有进程的之间的相关性
二、进程管理
(一)kill命令
1.kill -9 1608 结束pid为1068的进程
| 信号值 | 作用 |
| -1 | 重新读取参数运行,类似与restart |
| -2 | 如同 ctrl+c 的操作退出 |
| -9 | 强制终止该任务 |
| -15 | 正常的方式终止该任务 |
(二)进程的执行顺序
1.nice -n -5 vim & 打开一个程序放在后台
2.ps -afxo user,ppid,pid,stat,pri,ni,time,command | grep vim 用ps查看优先级
3.renice -5 pid 修改已存在的进程的优先级
本文介绍了如何使用top、ps及pstree工具查看Linux系统进程的状态,并详细解释了这些工具输出的各项指标含义。此外,还提供了如何利用kill命令来管理进程的方法。
155

被折叠的 条评论
为什么被折叠?



