《NetBSD指南-18.4.3.ps》

NetBSD用户指南中文版、NetBSD pkgsrc指南中文版...

版主: lionux

主题已锁定
头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

《NetBSD指南-18.4.3.ps》

帖子 leo » 2010-03-05 13:42

使用 ps(1) 命令或进程状态, 可以发现很多系统信息。 多数情况下, ps命令通过名称、组、所有人来区分特定的进程。
调用ps时不带任何参数或选项, ps只简单地显示用户运行的进程。

代码: 全选

$ ps
  PID TT STAT    TIME COMMAND
21560 p0 Is   0:00.04 -tcsh
21564 p0 I+   0:00.37 ssh jrf.odpn.net
21598 p1 Ss   0:00.12 -tcsh
21673 p1 R+   0:00.00 ps
21638 p2 Is+  0:00.06 -tcsh
很简单. 这些区域的意思很明朗,除了STAT的含义,它的意思是进程的运行状态。在用户手册里对这些标签的含义有详尽的解释,
不管怎样, 上例中, I 代表 idle (闲置), S 代表 sleeping (睡着了), R 代表 runnable(可运行的), 而这里的 + 代表这个进
程处于前台运行状态, 而 s 表示这个进程是session leader。这些看看标签很容易理解, 例如, PID 21560 是一个shell, 它处
于空闲状态并且(你可以想象得出) 这个shell 是process leader.

在多数情况下, 用户在进程中寻找很具体的东西。 例如, 查看所有进程使用 -a, 看所有进程加上没有控制终端的使用 -ax ,而
要获得更详尽的输出信息 (基本上是所有的信息了)使用 aux:

代码: 全选

# ps aux
USER     PID %CPU %MEM    VSZ  RSS TT STAT STARTED    TIME COMMAND
root       0  0.0  9.6      0 6260 ?? DLs  16Jul02 0:01.00 (swapper)
root   23362  0.0  0.8    144  488 ?? S    12:38PM 0:00.01 ftpd -l
root   23328  0.0  0.4    428  280 p1 S    12:34PM 0:00.04 -csh
jrf    23312  0.0  1.8    828 1132 p1 Is   12:32PM 0:00.06 -tcsh
root   23311  0.0  1.8    388 1156 ?? S    12:32PM 0:01.60 sshd: jrf@ttyp1
jrf    21951  0.0  1.7    244 1124 p0 S+    4:22PM 0:02.90 ssh jrf.odpn.net
jrf    21947  0.0  1.7    828 1128 p0 Is    4:21PM 0:00.04 -tcsh
root   21946  0.0  1.8    388 1156 ?? S     4:21PM 0:04.94 sshd: jrf@ttyp0
nobody  5032  0.0  2.0   1616 1300 ?? I    19Jul02 0:00.02 /usr/pkg/sbin/httpd
...
还是那句话, 这里多数的区域已经描述的很清楚了,除了 VSZ 和 RSS 有些不明确外。 RSS 是一个进程的real size(以1024字节为
单位),而 VSZ 是 virtual size. 这很重要, 但是再说一遍, ps 如何帮助我们? 看下例中经过修改的输出结果:

代码: 全选

# ps aux
USER     PID %CPU %MEM    VSZ  RSS TT STAT STARTED    TIME COMMAND
root       0  0.0  9.6      0 6260 ?? DLs  16Jul02 0:01.00 (swapper)
root   23362  0.0  0.8    144  488 ?? S    12:38PM 0:00.01 ftpd -l
root   23328  0.0  0.4    428  280 p1 S    12:34PM 0:00.04 -csh
jrf    23312  0.0  1.8    828 1132 p1 Is   12:32PM 0:00.06 -tcsh
root   23311  0.0  1.8    388 1156 ?? S    12:32PM 0:01.60 sshd: jrf@ttyp1
jrf    21951  0.0  1.7    244 1124 p0 S+    4:22PM 0:02.90 ssh jrf.odpn.net
jrf    21947  0.0  1.7    828 1128 p0 Is    4:21PM 0:00.04 -tcsh
root   21946  0.0  1.8    388 1156 ?? S     4:21PM 0:04.94 sshd: jrf@ttyp0
nobody  5032  9.0  2.0   1616 1300 ?? I    19Jul02 0:00.02 /usr/pkg/sbin/httpd
...
根据这台服务器提供的数据, 我们可以看出这是一个不太忙碌的系统,PID 5032 不寻常地占用了大量的%CPU,有时这也会导致高TIME值.
ps命令可以用来检索PID, 用户名和进程名,而且可据此查出可能导致问题的进程。

主题已锁定

在线用户

正浏览此版面之用户: 没有注册用户 和 0 访客