7.3 进程的观察:ps、top

如果想要查看进程,了解当前进程的情况就需要用到相关命令了。其中,ps命令就是一款非常强大的进程查看工具。该命令语法格式如下:


  1. [root@localhost ~]# ps
  2. 参数
  3. #ps
  4. 的参数非常多,
  5. 在此列出一些常用的参数
  6. #-A
  7. 列出所有的进程,和-e
  8. 有同样的效果
  9. #-a
  10. 列出不和本终端有关的所有进程
  11. #-w
  12. 显示加宽可以显示较多信息
  13. #-u
  14. 显示有效使用者相关的进程
  15. #aux
  16. 显示所有包含其他使用者的进程
  17. #
  18. 使用aux
  19. 参数的输出:
  20. #USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  21. #USER:
  22. 进程拥有者
  23. #PID: pid
  24. #%CPU:
  25. 占用的CPU
  26. 使用率
  27. #%MEM:
  28. 占用的内存使用率
  29. #VSZ:
  30. 占用的虚拟内存大小
  31. #RSS:
  32. 占用的内存大小
  33. #TTY:
  34. 运行的终端的号码
  35. #STAT:
  36. 进程状态:
  37. #D:
  38. 不可中断
  39. #R:
  40. 运行中
  41. #S:
  42. 休眠
  43. #T:
  44. 暂停
  45. #Z:
  46. 僵尸进程
  47. #W:
  48. 没有足够的内存可分配
  49. #<:
  50. 高优先级的行程
  51. #N:
  52. 低优先级的行程
  53. #START:
  54. 进程开始时间
  55. #TIME:
  56. 累计使用CPU
  57. 的时间
  58. #COMMAND:
  59. 执行的命令

命令ps输出的只是当前查询状态下进程瞬间的状态信息,如果要想及时动态地查看进程就需要使用top命令了。top命令提供了实时的系统状态监控,可以按照CPU使用、内存使用、执行时间等指标对进程进行排序。图7-1是运行top命令时的输出。

7.3 进程的观察:ps、top - 图1

图7-1 运行top命令时的输出

图7-1中的第一行是服务器基础信息,包括top命令的刷新时间为13:37:47,系统已经启动的时间为100天19个小时又两分钟,当前有1个用户登录,系统的负载(load average)为:最近1分钟内的平均系统负载为0.05,最近5分钟内的平均系统负载为0.02,最近15分钟内的平均系统负载为0.00(这说明系统基本是闲置的)。

第二行是当前系统进程概况,一共有69个进程,其中1个正在运行中,68个处于休眠,没有停止的进程,没有僵尸进程。

第三行是CPU信息,us代表用户空间占用的CPU百分比,sy代表内核空间占用的CPU百分比,ni代表改变过优先级的进程占用的CPU百分比,id代表空闲CPU百分比,wa代表I/O等待百分比,hi代表硬中断占用的CPU百分比,si代表软中断占用的CPU百分比。现代计算机一般有多核CPU,要想查看每个逻辑CPU的使用情况,可以在top显示界面中按数字键1。

第四行是物理内存的使用状态,从左到右分别表示物理内存总量、已使用的内存、空闲内存、缓存使用的内存。

第五行是虚拟内存的使用状态,其中,前三列和物理内存的意义一致,最后一个是代表缓冲的交换区总量。

再往下的所有信息就是动态的进程信息了,表7-1中给出了这部分每一列的含义。

进程信息区中的信息只是top默认显示的11个字段,如果要显示更多的字段,可以在top显示界面中按字母键f。按该键后,前面打了*号的就是当前显示的字段,要想显示更多的字段可以按一下字段前面的字母对应的键。比如,本例中按了b和c键,选中后按回车键即可返回top显示界面,如图7-2所示。

另外,默认情况下top显示的进程是按照CPU使用率来进行排序的,如果要另选排序规则怎么办呢?可以按大写字母O键进入排序选择页,然后按一下字段前面的字母对应的键来选择排序字段,之后按回车键返回即可,如图7-3所示。

表7-1 top命令动态进程信息中每列的含义

7.3 进程的观察:ps、top - 图2

7.3 进程的观察:ps、top - 图3

图7-2 显示更多动态字段

7.3 进程的观察:ps、top - 图4

图7-3 选择排序方式

在top显示页面中还有一些快捷键可以使用,比如按字母P键表示按照CPU的使用率排序,按字母M键表示按照Memory的使用率排序,按字母N键表示以PID排序,按字母T键表示按照CPU使用时间排序,按字母K键则表示kill进程,按字母R键表示可以renice一个进程等。注意快捷键是区分大小写的。更多可用的方式可以按问号(?)键进入帮助模式。