详解top命令

Last Updated: 2023-08-19 09:59:23 Saturday

-- TOC --

top命令主要用于显示与Linux系统和进程的各种信息,它是一个可以与用户交互的命令行工具。

top命令行选项

-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命令切换)

在top命令内的交互指令

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发信号。

详解top命令中的CPU信息

%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[ ...

详解top列表字段

   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

Linux下非实时进程的优先级用nice表示,范围为-20--19,数字越小,优先级越高。默认为0。

关于内存的显示,可以用e交互命令来切换单位,默认是KiB。

这个值对应的是单个Core,如果是多线程进程,这个值有可能超过100%!

通过f指令,还有很多可选择的列。

本文链接:https://cs.pynote.net/sf/linux/sys/202302252/

-- EOF --

-- MORE --