Linux进程管理查看工具,顾名思义,就是查看系统中运行的进程及与进程属性相关的各种信息,工具如何使用,下面详细介绍一下:


一、先来介绍一下htop查看工具,此工具为top工具的升级版,比其看起来更直观,如果系统中没有此工具,可以用yum进行安装。先来看下定义:htop - interactive process viewer,是一个交互式的进程查看工具,在命令行中输入htop 回车,则显示页面如下:Linux管理查看工具htop、glances、dstat_dstat

1、先来看头部部分,如下图:

Linux管理查看工具htop、glances、dstat_htop_02


2、再来看主体部分

Linux管理查看工具htop、glances、dstat_dstat_03


PID:进程标志号,是非零正整数;也称进程ID
USER:进程所有者的用户名
PR:进程的优先级别
NI:进程的优先级别数值
VIRT:进程占用的虚拟内存值
RES:进程占用的物理内存值
SHR:进程使用的共享内存值
S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
CPU%:该进程占用的CPU使用率
MEM%:该进程占用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间
COMMAND:进程启动的启动命令名称

3、底部菜单栏:

Linux管理查看工具htop、glances、dstat_glances_04


F1帮助;页面显示各种快捷键,图略

F2设置:可以设置界面颜色、时钟的显示方式、头部显示栏设置等;如我的Task之前在头部没有显示,如下图:

Linux管理查看工具htop、glances、dstat_glances_05


F3查找,可根据用户查找

F4过滤器,以进程名过滤搜索

F5树状显示进程间的关系(父子进程),如下图:

Linux管理查看工具htop、glances、dstat_htop_06


F6排序:可以选择属性进行排序;也可直接用鼠标点到属性排序

F7增加进程优先级,则要先选择相应的进程

F8减少进程优先级

F9终止进程

F10退出,按键q也可退出

有些选项也可以直接在命令行输入,进入界面后直接显示出来,常用选项有:

     -d #: 刷新时间间隔

     -u USERNAME: 仅显示指定用户的进程

     -s COLUMN: 以指定的字段进行排序

    
二、glances

(一)先来看一下交互式界面,本人用矩形将信息分区并标号了,所以下面根据下图,以标号分区对其进行描述;

Linux管理查看工具htop、glances、dstat_htop_07


1、cpu--占有率、user:用户占用cpu率、system:系统内核占用率、idle:cpu空闲率;

2、nice:%nice值所占cpu率、iowait:等待io的进程所占cpu率、irq:软中断占用cpu率

3、cpu等待运行队列的队列长度、1,5,15分钟的长度;

4、内存的使用情况,使用率、总空间、使用空间、空闲空间

5、Active: 在活跃使用中的缓冲或高速缓冲存储器页面文件的大小,除非非常必要否则不会被移作他用;Inactive: 在不经常使用中的缓冲或高速缓冲存储器页面文件的大小,可能被用于其他途径;buffers缓冲、cached已缓存

6、swap%进程所占swap分区率、swap分区总大小、使用大小、空闲大小

7、网络、各网卡名称及传送接收速度

8、Disk各个盘分区

9、mount挂载分区;used分区用掉多少;total分区大小;注:与命令行输入df -h结果基本一样

10、tasks:进程总数、thr:线程、run运行数、休眠、其它状态、自动分类

11:VIRT: 虚拟内存大小;

    RES: 进程占用的物理内存值;

    %CPU:该进程占用的 CPU 使用率

    %MEM:该进程占用的物理内存和总内存的百分比
    PID: 进程 ID 号

    NI: 进程优先级

    S: 进程状态,其中 S 表示休眠,R 表示正在运行,Z 表示僵死状态    

    USER: 进程所有者的用户名
    TIME+: 该进程启动后占用的总的 CPU 时间
    IO_R IO_W: 进程的读写 I/O 速率
    NAME: 进程名称
也可在交互式界面按键h获取帮助;帮助信息热键如下,图略
  

    ■a 自动对进程进行排序。

    ■c 按处理器使用百分比对进程进行排序。

    ■m 按内存使用百分比对进程进行排序。

    ■p 按名称对进程进行排序。

    ■i 按输入/输出速度对进程进行排序。

    ■d 显示/隐藏磁盘输入/输出的统计数字。

    ■f显示/隐藏文件系统的统计数字。

    ■n显示/隐藏网络的统计数字。

    ■s显示/隐藏传感器的统计数字。

    ■y显示/隐藏hddtemp的统计数字。

    ■l显示/隐藏日志。

    ■b 网络输入/输出的字节或比特。

    ■w 删除警告性日志。

    ■x 删除警告性日志和危急性日志。

    ■1全局处理器或单个处理器的统计数字。

    ■t 以合并方式查看网络输入/输出。

    ■u 查看累积的网络输入/输出

