进程管理工具:ps,top,htop,dstat

进程列表查看,系统资源使用情况查看,比如CPU占用情况,内存使用情况,网络IO,硬盘IO等等。本文介绍的几款工具帮您实现。

进程是指运行中的程序的一个副本,进程的有关信息映射在/proc/#下,ps等工具通过加工/proc/下文件而显示出进程列表。

linux内核属于抢占式多任务式,内核将CPU处理时间按时间片分配给各个进程,这里有一个优先级的问题,优先级越高,最先被处理。

进程有140个队列,0~139。

1-99属于实时优先级,数字越大优先级越高;

100-139属于静态优先级,数字越小优先级越高,对应着nice值-19~20,可以调整nice值来改变进程优先级。

再来简单介绍进程状态:

1、运行态:running,正在运行的进程,或是等待运行在CPU队列上。

2、睡眠态:分为两种

     (1)可中断:Interruptable,接受控制信号

      (2)不可中断:Uninterruptable,不接受控制信号

3、停止态:stopped,暂停与内存中,除非手动调度。

4、僵死态:zombie,执行完毕的进程,等待释放资源。

一、ps命令

ps – 报告当前进程的快照。

ps命令接受3种风格的选项指定:

    1、BSD风格,选项不带“-”

    2、UNIX风格,选项带“-”

    3、GNU风格,长选项“–”

1、BSD风格

选项

    a:所有与终端相关的进程

    x:所有与终端无关的进程

    u:以用户为中心组织进程状态信息

    o:指定显示字段

        常用字段:pid,ni,psr,pcpu,pmem,priority,stat,comm

常用组合ps aux ,ps axo user,pid,comm

blob.png

对第一行字段中

VSZ:占用的虚拟内存集大小

RSS:Resident Size,常驻内存集大小

STAT:进程状态

    R:runing

    S:interruptable sleeping

    D:uninterruptable sleeping

    T:stopped

    Z:zombie

        +:表示前台进程

        s:session leader,拥有子进程

        l:多线程的进程

        N:低优先级进程

        <:高优先级进程

        L:在内存中有锁定的页

2、UNIX风格

选项

    -e:显示所有进程

    -f:显示完整格式

    -F:显示更多字段

    -o:自定义字段显示

    -H:显示层级结构

常用组合:ps -ef,ps -efH,ps -eo pid,pcpu,comm

blob.png

C:cpu占用百分比

二、top命令

top – 显示linux任务列表

动态方式提供运行系统视图,显示汇总信息及进程列表。

常用选项

    -d # 指定刷新间隔时间

    -b  以批次显示,用于输出

    -n # 显示多少批次

    -M/G 指定内存单位,默认为KB

$ top -M

blob.png

load average:过去1分钟,5分钟,15分钟的平均负载,等待CPU队列长度。

Cpu一行:

    us:用户空间

    sy:系统空间

    ni:nice进程

    id:空闲进程

    wa:等待io进程

    hi:硬中断

    si:软中断

    st:steal,虚拟化占用的百分比

进程列表字段

    VIRT:Virtual Image (kb),虚拟内存集

    RES:Resident size (kb),常驻内存集

    SHR:Shared Mem size (kb),共享内存集

交互按钮

1)排序

    P:按占用cpu百分比排序

    M:按占用内存排序

    T:按累积占用cpu时间排序

    R:反转排序次序

    <,>:移动排序的字段

2)修改刷新时间:s

3)停止进程:k

4)退出:q

三、htop命令

htop类似与top工具,但是支持垂直和水平滚动,这样可以看到所有进程的信息。

另外使用htop需要从epel源安装。

用法:htop [-dChusv]

-d 刷新间隔,单位十分之一秒

-p pid… 查看指定pid列表

-u 查看指定用户的进程列表

blob.png

快捷键F1~F10,帮助,设置,查询,过滤,树形结构,排序选择,nice值更改,停止进程,退出。

