linux top命令详解
top命令是Linux下的性能分析工具,能够实时显示系统中各个进程的CPU、内存、运行时间、交换分区、执行的线程等信息;能够发现内存不够、CPU处理能力不够、IO读写过高等系统的缺陷。
默认进入top时,各进程是按照CPU的占用量来排序的,可通过键盘指令来改变排序字段,比如想监控哪个进程占用MEM最多

top行信息:第一行系统运行时间信息,与uptime命令的执行结果一致
查看uptime命令的作用请点击:https://www.cnblogs.com/qq771293871/p/14538278.html
Tasks行信息:第二行运行进程相关信息
total:总的进程数
running:正在进行的进程数
sleeping:挂起的进程数
stopped:停止的进程数
zombie:僵尸进程数
Uninterruptible sleep:不可中断的睡眠状态
Cpu(s):第三行CPU状态信息,默认显示CPU的平均使用情况,可以通过按下键盘上的l显示各颗逻辑CPU的使用情况
us:用户空间占用CPU的百分比
sy:内核空间占用CPU的百分比
ni: 改变过优先级的进程占用CPU的百分比,linux通过nice命令修改优先级,进程的优先级越高可以获得的CPU时间越多。
id:空闲CPU百分比,持续过低表示CPU资源紧张;CPU利用率通过1-%id获取
wa:IO等待占用(输入输出)CPU的百分比
hi:CPU服务于硬件中断所耗费的时间总额,值过高时,表示当前硬件中断占用很大的百分百比
si:CPU服务软中断所耗费的时间总额。软中断就是通过软件方法来模拟硬件的中断模式,一般和网络有关系。
st:Steal Time
Mem:第四行内存状态信息
total:物理内存总量
used:使用中的内存总量,系统内核控制的内存数量
free:空闲的内存总容量,还未纳入内核管控范围的内存数量
buffers:缓存的内存量
Swap:第四行交换分区状态信息
total:交换分区总量
used:使用中的交换分区总量,这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,是真正的内存不够用用了
free:空闲的交换分区总量
cached :缓存的交换分区总量,内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。
设备的可用内存为:第四行的free + 第四行的buffers + 第五行的cached
第七行:各进程(任务)的状态监控
默认显示内容:
PID:在运行进程的所有id
USER:运行进程的用户名
PR:进程对应的优先级
NI:nice值,负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR:共享内存大小,单位kb
S: 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU:上次更新到现在的CPU时间占用百分比
%MEM:进程使用的物理内存百分比
TIME+:进程使用的CPU时间总计,单位1/100秒
COMMAND:进程名称(命令名/命令行)
其他内容:
PPID:父进程id
UID:进程所有者的ID
GROUP:进程所有者的组名
P:最后使用的CPU,仅在多CPU场景下有用
TIME:进程使用的CPU的时间总计,单位秒
SWAP:进程使用的虚拟内存中,被换出的大小,单位kb
CODE:可执行代码占用的物理内存大小,单位kb
DATA:可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
nFLT:页面错误次数
nDRT:最后一次写入到现在,被修改过的页面数
WCHAN:若该进程在睡眠,则显示睡眠中的系统函数名
显示内容的切换:
命令内容及格式:
top [-] [d] [p] [q] [c] [C] [S] [s] [n]
显示平均/各颗CPU的利用率,输入top命令,然后出入1,可以看到各颗CPU的使用情况
输入top命令后,在键盘上按下 f 或F键进入配置页面,在按下 a-z键 即可显示或隐藏对应的列,最后按回车键确定。
b 批处理模式哦
c 显示整个命令行而不只是显示命令名
d 指定每两次屏幕信息刷新之间的时间间隔。top -d 5(5秒刷新一次)
l 切换显示平均负载和启动时间信息
m 切换显示内存信息
M 根据驻留内存大小进行排序
n 设置监控的次数,比如想监控3次就退出,命令为top -n 3
o或O 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定
P 根据CPU使用百分比大小进行排序
p 通过指定监控进程ID来仅仅监控某个进程的状态
q该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行
R 键可以将当前的排序倒转
r 重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10
S 切换到累计模式
s 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加
t 切换显示进程和CPU状态信息
T 根据时间/累计时间进行排序
i 使top不显示任何闲置或者僵死进程
h或者? 显示帮助画面,给出一些简短的命令总结说明
k 终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽
W 将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

浙公网安备 33010602011771号