Linux进程管理 常用命令和工具

参考

极客时间

Linux命令搜索

10分钟教会你看懂 top

《linux编程基础》

top 显示或管理执行中的程序

头部信息

显示项说明
top – 09:44:56当前系统时间
up 43 min系统已经运行时间43分钟
1 user当前登录用户数量
load average: 0.24, 0.40, 0.53三个数字对应1 分钟、5 分钟、15 分钟的平均负载
进程信息Tasks 第二行
349 total系统中的进程数量349个
2 running处于运行态的进程数量
346 sleeping处于睡眠态的进程数量
0 stopped处于停止态的进程数量
0 zombie处于僵尸态的进程数量
CPU信息 %Cpu(s) 第三行
0.3 us用户占用cpu百分比 us=user
0.2 sy系统占用cpu百分比 sy=system
0.0 ni用户进程空间内改变过优先级的进程占用cpu百分比 ni=nice
99.3 id空闲进程占用cpu百分比 id=idle
0.1 wa硬件设备I/O 等待占用 占用cpu百分比 wa=wait
0.0 hi硬中断占用cpu百分比 hi=hardirq
0.0 si软中断占用cpu百分比 si=softirq
0.0 st虚拟机被hypervisior(虚拟监视器)偷去的时间所占的百分比
内存信息MiB(单位) Mem 第四行
15896.6 total物理内存总量
10442.7 free 空闲内存总量
2328.9 used使用的物理内存总量
3125.1 buff/cache缓冲内存(缓存) 内存总量
交换分区信息(虚拟内存)MiB(单位) Swap 第五行
2048.0 total交换区总容量
2048.0 free空闲交换区总容量
0.0 used使用的交换区总量
12667.6 avail Mem可用交换区总量

进程列表标题头

标题头说明
PID进程PID 进程的唯一标识
USER进程的运行用户
PR进程优先级
NInice值用来控制进程优先级 对应nice命令操作
VIRT虚拟内存大小,即进程使用的虚拟内存总量,单位为K
RES常驻内存及大小,即进程使用的违背换出的物理内存大小,单位为B
SHR共享内存大小,单位为KB
S进程状态 对应PS命令的中的STAT
%CPU上次更新到现在的CPU时间占用,默认按此值排序
%MEM进程使用物理内存站总内存的百分比
TIME进程占CPU的总时长,单位为1/100秒

快捷键

热键说明
M根据常驻内存集RES大小为进程排序
P根据%CPU为进程排序
T根据TIME + 为进程排序
r重置一个进程的优先级
i忽略限制和僵尸进程
k终止一个进程

htop [非内部命令]一个互动的进程查看器,可以动态观察系统进程状况

top的升级版

ps 报告当前系统的进程状态

ps -aux| grep 进程名称 //查看指定名称的进程
ps -aux| grep php-fpm |wc -l //统计php-fpm进程数量

pstree 以树状图的方式展现进程之间的派生关系

kill 发送信号到进程

kill -s 9 PID //杀死进程

skill 向选定的进程发送信号冻结进程 用于向选定的进程发送信号,冻结进程。这个命令初学者并不常用,深入之后牵涉到系统服务优化之后可能会用到。

killall 使用进程的名称来杀死一组进程 我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。

pkill 可以按照进程名杀死进程 pkill和killall应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill来杀掉。

查看进程所在目录

ll /proc/{PID}  //{PID}为进程pid

进程启动管理

chkconfig 检查或设置系统的各种服务

systemctl 系统服务管理器systemd指令

strace  是一个集诊断、调试、统计与一体的工具