进程管理工具之ps top详解

ps

# 静态进程查看PS:
# 命令格式:

#           ps aux 查看系统所有进程

 


ps –l:仅仅查看自己的bash相关的进程

 

[root@shuai proc]# ps -l
F S  UID   PID  PPID  CPRI  NI ADDR SZ WCHAN  TTY         TIME CMD
4 S    0 26672 26657  0  80   0- 27148 wait   pts/2    00:00:01 bash
4 R    0 28300 26672  1  80   0- 27035 -      pts/2    00:00:00 ps


如上所示:

F:进程标志
    4:表示其权限为root
    
    1:表示只能复制,不能执行
    
S:表示进程的状态(STAT)

    R:running表示进程正在运行;
      
    S:sleep表示沉睡状态,但可以唤醒
    
    D:表示沉睡状态,但是不可以唤醒,通常这个进程可能在等待I/O的情况
    
    T:stop表示被停止的进程,暂停状态,如暂停的后台工作或者出错的进程
    
    Z:僵尸进程,进程已经被终止,



UID: 表示用户的UID

PID: 表示进程的PID号码

PPID: 表示进程父进程的PPID

C: 表示CPU的使用率,单位是百分比

PRI: 进程的优先级,数字越小优先级越高

NI: nice值,缺省为0,最高优先级为-20

ADDR: 该进程在内存中是否有占用地址,若在运行则表示为’-’

SZ: 表示该进程占用内存大小

WCHAN: 表示该进程在PS这个命令执行的时候的运行状态,’-’表示正在运行,wait表示等待运行

TTY:表示登陆终端,若是远程登陆则表示为pts/2

TIME:表示该进程使用CPU的总时间

CMD:表示启动该进程的命令COMMAND




 

ps aux :查看系统所有进程

[root@shuai proc]# ps aux
USER      PID %CPU %MEM    VSZ   RSS TTY     STAT START   TIME COMMAND
root        1  0.0  0.2 19364  1060 ?        Ss  Nov26   0:02 /sbin/init
root        2  0.0  0.0     0     0 ?        S   Nov26   0:00 [kthreadd]
root        3  0.0  0.0     0     0 ?        S   Nov26   0:00 [migration/0]
root        4  0.0  0.0     0     0 ?        S   Nov26   0:02 [ksoftirqd/0]
root        5  0.0  0.0     0     0 ?        S   Nov26   0:00 [migration/0]
root        6  0.0  0.0     0     0 ?        S   Nov26   0:01 [watchdog/0]
root        7  0.2  0.0     0     0 ?        S   Nov26   7:43 [events/0]



USR:表示该进程所属用户

PID: 表示进程的PID

%CPU: 表示该进程的CPU占用率

%MEM: 表示该进程物理内存使用率

VSZ: 表示该进程占用了多少虚拟内存

RSS:表示该进程占用了多少固定内存

TTY: 表示登陆端口

STAT:包括(R S D T Z )等

    D:不可中断的静止

    R: 正在执行中
    
    S: 静止状态
   
    T: 暂停执行
    
    Z: 不存在但暂时无法消除
   
    W: 没有足够的记忆体分页可分配
   
    <: 高优先序的行程
  
    N: 低优先序的行程
   
    L: 有记忆体分页分配并锁在记忆体内
 
START: 该进程启动时间

TIME: 表示该进程占用CPU的总时间

COMMAND: 表示触动该进程的命令




 

ps –eFH

 

[root@shuai proc]# ps -eFH
UID       PID  PPID  C   SZ   RSS PSR STIME TTY          TIME CMD
root        2     0  0    0     0   0 Nov26 ?        00:00:00 [kthreadd]
root        3     2  0    0     0   0 Nov26 ?        00:00:00   [migration/0]
root        4     2  0    0     0   0 Nov26 ?        00:00:02   [ksoftirqd/0]
root        5     2  0    0     0   0 Nov26 ?        00:00:00   [migration/0]
root        6     2 0     0     0  0 Nov26 ?        00:00:01   [watchdog/0]
root        7     2  0    0     0   0 Nov26 ?        00:07:45   [events/0]

UID: 该进程的属主ID

PID: 该进程的PID

PPID: 该进程的父进程的PPID

C: 表示该进程的CPU的使用率

SZ: 表示该进程占用物理内存的大小

