2案例2:查看进程信息
2.1问题
本例要求掌握查看进程信息的操作,使用必要的命令工具完成下列任务:
- 找出进程gdm的PID编号值
- 列出由进程gdm开始的子进程树结构信息
- 找出进程sshd的父进程的PID编号/进程名称
- 查看当前系统的CPU负载/进程总量信息
2.2方案
查看进程的主要命令工具:
- ps aux、ps -elf:查看进程静态快照
- top:查看进程动态排名
- pstree:查看进程于进程之间的树型关系结构
- pgrep:根据指定的名称或条件检索进程
2.3步骤
实现此案例需要按照如下步骤进行。
步骤一:找出进程gdm的PID编号值
使用pgrep命令查询指定名称的进程,选项-l显示PID号、-x精确匹配进程名:
[root@svr7 ~]# pgrep -lx gdm
1584 gdm
步骤二:列出由进程gdm开始的子进程树结构信息
使用pstree命令,可以提供用户名或PID值作为参数。通过前一步已知进程gdm的PID为1584,因此以下操作可列出进程gdm的进程树结构:
[root@svr7 ~]# pstree -p 1584
gdm(1584)-+-Xorg(1703)
|-gdm-session-wor(2670)-+-gnome-session(2779)-+-gnom+
| | |-gnom+
| | |-{gno+
| | |-{gno+
| | `-{gno+
| |-{gdm-session-wor}(2678)
| `-{gdm-session-wor}(2682)
|-{gdm}(1668)
|-{gdm}(1671)
`-{gdm}(1702)
步骤三:找出进程sshd的父进程的PID编号/进程名称
要查看进程的父进程PID,可以使用ps -elf命令,简单grep过滤即可。找到进程sshd所在行对应到的PPID值即为其父进程的PID编号。为了方便直观查看,建议先列出ps表示头,以分号隔开再执行过滤操作。
[root@svr7 ~]# ps -elf | head -1 ; ps -elf | grep sshd
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
4 S root 1362 1 0 80 0 - 20636 poll_s Jan05 ? 00:00:00 /usr/sbin/sshd –D
.. .. //可获知进程sshd的父进程PID为1
然后再根据pstree -p的结果过滤,可获知PID为1的进程名称为systemd:
[root@svr7 ~]# pstree -p | grep '(1)'
systemd(1)-+-ModemManager(995)-+-{ModemManager}(1018)
步骤四:查看当前系统的CPU负载/进程总量信息
使用top命令,直接看开头部分即可;或者top -n次数:
[root@svr7 ~]# top
top - 15:45:25 up 23:55, 2 users, load average: 0.02, 0.03, 0.05
Tasks: 485 total, 2 running, 483 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.7 us, 1.0 sy, 0.0 ni, 97.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1001332 total, 76120 free, 419028 used, 506184 buff/cache
KiB Swap: 2097148 total, 2096012 free, 1136 used. 372288 avail Mem
.. ..
观察Task:485 total部分,表示进程总量信息。
观察load average:0.02,0.03,0.05部分,表示CPU处理器在最近1分钟、5分钟、15分钟内的平均出厂请求数(对于多核CPU,此数量应除以核心数)。
对于多核CPU主机,如果要分别显示每颗CPU核心的占用情况,可以在top界面按数字1进行切换:
[root@svr7 ~]# top
top - 15:47:45 up 23:57, 2 users, load average: 0.02, 0.03, 0.05
Tasks: 485 total, 2 running, 269 sleeping, 0 stopped, 1 zombie
Cpu0 : 0.6%us, 7.8%sy, 0.0%ni, 91.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.7%us, 3.7%sy, 0.0%ni, 95.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 0.7%us, 1.7%sy, 0.0%ni, 97.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 : 0.3%us, 1.0%sy, 0.0%ni, 98.3%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 16230564k total, 15716576k used, 513988k free, 326124k buffers
Swap: 8388604k total, 220656k used, 8167948k free, 11275304k cached
.. ..