Linux 查看进程资源ps、top命令详解

青旅半醒 2022-05-29 12:36 505阅读 0赞

1、ps命令

  1. ps能够给出当前系统中进程的快照。它能捕获系统在某一事件的进程状态
  2. 命令参数:
  3. a 显示所有进程
  4. -a 显示同一终端下的所有程序
  5. -A 显示所有进程
  6. c 显示进程的真实名称
  7. -N 反向选择
  8. -e 等于“-A
  9. e 显示环境变量
  10. f 显示程序间的关系
  11. -H 显示树状结构
  12. r 显示当前终端的进程
  13. T 显示当前终端的所有程序
  14. u 指定用户的所有进程
  15. -au 显示较详细的资讯
  16. -aux 显示所有包含其他使用者的行程
  17. -C<命令> 列出指定命令的状况

—lines<行数> 每页显示的行数
—width<字符数> 每页显示的字符数
—help 显示帮助信息
—version 显示版本显示

常用实例:

  1. ps -u root 查看root用户的进程
  2. ps -ef 显示所有进程信息,包括命令行
  3. ps aux 列出目前所有的正在内存当中的程序
  4. ps -aux --sort -pcpu | less 根据CPU使用升序排序
  5. ps-aux --sort -pmem | less 根据内存使用大小排序

[root@localhost ~]# ps aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
smmsp 3521 0.0 0.7 6556 1616 ? Ss 20:40 0:00 sendmail: Queue runner@01:00:00 f
root 3532 0.0 0.2 2428 452 ? Ss 20:40 0:00 gpm -m /dev/input/mice -t imps2
htt 3563 0.0 0.0 2956 196 ? Ss 20:41 0:00 /usr/sbin/htt -retryonerror 0
htt 3564 0.0 1.7 29460 3704 ? Sl 20:41 0:00 htt_server -nodaemon
root 3574 0.0 0.4 5236 992 ? Ss 20:41 0:00 crond
xfs 3617 0.0 1.3 13572 2804 ? Ss 20:41 0:00 xfs -droppriv -daemon
root 3627 0.0 0.2 3448 552 ? SNs 20:41 0:00 anacron -s
root 3636 0.0 0.1 2304 420 ? Ss 20:41 0:00 /usr/sbin/atd
dbus 3655 0.0 0.5 13840 1084 ? Ssl 20:41 0:00 dbus-daemon-1 —system

ps aux显示项解析:

USER 用户名
UID 用户ID(User ID)
PID 进程ID(Process ID)
PPID 父进程的进程ID(Parent Process id)
SID 会话ID(Session id)
%CPU 进程的cpu占用率
%MEM 进程的内存占用率
VSZ 进程所使用的虚存的大小(Virtual Size)
RSS 进程使用的驻留集大小或者是实际内存的大小,Kbytes字节
TTY 与进程关联的终端(tty)
STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)
R 运行 正在运行或在运行队列中等待
S 睡眠 休眠中, 受阻, 在等待某个条件的形成或接受到信号
I 空闲
Z 僵死 进程已终止, 但进程描述符存在
D 不可中断 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。
T 终止 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。
P 等待交换页
W 无驻留页 没有足够的记忆体分页可分配。
X 死掉的进程
< 高优先级进程 高优先序的进程
N 低优先 级进程 低优先序的进程
L 内存锁页 有记忆体分页分配并缩在记忆体内
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)

  1. + 位于后台的进程组

START 进程启动时间和日期
TIME 进程使用的总cpu时间
COMMAND 正在执行的命令行命令

2,top命令

[root@localhost ~]# top (默认3秒刷新)

top - 12:38:33 up 50 days, 23:15, 7 users, load average: 60.58, 61.14, 61.22

Tasks: 203 total, 60 running, 139 sleeping, 4 stopped, 0 zombie

Cpu(s) : 27.0%us, 73.0%sy, 0.0%ni, 90%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Mem: 1939780k total, 1375280k used, 564500k free, 109680k buffers

Swap: 4401800k total, 497456k used, 3904344k free, 848712k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

4338 oracle 25 0 627m 209m 207m R 0 11.0 297:14.76 oracle

4267 oracle 25 0 626m 144m 143m R 6 7.6 89:16.62 oracle

3458 oracle 25 0 672m 133m 124m R 0 7.1 1283:08 oracle

3478 oracle 25 0 672m 124m 115m R 0 6.6 1272:30 oracle

3395 oracle 25 0 672m 122m 113m R 0 6.5 1270:03 oracle

3480 oracle 25 0 672m 122m 109m R 8 6.4 1274:13 oracle

3399 oracle 25 0 672m 121m 110m R 0 6.4 1279:37 oracle

TOP前五行统计信息

统计信息区前五行是系统整体的统计信息。

  1. 第一行是任务队列信息

同 uptime 命令的执行结果一样

13:22:30 up 8 min, 7 users, load average: 0.14, 0.38, 0.25

其内容如下:




















12:38:33

当前时间

up 50days

系统运行时间

7 user

当前登录用户数

load average: 0.06, 0.60, 0.48

系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

  1. 第二、三行为进程和CPU的信息

当有多个CPU时,这些内容可能会超过两行。内容如下:




















































Tasks: 203 total

进程总数

60 running

正在运行的进程数

139 sleeping

睡眠的进程数

4 stopped

停止的进程数

0 zombie

僵尸进程数

Cpu(s): 27%us

用户空间占用CPU百分比

73.0% sy

内核空间占用CPU百分比

0.0% ni

用户进程空间内改变过优先级的进程占用CPU百分比

90% id

空闲CPU百分比

0.0% wa

等待输入输出的CPU时间百分比





  1. 第四五行为内存信息。

内容如下:




































Mem: 191272k total

物理内存总量

173656k used

使用的物理内存总量

17616k free

空闲内存总量

22052k buffers

用作内核缓存的内存量

Swap: 192772k total

交换区总量

0k used

使用的交换区总量

192772k free

空闲交换区总量

123988k cached

缓冲的交换区总量,内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入

进程信息解释:
















































































































列名

含义

PID

进程id

PPID

父进程id

RUSER

Real user name

UID

进程所有者的用户id

USER

进程所有者的用户名

GROUP

进程所有者的组名

TTY

启动进程的终端名

PR

优先级

NI

nice值,负值表示高优先级,正值表示低优先级

P

最后使用的CPU,仅在多CPU环境下有意义

%CPU

上次更新到现在的CPU时间占用百分比

TIME

进程使用的CPU时间总计,单位秒

TIME+

进程使用的CPU时间总计,单位1/100秒

%MEM

进程使用的物理内存百分比

VIRT

进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

SWAP

进程使用的虚拟内存中,被换出的大小,单位kb

RES

进程使用的、未被换出的物理内存大小,单位kb

RES=CODE+DATA

CODE

可执行代码占用的物理内存大小,单位kb

DATA

可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb

SHR

共享内存大小,单位kb

nFLT

页面错误次数

nDRT

最后一次写入到现在,被修改过的页面数

S

进程状态
            D=不可中断的睡眠状态
            R=运行
            S=睡眠
            T=跟踪/停止
            Z=僵尸进程

COMMAND

命令名/命令行

WCHAN

若该进程在睡眠,则显示睡眠中的系统函数名

Flags

任务标志,参考 sched.h

发表评论

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

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

相关阅读