参考
《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 | 进程优先级 |
NI | nice值用来控制进程优先级 对应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 是一个集诊断、调试、统计与一体的工具