《NetBSD指南-18.4.3.ps》
发表于 : 2010-03-05 13:42
使用 ps(1) 命令或进程状态, 可以发现很多系统信息。 多数情况下, ps命令通过名称、组、所有人来区分特定的进程。
调用ps时不带任何参数或选项, ps只简单地显示用户运行的进程。
很简单. 这些区域的意思很明朗,除了STAT的含义,它的意思是进程的运行状态。在用户手册里对这些标签的含义有详尽的解释,
不管怎样, 上例中, I 代表 idle (闲置), S 代表 sleeping (睡着了), R 代表 runnable(可运行的), 而这里的 + 代表这个进
程处于前台运行状态, 而 s 表示这个进程是session leader。这些看看标签很容易理解, 例如, PID 21560 是一个shell, 它处
于空闲状态并且(你可以想象得出) 这个shell 是process leader.
在多数情况下, 用户在进程中寻找很具体的东西。 例如, 查看所有进程使用 -a, 看所有进程加上没有控制终端的使用 -ax ,而
要获得更详尽的输出信息 (基本上是所有的信息了)使用 aux:
还是那句话, 这里多数的区域已经描述的很清楚了,除了 VSZ 和 RSS 有些不明确外。 RSS 是一个进程的real size(以1024字节为
单位),而 VSZ 是 virtual size. 这很重要, 但是再说一遍, ps 如何帮助我们? 看下例中经过修改的输出结果:
根据这台服务器提供的数据, 我们可以看出这是一个不太忙碌的系统,PID 5032 不寻常地占用了大量的%CPU,有时这也会导致高TIME值.
ps命令可以用来检索PID, 用户名和进程名,而且可据此查出可能导致问题的进程。
调用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
不管怎样, 上例中, 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 是 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
...
ps命令可以用来检索PID, 用户名和进程名,而且可据此查出可能导致问题的进程。