Linux进程管理三剑客ps、htop、dstat

来源:互联网 发布:手机淘宝如何取消代付 编辑:程序博客网 时间:2024/05/29 08:24

ps命令

Unix有两种主要分支:官方的Unix(AT&T)和非官方的Unix(加利福利亚大学伯克利分校)。UNIX(“带-“)和BSD(不带东西)都有自己的ps版本,并且ps版本都很出名,并被广泛使用。最终结果是许多现代版本的ps都同时支持两种类型的选项,即所谓的Unix选项和BSD选项。而且还有一组选项支持GUN的选项.

所以不要在同一个命令中使用两种类型的选项.
下面将详细叙述一下几组常见的组合:

ps -l

这里写图片描述

F与进程相关的标志(flag),4表示使用者为super user
S状态代码(D\R\S\T\Z)

R:running,运行或运行队列等待S:interruptable sleeping,可中断睡眠,等待事件结束D:uninterruptable sleeping,不可中断睡眠,等待事件结束T:Stopped,挂起:由作业控制信号挂起或者因为追踪而被挂起Z:zombie,僵进程:终止后,父进程没有等待

PID:进程id
PPID:父进程的id
C:CPU利用率
PRI:priority,优先级(较大数字=较低优先级)
NI:nice值,用于设置优先级
ADDR:进程表中的虚拟地址
SZ:物理页的大小(内存管理),使用掉的内存大小
WCHAN:等待通道(wait表等待,-表运作)
TTY:控制终端的名称
TIME:累计(使用)CPU时间
CMD:正被执行的命令名称

ps aux

这里写图片描述

PID:该进程的进程id
VSZ:该进程所使用虚拟内存大小,单位为KB
RSS:该进程占用的固定内存大小,单位为KB
TTY:控制该进程终端的名称,若与终端机无关,则显示 ?
STAT:该进程状态代码
START:定时启动的事件
TIME:该 process 实际使用 CPU 运作的时间。
COMMAND:正在执行该进程命令的完整名称

ps -ef(-e:显示所有进程,-f:显示完整格式的进程信息)

这里写图片描述

STIME:累计系统时间

ps -eFH

这里写图片描述

PSR:运行于哪块CPU之上

ps axo 自定义要显示的字段列表,以逗号分隔


htop(监视系统进程,top升级版)

下载要到epel源上下载
这里写图片描述
PID:进行的标识号
USER:运行此进程的用户
PRI:进程的优先级
NI:进程的优先级别值,默认的为0,可以进行调整
VIRT:进程占用的虚拟内存值
RES:进程占用的物理内存值
SHR:进程占用的共享内存值
S:进程的运行状况,R表示正在运行、S表示休眠,等待唤醒、Z表示僵死状态
%CPU:该进程占用的CPU使用率
%MEM:该进程占用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间
COMMAND:进程启动的启动命令名称


F1显示帮助信息,也可以用鼠标点
这里写图片描述

dstat(很强大,融合以上命令功能)

这里写图片描述
CPU状态:CPU的使用率。这项报告更有趣的部分是显示了用户,系统和空闲部分,这更好地分析了CPU当前的使用状况。如果你看到”wait”一栏中,CPU的状态是一个高使用率值,那说明系统存在一些其它问题。当CPU的状态处在”waits”时,那是因为它正在等待I/O设备(例如内存,磁盘或者网络)的响应而且还没有收到。

磁盘统计:磁盘的读写操作,这一栏显示磁盘的读、写总数。

网络统计:网络设备发送和接受的数据,这一栏显示的网络收、发数据总数。

分页统计:系统的分页活动。分页指的是一种内存管理技术用于查找系统场景,一个较大的分页表明系统正在使用大量的交换空间,或者说内存非常分散,大多数情况下你都希望看到page in(换入)和page out(换出)的值是0 0。

系统统计:这一项显示的是中断(int)和上下文切换(csw)。这项统计仅在有比较基线时才有意义。这一栏中较高的统计值通常表示大量的进程造成拥塞,需要对CPU进行关注。你的服务器一般情况下都会运行运行一些程序,所以这项总是显示一些数值。

默认情况下,dstat每秒都会刷新数据。如果想退出dstat,你可以按”CTRL-C”键。 也可以用dstat 2 3 ,2秒一次,测3次。

常用选项:
-c, –cpu:显示cpu相关信息;
-C #,#,…,total
-d, –disk:显示磁盘的相关信息
-D sda,sdb,…,tobal
-g:显示page相关的速率数据;
-m:Memory的相关统计数据
-n:Interface的相关统计数据;
-p:显示process的相关统计数据;
-r:显示io请求的相关的统计数据;
-s:显示swapped的相关统计数据;

          --tcp           --udp          --raw           --socket           --ipc           --top-cpu:显示最占用CPU的进程;          --top-io:最占用io的进程;          --top-mem:最占用内存的进程;          --top-lantency:延迟最大的进程;
0 0