LINUX之ps,pstree,top,vmstat简单介绍

ps,pstree,top,vmstat用来查看进程或系统负载。下面介绍经常使用的命令组合,或显示内容解释。


程序,进程,线程的关系

程序:拥有某此功能(能被cpu运行的指令),可以被cpu调用运行的文件,通常都放在外部存储设备上。

进程:程序文件被调用运行时,一般都在内存中或cpu正在执行的程序。

线程:把进程中的执行任务的指令分成多个片,而每片可以单独做为一个执行流运行和调用,并且每个片可以分配到不同的cpu核心上运行。可以被单独调用的片称为线程。线程是比进程更小的调度单位。比进程更轻量级。线各可以共享进程的一些资源。


进程的状态

    运行态:running,正在运行的进程。

    睡眠态:sleeping,睡眠态是进程等待调入cpu运行的进程等待再次被调入cpu运行。分为两种。可中断和不可中断。

        可中断睡眠:interruptable,在内核给定的CPU时间片中没有完成计算任务,等待内核继续分配CPU时间片再次运行的进程。

        不可中断睡眠:uninterruptable,正在等待外部数据,而外部数据还没有输入完成,这时此进程无法被唤省,直到数据输入完成后才可以被中断。

    停止太:stopped,不会再被内核调度和运行。一般需要用户手动唤省。此进程一直占用内存,但不占用cpu。

    僵死太:zombie,每个进程都是由父进程创建和中止。父进程如果挂掉,子进程完成任务后无法自动回收,这时为僵死态。这种进程会占用内存。产生僵尸进程是由有问题的程序倒至的。只有重启系统才可以释放其战胜的内存空间。


开始介绍j_0057.gif,顺序分别是:ps-->pstree-->pgrep-->pidof-->top-->vmstat


ps  快照式显示进程状态。ps把进程分为两种,与终端相关和与终端无关的。 与终端相关的进程指的是,用户登陆后启动的进,与终端无关则是系统启动时就已经启动的守护进程。ps有两种使用风格,BSD风格和SysV风格,BSD风格使用方法不能用在参数前面加“-”,SysV则需要“-”

 bsd风格

    a 这个选项用来显示所有与终端相关的进程

    x 此选项显示与终端无关的进程

    u 以用户为中心来显示。

    

  组合使用

     示例:ps aux 以用户为中心显示所有进程 

wKiom1PLu02Rv-NvAAFHVFjvVoY753.jpg   spacer.gif各段解释

USER:此进程以那个用户身份运行

PID:进程的ID号

%CPU:占用CPU的百分比

%MEN:占用内存的百分比

VSZ:虚拟内存大小。指的是内核分配给此进程线性内存空间中,此进程所占用的空间大小。

RSS:常驻内在集。进程在内核分配线性空间中存储的数据实际都�j射在物理内存中的页面中,这些页面有些可以被转存到交换分区,有些不可以被交换,不可以被交换出去的页面叫做常驻内存级。

TTY:与那个终端相关,?为与终端无关。

STAT:进程运行状态,用R,S,s,D,T,Z,+,l,N

    R为运行态

    S为可中断睡眠

    D为不可中断睡眠

    T为停止态

    Z为僵死态

    s表示为一堆进程的领导者,说明此进程生成了一些子进程,这个进程就会被标记为s。

    +表示此进程是一个前台进程,这个进程会占用命令提示符。

    l表示此进程是一个多线程进程

    N表示此进程为低优先级进程

    <表示此进程是一个高优先级进程

START:表示启动的时间

TIME:表示运行时长

COMMAND:表示由那个程序启动的进程,用方括号“[]"括起来的表示是一个内核线程。


 自定义显示信息-o 后面跟参数。

  -o 指定额外的显示信息

   pid:进程id

   psr:运行在那个cpu

   command

   pri:优先级

   ni:nice值


  示例:ps axo pid,psr,command,pri,nispacer.gif

wKioL1PLvGegwudKAADALrof2C8186.jpg


 sysv风格

  -e 显示所有进程

  -f 显示完整格式

  -F 显示额外信息

  -H 显示进程的层次结构

组合使用

示例:ps -ef 经完整格式显示所有进程

wKiom1PLu03TevZLAADu5pBKjgs439.jpg

  spacer.gif

各段解释

UID:以那个用户身份运行

PID:进程ID

PPID:此进程父进程的PID

C:CPU累计运行时长

STIME:启动时间

TTY:运行在那个终端

TIME:执行累计时长

CMD:由那个程序启动的进程,用方括号“[]"括起来的表示是一个内核线程。



