进程管理工具top,htop,glances,dstat的使用

 

top篇:

   TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.

   top统计类容详解:

     进程管理工具top,htop,glances,dstat的使用_glances

第一行:任务队列信息:

 top 当前时间,up 系统运行时间,n个用户在线usersloadaverage:负载,分别统计1分钟,5分钟15分钟

第二,三行:为进程和CPU的相关信息,当有多个CPU时,可能会超过两行

              进程部分:

                     Tasks:进程总数

                     running:正在运行的进程数

                      sleeping:睡眠的进程数

                      stopped:停止的进程数

                      zombie:僵尸进程数

                 CPU部分:

                       us:用户空间百分比

                       sy:内核空间百分比

                       ni:nice值百分比

id: 空闲CPU百分比

                       wa:进程等待时间百分比

                       hi:硬件中断时间百分比

                       si:软件中断时间,实现模式切换占据的百分比

                       st:cpu被虚拟机等占据的时间百分比;

第四五行为内存信息:

            Mem:*k total:物理内存总量

                     used:使用的物理内存总量

                    free:空闲内存总量

                    buffers:用作内核缓存的内存用量

                    swap:交换内存总量

                     used:使用的交换内存总量

                   free:空闲交换内存总量

                   cached:缓冲的交换内存总量

进程统计信息:

              USER:进程属主

 PID:进程id

 %CPU:占据CPU时间百分比

 %MEM:内存百分比

VSZ:虚拟内存集大小

RSS:常驻内存集

TTY:终端号

STAT:进程状态

START:启动时间

TIME:占用CPU累计时长,单位秒

TIME+:占用CPU累计时长,单位百分之一秒

COMMAND: 由哪个命令启动运行的进程

PPID:父进程ID

NI:nice

PR:优先级

SHR:共享内存大小

S:进程状态;

           S状态参数说明:

D表示不可终端的睡眠状态

R表示运行状态

S表示睡眠状态

T表示跟踪/停止

Z表示僵尸进程

              

htop命令详解:

   一,hotp的安装

 htop为top的增强版本,需要自行下载安装,yum配置如下:

         cd /etc/yum.repos.d/

         vim cenos.local.repo

                [Fedora-EPEL]

                name=Fedora EPEL for el7

               baseurl=http://mirrors.sohu.com/fedora-epel/7/x86_64/

                gpgcheck=0

        配置完成保存退出后运行: yum install –y htop等待安装完成即可

     二,htop的使用

      安装完成后直接运行htop命令既可进入htop界面;

    进程管理工具top,htop,glances,dstat的使用_top_02

各项统计参数说明如下:

  进程管理工具top,htop,glances,dstat的使用_htop_03

  分别统计了cpu,内存和交换分区的使用情况;Tasks为进程总数,当前运行的进程数、Load average为系统1分钟,5分钟,15分钟的平均负载情况、Uptime为系统运行的时间。

进程管理工具top,htop,glances,dstat的使用_top_04

PID:进行的标识号

USER:运行此进程的用户

PRI:进程的优先级

NI:进程的优先级别值,默认的为0,可以进行调整

VIRT:进程占用的虚拟内存值

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

SHR:进程占用的共享内存值

S:进程的运行状况,R表示正在运行、S表示休眠,等待唤醒、Z表示僵死状态

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

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

TIME+:该进程启动后占用的总的CPU时间

COMMAND:进程启动的启动命令名称

进程管理工具top,htop,glances,dstat的使用_top_05

各功能菜单选项,其中F1显示帮助信息:

进程管理工具top,htop,glances,dstat的使用_htop_06

F2 Htop设定

1.Meters

设定顶端的 显示信息,分为左右两侧,Left column 表示左侧的显示的信息,Right column表示右侧显示的信息,如果要新加选项,可以选择Availablemeters添加,F5新增到上方左侧,F6新增到上方右侧。Left column和Right column下面的选项,可以选定信息的显示方式,有LED、Bar(进度条)、Text(文本模式),

2. Display options,选择要显示的内容,按空格 x表示显示,选择完后,按F10保存

3.Colors,设定界面以什么颜色来显示

4.Colums,作用是增加或取消要显示的各项内容,选择后F7(向上移动)、F8(向下移动)、F9(取消显示、F10(保存更改))此处增加了PPID、PGRP

F3 搜索进程,在界面下按F3或直接输入”/”就可以直接进入搜索模式,是按照进程名进行搜索的。

F4:过滤器,相当于模糊查找,不区分大小写,下方输入要搜索的内容后,则界面只显示搜索到的内容,更加方便查看,

F5:以树形方式显示

F6:排序方式

F7,F8:调整进程nice值

F7表示减小nice值(增大优先级),F8增大nice值(减小优先级),选择某一进程,按F7或F8来增大或减小nice值,nice值范围为-20-19,

F9:杀死进程,选择某一进程按F9即可杀死此进程,

F10:退出htop

 

glances命令:

  Glances是Linux下的监控工具,能够对Linux系统的性能及使用情况进行监控,安装完Glances,就可以使用Glances命令进行相关监控了,

   一,glances的安装

 yum配置如下:

         cd /etc/yum.repos.d/

         vim cenos.local.repo

                [epel]

