top 提供一个运行系统的动态实时视图。它可以显示系统摘要信息,以及目前正在由Linux内核管理的任务列表。默认情况下,它会显示运行在服务器上最占用CPU的任务,并按一定的时间间隔 更新 列表。可以通过进程标识符(PID),内存使用(%MEM),
优先级(PR), 命令名称(COMMAND) 等对进程进行排序
其中
top 是 程序的名称
10:26:33 当前时间
up 69 days, 23:39 已经运行了多长时间
2users 当前登录系统的用户数量
load average: 0.65,0.54,0.51 系统 1分钟,5分钟,15分钟 平均 负载
其中 以 %Cpu 开头 的 行
25.0 us: 运行 非 nice的 用户进程时间
0.1 sy : 运行 内核进程的时间
0.0 ni : 运行 nice的 用户 进程 的时间
74.9 id : 空闲 花费的时间
0.0 wa : IO 等待 花费的时间
0.0 hi : 服务硬件中断花费的时间
0.0 si : 服务软件中断花费 的时间
0.0 st : 通过 hypervisor 虚拟机 偷走的时间
问
什么 是 nice 值 呢 ?
1 %nice 改变过优先级的进程 的 占用 CPU 的 百分比
在Linux系统中,Nice 值的 范围从 -20 到 +19(不同系统的值范围是不一样的),正值表示低优先级,负值表示高
优先级,值为零则表示不会调整该进程的优先级。具有最高优先级的程序,其nice值最低,所以在LINUX系统中,值
-20 使得一项任务变得非常重要;与之相反,如果任务的nice为 +19,则表示它是一个高尚的,无私的任务,允许
所有其他任务比自己享有 宝贵的CPU时间的更大使用份额,这也就是nice的名称的来意
2 PRI 与 nice 有 什么关系 呢
PRI是比较好理解的,即进程的优先级,或者通俗点说就是程序被CPU执行的先后顺序,此值越小进程的优先级别越高。那NI呢?就是我们所要说的nice值了,其表示进程可被执行的优先级的修正数值。如前面所说,PRI值越小越快被执行,那么加入nice值后,将会使得PRI变为:PRI(new)=PRI(old)+nice。由此看出,PR是根据NICE排序的,规则是NICE越小PR越前(小,优先权更大),即其优先级会变高,则其越快被执行。如果NICE相同则进程uid是root的优先权更大。
其中
Kib Mem 列:
3881812 total : 总共内存
111844 free : 空闲的内存
626268 used : 已使用 的 内存
3143700 buff/cache: 用作 缓冲 和 缓存的内存
KiB Swap 列:
4063228 total : 总共虚拟内存
3776108 free : 空闲的虚拟内存
287120 used: 已使用的虚拟内存
2792048 avail Mem: 可用 虚拟内存
其中 进程 显示部分
PID 进程标识符
USER 任务拥有者(或启动者)的有效用户名
PR 任务的优先级
NI 任务的nice 值, 正数nice值 意味着较高的优先级,负数nice值意味着较低优先级,零意味着没有调整
VIRT 任务使用虚拟内存的总量,包括所有代码,数据,共享库,交换出的分页
RES 常驻内存的大小
SHR 任务所使用的共享 内存 量。可以与其他进程共享的内存
S 进程状态 D是不可中断 R是正在运行 S是睡眠 T是跟踪或停止 Z是僵尸
%CPU CPU总时间的百分比
%MEM 任务当前使用可用物理内存
TIME+ 自系统启动开始任务所使用的总共CPU时间
COMMAND 显示用于启动任务的命令行 或 相关程序 的名称
问
1 怎么看TIME+ 的 时间
从右到左分别是百分之一秒,十分之一秒,秒,十秒,分钟
如 11553:50
这个就是11553分钟,50秒,
2:32.45
则表示 2分钟,30秒,2秒,十分之4秒,百分之5秒
2 STAT 状态码有几种
D 不可中断的睡眠 (通常为IO)
R 正在运行 或 可运行 (在运行队列中)
S 可中断 的睡眠 (等待一个时间完成)
T 已停止,通过一个job控制信号或因为它正在被跟踪
X 死亡
Z 已消亡的进程,已经终止但是它的父进程还没有回收
参考资源
https://www.cnblogs.com/ningvsban/p/3938449.html