几项特别功能快捷键:

l:列出进程打开的文件列表

s:跟踪选定进程的系统调用

t:层级结构关系显示

a:绑定指定CPU

四、dstat命令

dstat – 用来生成系统资源统计数据的多功能工具,十分强大。

dstat可以取代vmstat,iostat,ifstat工具。dstat克服了一些老工具的短板问题,而且新加很多功能。

另外需要从epel源安装。

用法: dstat [-afv] [options..] [delay [count]]

选项:

    -c 显示cpu统计

    -C #,# 显示指定cpu统计。以下大写选项均类似。

    -d 显示磁盘统计

    -D sda

    -n 显示网络统计(接收,发送)

    -N eth0

    -m 显示内存统计

    -s 显示交互分区统计

    -r 显示IO请求统计

    -g 显示page相关速率统计(page in, page out)

    -p 显示进程相关统计(runnable, uninterruptible, new)

    -y 显示系统统计(interrupts, context switches)

默认选项为-cdngy

$ dstat

blob.png

$ dstat -v   #equals -pmgdsc -D total

blob.png

长选项:

    –fs  显示文件系统统计(open files, inodes)

    –tcp  显示tcp统计(listen, established, syn, time_wait, close)

    –udp  显示udp统计

    –raw  显示裸套接字统计

    –socket 显示套接字统计(total, tcp, udp, raw, ip-fragments)

blob.png

插件:

dstat支持用户开发插件加入到dstat中,下面介绍一些实用插件

    –freespace  文件系统使用量

    –top-bio  最耗费块设备IO的进程

    –top-io  最耗费IO的进程

    –top-cpu  最耗费cpu的进程

    –top-cputime  占用cpu时间最多的进程

    –top-mem  最耗费内存的进程

    –top-latency  延迟最大的进程 

$ dstat --top-{io,bio,cpu,cputime,mem,latency}

blob.png

原创文章,作者:cutemsyu,如若转载,请注明出处:http://www.178linux.com/47395

(0)
上一篇 2016-09-22 10:04
下一篇 2016-09-22 15:54

相关推荐

  • yum

    yum yum:YellowdogUpdate Modifier,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具 yum repository: yum repo,存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)文件服务器:http://https://ftp://file:// …

    2017-08-17
  • ngx_http_proxy_module

    ngx_http_proxy_module 1.proxy_pass Syntax: proxy_pass URL; Context: location, if in location, limit_except 这条指令将来是用的相当多的指令。 v  附加1:proxy_pass后面的路径不带uri时,其会将loca…

    2016-10-30
  • linux 下的文件压缩与解压

    文件压缩 压缩原理:把文件的二进制代码压缩,把相邻的0,1代码减少,比如有000000,可以把它变成6个0 的写法60,来减少该文件的空间。 目的:时间换空间,cpu时间–>空间 压缩文件工具:    compress|uncompress 压缩后的文件.z    gzip|gunzip  …

    Linux干货 2016-08-21
  • LNMP编译安装-week16

    1、源码编译安装LNMP架构环境; 系统: CentOS 7.2IP: 172.16.0.11版本: nginx-1.10.3 php-5.6.30 mysql-5.6.30 一.安装开发包组 ~]# yum -y groupinstall “Development Tools” “Server Platform Development” 二.编译安装ngi…

    2017-05-11
  • grep的用法(CentOS7)及有关正则表达式的使用

    http://www.cnblogs.com/wzhuo/p/6659352.html

    Linux干货 2017-04-08
  • N25 The first week –Yorick

    1.计算机的组成及功能 ENIARC:冯诺依曼体系 1.1.运算器(所属CPU)     进行计算 1.2.控制器(所属CPU)     控制部件之间的协调,包括寻址操作     辅助性存储(加速与提升CPU性能)     寄存器(锁存数据)     缓存(缓…

    Linux干货 2016-12-04