name=glances

baseurl=http://mirrors.yun-idc.com/epel/7/x86_64/

gpgcheck=0

gpgkey=http://mirrors.yun-idc.com/epel/RPM-GPG-KEY-EPEL-7        配置完成保存退出后运行: yum install –y glances等待安装完成即可,如果yum过程中提示有python-psutil-1.2.1-1.el7.x86_64包找不到,请手动下载名使用rpm –ivh python-psutil-1.2.1-1.el7.x86_64 命令安装后再运行 yum install glances即可。

     二,glances的使用

         安装完成后直接运行 glances命令:

             glances 是一个命令行工具包括如下命令选项:

 -b:显示网络连接速度 Byte/ 秒

 -B@IP|host :绑定服务器端 IP 地址或者主机名称

 -c@IP|host:连接 glances 服务器端

 -Cfile:设置配置文件默认是/etc/glances/glances.conf

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

 -e:显示传感器温度

 -ffile:设置输出文件(格式是 HTML 或者 CSV)

 -m:关闭挂载的磁盘模块

 -n:关闭网络模块

 -pPORT:设置运行端口默认是 61209

 -Ppassword:设置客户端 / 服务器密码

 -s:设置 glances 运行模式为服务器

 -tsec:设置屏幕刷新的时间间隔,单位为秒,默认值为 2 秒,数值许可范围:1~32767

 -h :显示帮助信息

 -v :显示版本信息

进程管理工具top,htop,glances,dstat的使用_top_07

上图的上部是 CPU 、Load(负载)、Mem(内存使用)、Swap(交换分区)的使用情况。在上图的中上部是网络接口  右边大部分是Processes(进程)的使用情况。通常包括如下字段:

VIRT: 虚拟内存大小  

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

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

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

PID: 进程 ID 号  

     USER: 进程所有者的用户名  

NI: 进程优先级  

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

 TIME+: 该进程启动后占用的总的 CPU 时间   

IO_R 和 IO_W: 进程的读写 I/O 速率  

NAME: 进程名称,

 

galnces运行时快捷键使用说明:

                  h : 显示帮助信息

 q : 离开程序退出

                  c :按照 CPU 实时负载对系统进程进行排序

 m :按照内存使用状况对系统进程排序

 i:按照 I/O 使用状况对系统进程排序

 p: 按照进程名称排序

                  d : 显示磁盘读写状况

 w : 删除日志文件

                  l :显示日志

                  s: 显示传感器信息

                f : 显示系统信息

 1 :轮流显示每个 CPU 内核的使用情况(仅使用在多核 CPU 系统)

 

glances可用在C/S模式下运行,

          服务器模式:

            服务器上运行: glances -s -B IPADDR :服务器地址,监听本机的哪个地址

 

           客户端模式:

              客户端上运行: glances -c ipaddr:要联入的服务器地址   

 

dstat命令:

  

dstat是vmstat的替换工具:

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

dstat命令有默认选项,执行dstat命令不加任何参数,它默认会收集-cpu-、-disk-、-net-、-paging-、-system-的数据,一秒钟收集一次。 默认输入 dstat 等于输入了dstat -cdngy 1或dstat -a 1。

             

                 -c, 显示cpu相关信息,  enable cpu stats (system, user, idle, wait,hardware interrupt, software interrupt)

                 -C 0,3,total:显示哪几个CPU信息

                 -d:磁盘读写信息

                 -D total,sda:单独查看某个磁盘信息

                         dstat -D total,sda -C0,1,total

                 -g:显示page相关统计信息,页面换进换出信息;

                 -i:显示中断的统计数据; dstat –i

-l :显示负载统计量

                 -n:只显示网络统计相关数据

                 -m:只显示内存相关数据: dstat -m

                 -p:显示进程状态;

                 -y: system status

                 -r:统计io请求统计数据;

                 -s:交换内存的相关统计数据;

                 -t:时间日期的信息输出

                 -a 相当-cdngy

                 --top-cpu:当前最消耗CPU的进程

                 --top-int:中断最多

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

                 --top-mem:最消耗内存   

                 --top-lantency:延迟最大,运行最慢的

                 --tcp

                 --udp

                 --socket:相当 -all,--tcp --udp一起

                 --raw--unix   

                 --ipc:进程间通信

 

直接运行dstat命令如下图::

  进程管理工具top,htop,glances,dstat的使用_htop_08

其中:total-cpu-usage表示cpu的使用率统计;-dsk/total表示磁盘读写速率;net/total表示网络传输速率;paging表示内存页换进换出情况;system表示中断以及上下文切换(进程切换)

例如:

1,查看全部内存都有谁在占用:dstat -g -l -m -s --top-mem

2,显示一些关于CPU资源损耗的数据:dstat-c -y -l --proc-count --top-cpu

3,如何输出一个csv文件

  输出一个csv格式的文件用于以后,可以通过下面的命令:dstat –output /tmp/sampleoutput.csv -cdn