Linux-top命令
2022-06-15
Linux-top命令
概念
实时显示系统进程信息的命令、内存使用情况、系统负载情况等(有点类似于Windows系统下的任务管理器)
执行权限:所有用户
命令
#TODO
快捷键
摘自:https://blog.csdn.net/Luckiers/article/details/123909819#/
Ctrl+L 擦除并且重写屏幕。
h或者? 显示帮助画面,给出一些简短的命令总结说明。
k 终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。
i 忽略闲置和僵死进程。这是一个开关式命令。
q 退出程序。
r 重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。
S 切换到累计模式。
s 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。
f或者F 从当前显示中添加或者删除项目。
o或者O 改变显示项目的顺序。
l 切换显示平均负载和启动时间信息。
m 切换显示内存信息。
t 切换显示进程和CPU状态信息。
c 切换显示命令名称和完整命令行。
M 根据驻留内存大小进行排序。
P 根据CPU使用百分比大小进行排序。
T 根据时间/累计时间进行排序。
W 将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
结果解读
解读截图(来自 https://blog.csdn.net/zhuoya_/article/details/81049967#/):
分析:top
命令截图(以我自己的云主机为例)
前5行是系统状态总览,后面是依次分析系统正在运行的每个任务的状态
-
第1行:任务队列信息(同
uptime
命令的执行结果,依次是当前时间、系统已经运行的时间、当前用户数、系统负载【即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值】) -
第2行:进程任务信息(依次是进程总数、正在运行、睡眠、停止、僵尸进程数)
-
第3行:用户空间CPU的占比
us: is meaning of "user CPU time"
sy: is meaning of "system CPU time"
ni: is meaning of" nice CPU time"
id: is meaning of "idle"
wa: is meaning of "iowait"
hi:is meaning of "hardware irq"
si : is meaning of "software irq"
st : is meaning of "steal time"
us 用户空间占用CPU百分比
sy 内核空间占用CPU百分比
ni 用户进程空间内改变过优先级的进程占用CPU百分比
id 空闲CPU百分比
wa 等待输入输出的CPU时间百分比
hi 硬件中断
si 软件中断
st: 实时
https://blog.csdn.net/sdmxdzb/article/details/84575118#/
-
第4行:内存信息(物理总内存、空闲内存、已使用、用户内核缓存量)
-
第5行:交换区量(总、空闲、已使用、作为缓存的交换分区的大小)
下面是详细进程的信息:释义来自 https://blog.csdn.net/Luckiers/article/details/123909819#/
列名 含义
PID 进程id
PPID 父进程id
RUSER Real user name
UID 进程所有者的用户id
USER 进程所有者的用户名
GROUP 进程所有者的组名
TTY 启动进程的终端名,不是从终端启动的进程则显示为 ?
PR 优先级
NI nice值,负值表示高优先级,正值表示低优先级
P 最后使用的CPU,仅在多CPU环境下有意义
%CPU 上次更新到现在的CPU时间占用百分比
l TIME 进程使用的CPU时间总计,单位秒
TIME+ 进程使用的CPU时间总计,单位1/100秒
%MEM 进程使用的物理内存百分比
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
SWAP 进程使用的虚拟内存中,被换出的大小,单位kb
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
CODE 可执行代码占用的物理内存大小,单位kb
DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
SHR 共享内存大小,单位kb
nFLT 页面错误次数
nDRT 最后一次写入到现在,被修改过的页面数
S 进程状态
D= 不可中断的睡眠状态
R= 运行
S= 睡眠
T= 跟踪/停止
Z= 僵尸进程
COMMAND 命令名/命令行
WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
Flags 任务标志,参考 sched.h
默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容。
f键:按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。 o键:可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。 大写的F或O键:然后按 a-z 可以将进程按照相应的列进行排序。而大写的 R 键可以将当前的排序倒转。
发现问题
利用top发现系统问题
new add1
参考链接
https://m.runoob.com/linux/linux-comm-top.html#/
https://blog.csdn.net/qq_19922839/article/details/120011790#/
https://blog.csdn.net/zhuoya_/article/details/81049967#/
http://t.zoukankan.com/hehehaha-p-6332818.html#/