组合2

示例:ps -eFH  以层次结构显示所有进程的额外信息。

wKioL1PLvGiz4aLbAAE2GuJ962k656.jpg

UID:以那个用户身份运行

PID:进程ID

PPID:此进程父进程的PID

C:CPU累计运行时长

SZ:进程使用的内存空间

RSS:常驻内在集。实际在内存中的页面数。进程在内核分配线性空间中存储的数据实际都�j射在物理内存中的页面中,这些页面有些可以被转存到交换分区,有些不可以被交换,不可以被交换出去的页面叫做常驻内存级

PSR:进程那个CPU上运行

STIME:启动时间

TTY:运行在那个终端

TIME:执行累计时长

CMD:由那个程序启动的进程,用方括号“[]"括起来的表示是一个内核线程。



pstree 查看进程树 ,每个进程都有那些子进程,其父进程是谁。(如果显示乱码,需要修改字符编码。)



pgrep 过滤显示指定的进程

 -U 后面指定uid或用户名,只显示这个用户启动的进程。

 -G 仅显示与指定组相关用户启动的进程

 -t 仅显示与某个终端相关的进程

 -l 显示进程的名字

如: pgrep -lu root 查看以root身份运行的进程

wKiom1PLu02hDPJCAABbIrYPJCM186.jpg


pidof 查看指定进程的相关进程号

 示例:pidoff nginx

wKioL1PLvGjx4biSAABGQrXVcuY946.jpg


top 实时显示进程信息,是交互式的工具。默认按占用cpu的百分对进程排序。

top的内部命令

 t 显示或不显示进程状态和cpu使用率

 l 显示或不显示系统负载信息

 1 显示cpu整体负载或每颗cpu的负载,数字1

 m 显示或不显示交换内存和物理内存的相关信息

 M 以使用的内存百分比排序

 P 以CPU使用百分比排序

 T 累积占用CPU的时间排序

 q 退出top

 k 终止指定进程,输入pid就可以kill掉此进程。

 s 修改刷新频率,以秒为单位。默认3秒

 常用选项

  -d 5 :指定刷新频率为5秒,不会太准

  -b 批次的方式显示top的刷新,一般打来top的时候排在较下面的进程无法显示,这个选项可以让top把所有的进程一批一批的显示。

  -n 5 :指定显示几个批次后退出top


下面是每个监视项的解释

spacer.gif

wKioL1PLveKSpBuNAAOgJQ4kbCs104.jpg


 l 显示或不显示系统负载信息

wKiom1PLvMmSlPlDAALyTZawPhI950.jpg


 t 显示或不显示进程状态和cpu使用率

进程相关

spacer.gif

wKiom1PLvMrQXQgTAALJ-wL4X40096.jpg


CPU相关,1 显示cpu整体负载或每颗cpu的负载,数字1。如下

wKioL1PLveahqUb-AAPp3vh5msw422.jpg

 

spacer.gifm 显示或不显示交换内存和物理内存的相关信息

wKiom1PLvMzA6d13AANMZnlsjmA923.jpg

 

spacer.gif进程相关介绍

wKioL1PLvruSkYMzAAPhXE63IjM077.jpg


spacer.gif



vmstat 命令监控信息很全面

    -s 显示内存的统计数据。

    后面跟一个数字参数来表示每几秒刷新一次,跟二个参数第二个参数为刷新几次后退出

    vmstat 1 表示每一秒刷新一次

    vmstat 1 10 表示每一少刷新一次,刷新10次后退出。


vmstat监控内容介绍

spacer.gifwKiom1PLveuyti56AAFGOTkEEwQ709.jpg

进程队例

    r:运行队例的长度

    b:阻塞进程的队例的长度,阻塞进程一般为等待io完成。

内存信息

    swad:从内存转到交换分区的大小,(单位是kb)

    free:内存的自由空间

    buff:用于缓冲的空间,缓冲般用来加速写操作。

    cache:用于缓存的空间,缓存空间一般用来加速读操作。

交换分区信息

    si:从内存向交换分区写数据的速率,单位为kb/s.写操作较大说明内存空间小。

    so:从交换分区数据向内存写入的速率,单位也是kb/s。

system

    in:进程中断的速率,单位kb/s

    cs:进程间切换的速率,单位kb/s.

cpu

    us:用户空间应用程序使用率

    sy:内核空间使用率

    id:空闲率

    wa:等待io进程使用率

    st:虚拟程序占用cpu



监控未完等续!!!!


你可能感兴趣的:(linux,pidof)