(二)命令行常用选项:


         -b: 以Byte为单位显示网卡数据速率;

         -d: 关闭磁盘I/O模块

         -m: 禁用mount模块

         -n: 禁用网络模块

         -t #: 指定刷新时间间隔

         -1每个CPU的数据单独显示

         -f /path/to/somewhere: 设置输出文件的位置及其格式;

         -o {HTML|CSV}

eg:

Linux管理查看工具htop、glances、dstat_htop_08


此时会显示glances交互界面,所以可以双击1Linux-1,切换入2Linux-1中,如下图所示:

Linux管理查看工具htop、glances、dstat_glances_09


然后在命令行中输入信息如下所示:

Linux管理查看工具htop、glances、dstat_htop_10


注:输出html格式时,需要jinja2的支持,需要先安装依赖。默认输出的文件名是glances.html,可以通过http://IP/glances.html访问。

       C/S[client/service]模式下运行glances命令:

         服务模式:服务器输出数据

            glances -s -B IPADDR

           注:如果使用防火墙的情况下,需要在iptables上的放行;可以用自己的服务器实验

         客户端模式:通过端口访问数据

            glances -c IPADDR

            IPADDR: 远程服务器监听的地址

  注:此命令更多详细信息请参考:http://glances.readthedocs.org/en/latest/glances-doc.html#glances

三、dstat

         -versatile tool for generating system resource statistics

       SYNOPSIS

         dstat [-afv] [options..] [delay [count]]

(一)其交互式界面如下:

Linux管理查看工具htop、glances、dstat_glances_11


1、---total-cpu-usage---:统计cpu使用情况

    usr:用户使用cpu情况

    sys:系统使用cpu情况

    idl:cpu空闲空间

    wai:'io等待'使用cpu情况

    hiq:硬中断次数硬中断概念由与系统相连的外设(比如网卡、硬盘)自动产生的主要是用来通知操作系统系统外设状态的变化比如当网卡收到数据包的时候,就会发出一个中断我们通常所说的中断指的是硬中断(hardirq)注:参考资料http://blog.csdn.net/zhangskd/article/details/21992933

    siq:软中断为了满足实时系统的要求中断处理应该是越快越好linux为了实现这个特点当中断发生的时候,硬中断处理那些短时间就可以完成的工作,而将那些处理事件比较长的工作,放到中断之后来完成,也就是软中断(softirq)来完成

2、-dsk/total-:disk情况

   read:读信息量

   write:写信息量

3、-net/total:网络情况

   recv:接收信息量

   send:发出信息量

4、--paging--:页面情况

   in:内存换进

   out:内存换出

5、--system--:系统内核

   int: 处理的中断(interrupts)速率,太高会引起过高的上下文切换

   csw: 上下文切换(Context switches)速率

(二)、常用命令选项


OPTIONS 

     -c, --cpu 显示cpu状态

         enable cpu stats (system, user, idle, wait, hardware interrupt, software interrupt)

     -d, --disk 统计显示disk的读写状态

                  enable disk stats (read, write)

     -g, --page 统计并显示内存换进换出

                  enable page stats (page in, page out)

     -i, --int 统计并显示中断次数

                  enable interrupt stats

    -l, --load  统计并显示负载情况

                  enable load average stats (1 min, 5 mins, 15mins)

    -m, --mem   统计并显示内存的使用、空闲、缓冲、缓存情况

                  enable memory stats (used, buffers, cache, free)

     -n, --net   统计并显示网络收发情况

                  enable network stats (receive, send)

     -r, --io   统计显示I/O请求,包括读写请求

                  enable I/O request stats (read, write requests) 

     -s, --swap  统计显示swap分区使用及空闲情况

                  enable swap stats (used, free)

    -t, --time 显示当前时间

                  enable time/date output

    -y, --sys 显示系统内核处理中断与上下文切换速率

                  enable system stats (interrupts, context switches)

    --aio: 显示异步io统计数据

    --ipc: ipc相关的信息

     --raw: raw socket:即原始套接字,可以接收本机网卡上的数据帧或者数据包,对与监听网络的流量和分析是很有作用的.一共可以有3种方式创建这种socket.注:参考资:http://baike.baidu.com/view/4263346.htm?fr=aladdin

    --tcp: tcp socket tcp套接字

    --udp: udp socket  udp套接字

    --socket: raw, tcp, udp  

    --unix: unix sock

    

    --top-cpu:显示最占用CPU的进程

    --top-bio:显示最占用block IO的进程

    --top-mem: 显示最耗费内存的进程

     --top-io:最占用IO的进程