linux ps用法大全,linux 性能篇 -- ps的用法

分析:使用ps命令

# ps -ef 显示所有进程

# ps -eo comm,pcpu 显示所有命令占用的cpu的大小

e显示所有进程,o指定命令的名字

# ps -eo comm,pmem 显示所有命令占用的mem的大小

ps工具标识进程的5种状态码:

D 不可中断 uninterruptible sleep (usually IO)

R 运行 runnable (on run queue)

S 中断 sleeping

T 停止 traced or stopped

Z 僵死 a defunct (”zombie”) process

[root@localhost ~]# ps -ef

UID PID PPID C STIME TTY TIME CMD

root 1 0 0 Jul02 ? 00:00:06 init [5]

root 2 1 0 Jul02 ? 00:00:00 [migration/0]

root 3 1 0 Jul02 ? 00:00:00 [ksoftirqd/0]

root 4 1 0 Jul02 ? 00:00:00 [watchdog/0]

root 5 1 0 Jul02 ? 00:00:00 [migration/1]

root 6 1 0 Jul02 ? 00:00:00 [ksoftirqd/1]

root 7 1 0 Jul02 ? 00:00:00 [watchdog/1]

root 8 1 0 Jul02 ? 00:00:00 [migration/2]

root 9 1 0 Jul02 ? 00:00:00 [ksoftirqd/2]

-e : 在命令执行后显示环境

-f : 完整显示输出

1) 进程用户ID(UID)

2) 进程ID (PID)

3) 父进程ID (PPID)

4) CPU 调度情况 (C)

5) 进程启动的时间 (STIME)

6) 进程共占用CPU的时间(TIME)

实例:列出目前所有的正在内存当中的程序[root@localhost test6]# ps aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.0 10368 676 ? Ss Nov02 0:00 init [3]

root 2 0.0 0.0 0 0 ? S

root 3 0.0 0.0 0 0 ? SN Nov02 0:00 [ksoftirqd/0]

root 4 0.0 0.0 0 0 ? S

root 5 0.0 0.0 0 0 ? SN Nov02 0:00 [ksoftirqd/1]

root 6 0.0 0.0 0 0 ? S

root 7 0.0 0.0 0 0 ? S

root 8 0.0 0.0 0 0 ? S

root 49 0.0 0.0 0 0 ? S

root 54 0.0 0.0 0 0 ? S

root 55 0.0 0.0 0 0 ? S

root 56 0.0 0.0 0 0 ? S

……省略部分结果

说明:

USER:该 process 属于那个使用者账号的

PID :该 process 的号码

%CPU:该 process 使用掉的 CPU 资源百分比

%MEM:该 process 所占用的物理内存百分比

VSZ :该 process 使用掉的虚拟内存量 (Kbytes)

RSS :该 process 占用的固定的内存量 (Kbytes)

TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。

STAT:该程序目前的状态,主要的状态有

R :该程序目前正在运作,或者是可被运作

S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。

T :该程序目前正在侦测或者是停止了

Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态

START:该 process 被触发启动的时间

TIME :该 process 实际使用 CPU 运作的时间

COMMAND:该程序的实际指令

实例:找出与 cron 与 syslog 这两个服务有关的 PID 号码

[root@localhost test6]# ps aux | egrep ‘(cron|syslog)’

root 2682 0.0 0.0 83384 2000 ? Sl Nov02 0:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5

root 2735 0.0 0.0 74812 1140 ? Ss Nov02 0:00 crond

root 17475 0.0 0.0 61180 832 pts/0 S+ 16:27 0:00 egrep (cron|syslog)

按cpu利用率从大到小排列

[root@lamp blog]# ps -e -o “%C : %p : %z : %a”|sort -nr |head -10

%CPU : PID : COMMAND

0.0 : 9 : [khelper]

0.0 : 945 : /sbin/rsyslogd -i /var/run/syslogd.pid -c 5

0.0 : 925 : auditd

0.0 : 8 : [cgroup]

0.0 : 7 : [events/0]

0.0 : 79 : [kstriped]

0.0 : 78 : [kdmremove]

0.0 : 751 : [kauditd]

0.0 : 709 : [ext4-dio-unwrit]查看进程按内存从大到小排列

[root@lamp blog]# ps -e -o “%C : %p : %z : %a” |sort -k5 -nr |head -10

0.0 : 1323 : 577724 : /usr/sbin/console-kit-daemon —no-daemon

0.0 : 28080 : 321388 : /usr/sbin/httpd

0.0 : 28085 : 321380 : /usr/sbin/httpd

0.0 : 28083 : 321380 : /usr/sbin/httpd

0.0 : 28087 : 321264 : /usr/sbin/httpd

0.0 : 28084 : 321264 : /usr/sbin/httpd

0.0 : 28082 : 321264 : /usr/sbin/httpd

0.0 : 28081 : 321264 : /usr/sbin/httpd

0.0 : 28086 : 321256 : /usr/sbin/httpd

0.0 : 28078 : 320640 : /usr/sbin/httpd

发表评论

表情:
评论列表 (有 0 条评论,80人围观)

还没有评论,来说两句吧...

相关阅读

    相关 linux ps 命令

    [每天一个linux命令(41):ps命令][linux_41_ps] Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进

    相关 linux--PS

    在linux中使用ps命令可以查看有哪些进程在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等. ps命令最常用的是用于监控后台进程的工作情况

    相关 linux ps命令

    Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,