RSS: 表示该进程占用固定内存的大小,也就是进程驻留内存

PSR: 该进程所在的CPU

STIME: 该进程启动的时间

TTY: 该进程所在终端

TIME: 该进程一共占用CPU时间

CMD: 运行该进程的命令


 

top

说明:
   
    监测整个系统的进程工作状态
    
    可以查看系统已经启动的时间、目前登陆的用户数、系统目前存在的进程个数、以及单个进程的数
   
    据等



 

用法:
    
    在命令行中直接输入top按回车,就会出现如上图所示的画面:
  
    top的好处就是可以实时显示系统的工作状态,不断刷新数据,还可以以某一间隔周期性的刷新数据,
   
    用户还可以指定自己想看到的内容等,具体功能就在下面一一分析。


 

参数选项:
       
       -d: 设定top刷新的时间间隔,默认为5s
         
            # top –d 1 :这样打开top之后,默认就1秒刷新一次数据
      
       -b: 进入批处理模式,通常和-n一起使用可以把结果输出到特定的文件中,-n # 表明刷新几次数据,如果不设置 -n 的话需要杀了这个进程才能停止
       
            # top –b –n 2 > /tmp/top.txt:top刷新2次数据,并把结果重定向到/tmp/top.txt中
       
       -p: 指定某个进程的PID来进行观察监测
       
            # top –p 29960 :用top观察监测PID为29960的进程


 

按键指令:
       
                   ?/h: 显示帮助信息,按键指令什么的
                
                   P: 以CPU的使用资源排序显示%CPU
                  
                   M:以内存memory的使用情况排序显示%MEM
                  
                   T:以进程使用的CPU总时长排序显示TIME+
                 
                   N:以进程的PID排序显示
                 
                   k:给予某个PID一个讯号(signal)
                  
                   r:给某个PID设定nice值
                  
                   1:是数字1,按它可以显示单个的CPU的信息
                 
                   u:在top画面按下u键,然后输入用户名称,就会过滤出与指定用户有关的进程信息


 

 

 

六行

 

如上图所示,一共有六行显示了系统的资源使用状态:

第一行:
     
                   04:56:21—>系统当前时间
                  
                   up2 days, 16:07 :系统已经启动了2天16个小时··              
                  
                    3 users:系 统的用户登录数
                  
                    loadaverage:0.00,0.00,0.00:系统整体的平均负载,第一个0.00表示最近1分钟的
                   
                    平均负载,后两个分别是最近5分钟和最近10分钟的平均负载;越小代表系统越闲置,
                   
                    如果值大于一就要注意系统是否压力过大了

第二行:各种进程

                   93total:表明进程的总量为93
                   
                   1running:1个进程正在运行
                  
                   92sleeping: 92个进程处于睡眠状态
                  
                   0stopped:0个进程处于暂停或者停止状态
                  
                   0zombie:0个进程处于将死状态,如果有进程处于僵死状态那就需要看看是哪个进程
第三行:
                  
                   0.0%us:用户程序使用cpu的百分比
                   
                   0.0%sy:系统使用cpu的百分比
                  
                   0.0%ni:
                  
                   99.0%id:CPU的空闲百分比
                 
                   0.0%wa:I/Owait的百分比,这一项要注意
                  
                   0.0%hi:硬件中断请求
                   
                   0.0%si:软件中断请求
                  
                   0.0%st:CPU被偷走的百分比,比如用于虚拟服务器等
                   
第四行:系统内存使用情况

第五行:系统交换空间使用情况

第六行:

                   PID:进程PID
                  
                   USER:发起该进程的用户
                 
                   PR:进程运行优先级,值越小运行优先级越高
                  
                   NI:进程的NICE值,默认为0,-20是最大的运行优先级
                   
                   VIRT:进程占用虚拟内存大小
                  
                   RES:进程运行时驻留内存大小
                   
                   SHR:进程运行时可以共享的内存大小
                   
                   S:进程运行状态
                   
                   %CPU:该进程运行时占用CPU的百分比
                   
                   %MEM:该进程所占用内存的百分比
                 
                   TIME+:该进程从启动,一共使用CPU时间的累加
                 
                   COMMAND:启动该进程的命令




本文出自 “那你魔鬼” 博客,请务必保留此出处http://599184429.blog.51cto.com/5147223/1587175

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。