都由systemd取代了init
作为默认的系统进程管理工具。
top:动态查看进程的变化
相对于ps是选取一个时间点的进程状态,top
可以持续监测进程运行的状态,使用方式如下:
top [-d 数字] | top [-bnp]
它的选项与参数如下:
-d
:后面可以接秒数,就是整个进程界面更新的秒数,默认是5秒。
-b
:以批量的方式执行top
,还有更多的参数可以使用,通常会搭配数据重定向来将批量的结果输出为文件。
-n
:与-b
搭配,意义是需要执行几次top
的输出结果。
-p
:指定某些PID来执行查看检测。
在top
的执行过程中可以使用下列的按键命令:
?
:显示在top
中可以输入的按键命令
P
:以CPU的使用排序显示。
M
:以Memory的使用排序显示。
N
:以PID来排序。
T
:由该进程使用的CPU时间累积(TIME+
)排序
k
:给予某个PID一个信号(signal
)。
r
:给予某个PID重新制定一个nice值。
q
:退出top
的按键。
接下来我们实际查看一下如何使用top
与top
的界面。比如以下是我们输入top -d 2
命令得到的结果,该命令表示每两秒钟更新一次top,查看整体信息。
top - 13:19:06 up 202 days, 5:00, 3 users, load average: 89.81, 75.65, 68.67
Tasks: 74 total, 1 running, 73 sleeping, 0 stopped, 0 zombie
%Cpu(s): 32.2 us, 4.5 sy, 35.7 ni, 27.5 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 52701926+total, 52750784 free, 49904712 used, 42436377+buff/cache
KiB Swap: 8388604 total, 7983868 free, 404736 used. 46639996+avail Mem
<==如果加入k或r时,就会有相关的字样出现在这里。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
38775 root 20 0 1106596 236232 37596 S 1.0 0.0 1:28.68 node
12191 root 20 0 1662128 61256 11176 S 0.5 0.0 205:36.04 python
1 root 20 0 4504 48 0 S 0.0 0.0 0:01.03 sh
7 root 20 0 65520 420 4 S 0.0 0.0 0:07.19 sshd
...
41787 root 20 0 20060 3700 32 S 0.0 0.0 0:00.01 bash
41898 root 20 0 968200 62276 33216 S 0.0 0.0 0:14.26 node
可见,top
与ps
的静态结果输出不同,top
这个进程可以持续地监测整个系统的进程任务状态。在默认的情况下更新进程资源的时间为5秒,不过可以使用-d
来执行修改。top
主要分为两部分界面,上面的界面为整个系统的资源使用状态,基本上总共有六行。至于top
下半部分的画面,则是每个进程使用的资源情况。
top
默认使用CPU使用率(%CPU
)作为排序的依据,如果你想要使用内存使用率排序,则可以按下M
键,若要恢复则按下P
键即可。如果想要退出top
,则按下q
。
参考