查看进程或线程
~# top -H -b -n 1 -p 2888268
top - 10:31:31 up 1 day, 19:05, 3 users, load average: 1.05, 1.15, 1.17
Threads: 111 total, 0 running, 111 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4.5 us, 2.1 sy, 0.0 ni, 92.0 id, 1.3 wa, 0.0 hi, 0.2 si, 0.0 st
KiB Mem: 65093492 total, 25315572 used, 39777920 free, 461544 buffers
KiB Swap: 0 total, 0 used, 0 free. 3273276 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2888268 ceph 20 0 3288476 1.307g 18856 S 0.0 2.1 0:01.56 ceph-osd
2888305 ceph 20 0 3288476 1.307g 18856 S 0.0 2.1 1:13.50 log
2888325 ceph 20 0 3288476 1.307g 18856 S 0.0 2.1 4:32.25 msgr-worker-0
2888326 ceph 20 0 3288476 1.307g 18856 S 0.0 2.1 3:43.48 msgr-worker-1
2888327 ceph 20 0 3288476 1.307g 18856 S 0.0 2.1 3:00.98 msgr-worker-2
2888374 ceph 20 0 3288476 1.307g 18856 S 0.0 2.1 0:00.16 service
2888375 ceph 20 0 3288476 1.307g 18856 S 0.0 2.1 0:52.91 admin_socket
2888376 ceph 20 0 3288476 1.307g 18856 S 0.0 2.1 0:00.00 signal_handler
2888505 ceph 20 0 3288476 1.307g 18856 S 0.0 2.1 0:00.00 ceph-osd
2888506 ceph 20 0 3288476 1.307g 18856 S 0.0 2.1 0:00.72 ceph-osd
...
其中各选项的含义如下:
-H
查看线程,-b
批量输出模式,-n 1
只输出一次,-p
指定进程号
~# ps -T -p 2888268
PID SPID TTY TIME CMD
2888268 2888268 ? 00:00:01 ceph-osd
2888268 2888305 ? 00:01:14 log
2888268 2888325 ? 00:04:33 msgr-worker-0
2888268 2888326 ? 00:03:44 msgr-worker-1
2888268 2888327 ? 00:03:02 msgr-worker-2
2888268 2888374 ? 00:00:00 service
2888268 2888375 ? 00:00:54 admin_socket
2888268 2888376 ? 00:00:00 signal_handler
2888268 2888505 ? 00:00:00 ceph-osd
...
其中各选项的含义如下:
-T
查看线程,-p
指定进程号
相对来说 ps 更为简单,但 top 可以动态的查看各线程的 CPU 资源占用(不使用 -b, -n
参数)。
top 基本使用方法
- 在启动时,指定列进行排序
top -o %MEM
top -o RES
-o
选项指定需要排序的列;
- 在 top 启动之后,指定列进行排序
按 shift + f
,根据提示选择需要排序的列,然后按 s
即可,top 会在上方显示详细的使用方法,因此只需要记住 shift + f
组合键即可;
- 在 top 启动后,增加或减少显示的列
按 f
,根据提示选择需要增加或减少显示的列即可,top 会在上方显示详细的使用方法,因此只需要记住 f
按键即可;
- 调整 top 中显示的内存使用量的显示单位
默认 top 以 KiB
为单位显示,按 e
可以在 K/M/G/T/PiB
之间切换。
ps 基本使用方法
- 日常使用
ps aux
- 显示父进程
ps -efj
- 显示进程的启动时间
ps -eo pid,lstart,cmd
最后修改于 2019-01-23