Last Updated: 2023-08-19 09:59:23 Saturday
-- TOC --
top命令主要用于显示与Linux系统和进程的各种信息,它是一个可以与用户交互的命令行工具。
-d<N>
,指定top显示信息刷新间隔,单位秒,默认是3秒。其实在top内直接输入Enter
也可以手动刷新。不建议刷新频率太高,不要按住Enter不放,这个行为本身会导致top命令所占用资源的升高。
-n<N>
,刷新N此后自动退出。
-b
,batch mode,默认是interactive mode。在batch mode下,top的输出可以被重定向到其它地方。通过-n<N>
或者手动Ctrl-C退出。
-p<N1,N2,...>
,多特定PID进行监测。
-e <k|m|g|t|p>
,指定几个内存列的显示单位。(也可在交换模式下,用e
命令切换)
h|?
,显示help信息。
i
,是否显示idle任务的toggle,默认显示idle,idle很多的。
l
,小写L,top第1行信息的toggle,显示或不显示,l应该是取load average的第1个字母。
m
,memory信息的toggle。
t
,task/cpu信息的toggle。
1
,数字1,将CPU信息按多核展开显示,即能看到每个Core的统计。
H
,Task/Thread切换toggle。
在Linux中,Task对应线程,如果一个进程只有一个执行线程,此时就只是一个Task,多线程的进程就是多个Task,这多个Task共享进程资源。而Linux下的Thread,应该是包含了内核Thread,这些Thread只能运行在kernel space。
d
,设置delay时间。功能与命令行的-d<N>
相同。
R
,反向排序toggle,默认是按从大到小。
T
,切换到按进程CPU使用时间排序。
M
,切换到按进程MEM占用排序。
N
,切换到按PID排序。
P
,切换到按CPU占用排序,默认。
f
,显示字段管理。
c
,显示完整COMMAND的toggle,很可能屏幕窗口太小,此时需要用f
指令去掉部分列。
Z
,top命令界面彩色颜色显示选择。
z
,在黑白和彩色之间切换的toggle。
n|#
,设置最大任务显示数。
k
,给某个PID发信号。
%Cpu(s): 98.3 us, 1.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.5 hi, 0.2 si, 0.0 st
在多核场景下,以上数据应该是多核的某种平均值。
按1
指令,配合t
切换风格,查看每个Core的信息:
%Cpu0 : 8.1/11.1 19[ ... ]
%Cpu1 : 9.9/7.9 18[ ... ]
%Cpu2 : 16.2/9.1 25[ ... ]
%Cpu3 : 28.0/15.0 43[ ... ]
解释:
a b c d
%Cpu(s): 75.0/25.0 100[ ...
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2004 xinlin 20 0 2013936 310712 62092 S 0.3 3.9 5:08.36 gnome-s+
68200 xinlin 20 0 226556 4436 3468 R 0.3 0.1 0:03.72 top
rt
表示real time,实时。Linux下非实时进程的优先级用nice表示,范围为
-20--19
,数字越小,优先级越高。默认为0。
关于内存的显示,可以用
e
交互命令来切换单位,默认是KiB。
D
uninterruptible sleep (usually IO)I
Idle kernel threadR
running or runnable (on run queue)S
interruptible sleep (waiting for an event to complete)T
stopped by job control signalt
stopped by debugger during the tracingW
paging (not valid since the 2.6.xx kernel)X
dead (should never be seen)Z
defunct ("zombie") process, terminated but not reaped by it's parent
这个值对应的是单个Core,如果是多线程进程,这个值有可能超过100%!
通过f
指令,还有很多可选择的列。
本文链接:https://cs.pynote.net/sf/linux/sys/202302252/
-- EOF --
-- MORE --