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

htop:

  1. 安装htop

htop是Linux系统下一个基本文本模式的、交互式的进程查看器,主要用于控制台或shell中,可以替代top

1) 快速查看关键性能统计数据,如CPU(多核布局)、内存/交换使用;

2) 可以横向或纵向滚动浏览进程列表,以查看所有的进程和完整的命令行;

3) 杀掉进程时可以直接选择而不需要输入进程号;

4) 通过鼠标操作条目;

5) 比top启动得更快;

 

htop由epel提供的,在安装前应该事先配置好epel的yum源

[root@localhost~]# yum info htop

已加载插件:fastestmirror,refresh-packagekit, security

Loadingmirror speeds from cached hostfile

可安装的软件包

Name        : htop

Arch        : x86_64

Version     : 1.0.1

Release     : 2.el6

Size        : 75 k

Repo        : epel

Summary     : Interactive process viewer

URL         : http://htop.sourceforge.net/

License     : GPL+

Description: htop is an interactive text-mode process viewer for Linux, similar to

            : top(1).

安装htop

[root@localhost~]# yum install  htop -y

简单使用htop

[root@localhost ~]# htop

技术分享

  1. F1 : 查看htop使用说明

  2. F2 : 设置

  3. F3 : 搜索进程

  4. F4 : 过滤器,按关键字搜索

  5. F5 : 显示树形结构

  6. F6 : 选择排序方式

  7. F7 : 减少nice值,这样就可以提高对应进程的优先级

  8. F8 : 增加nice值,这样可以降低对应进程的优先级

  9. F9 : 杀掉选中的进程

  10. F10: 退出htop

交互式命令:

    u:过滤仅显示选定用户的进程;

    s:跟踪选定的进程所发起的系统调用;

    l:显示选定进程所打开的文件;

    t:显示进程的层次结构;F5

    a:设定进程的cpu亲缘性;(将选定的进程绑定在指定的CPU上)

   

命令选项:

    -d#: 延迟时长

    -uUSERNAME: 仅显示指定用户的进程;

    -sCOLUMN: 根据指定的字段进行排序;

按F6进入按排序

技术分享

按F1或h 进入帮助界面

技术分享


/ : 搜索字符

 h : 显示帮助

 l :显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件

 u :显示所有用户,并可以选择某一特定用户的进程

 s : 将调用strace追踪进程的系统调用

 t : 显示树形结构

 

 H :显示/隐藏用户线程

 I :倒转排序顺序

 K :显示/隐藏内核线程   

 M :按内存占用排序

 P :按CPU排序   

 T :按运行时间排序

按u可查看某指定用户的运行的进程;默认为所有用户

技术分享

查看bash进程发起的系统调用

技术分享


使用上下键或鼠标选中-bash;然后按s键

技术分享


按q键推出htop

查看vim打开的文件

按/ 或这F3 进入搜索输入im

技术分享


选中vim行按l键













技术分享

glances:

由epel提供

安装glances

[root@localhost~]# yum install glances -y

glances [-bdehmnrsvyz1] [-B bind] [-cserver] [-C conffile] [-p port] [-P password] [--password] [-t refresh] [-ffile] [-o output]

 

 常用选项:

    -b:以Byte/s为单位显示网卡设备数据交换速率;

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

    -f/PATH/TO/SOMEFILE:设置输出文件的位置及格式;

    -o{HTML|CSV}:

    -m:关闭mount功能模块

    -n:关闭网络功能模块

    -r:关闭进程列表功能模块

    -t#: 指定延迟时长,默认为3秒;

    -1:单独显示每颗CPU相关负载数据信息;

简单使用glances

 技术分享

[root@localhost~]# glances  -t 1                               

使用h获取帮助信息

技术分享

glances支持远程模式:

即可以以C/S模式工作:

Server:以监听模式启动glances;

        Client: 以远程模式启动glances,远程连入指定服务器,并Server上的相关性能数据;

     服务模式:

glances-s -B IPADDR

-B:用于指明监听的本地地址;

         

客户端模式:

glances-c IPADDR

                 -c: 用于连入的服务器的地址;

    示例

在172.16.6.61上用glances服务器默认

#glances -s -B 172.16.6.61

技术分享


使用客户端连入172.16.6.61

[root@localhost~]# glances -c 172.16.6.61


dstat

dstat:整合了vmstat, iostat, netstat and ifstat四款工具的功能, 且添加了许多额外的功能(Dstat is a versatilereplacement for vmstat, iostat and ifstat. Dstat overcomes some of thelimitations and adds some extra features.);其结果可以保持到csv文件,使用脚本或第三方工具对性能进行分析利用(如通过监控平台监控,也可以保持到数据库)。在Centos 6.x系统上安装基本服务器即默认安装;

使用方法

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

使用 dstat -h查看全部选项,这里不逐一列举,下面简单介绍下常用选项

常用选项

# 直接跟数字,表示#秒收集一次数据,默认为一秒;dstat 3表示3秒更新一次

-c:显示cpu性能指标相关的统计数据;包括user, system, idle(空闲等待时间百分比), wait(等待磁盘IO), hardware interrupt(硬件中断), software interrupt(软件中断)等;

-d:显示disk相关的速率数据;

-Dtotal,sda 统计指定磁盘或汇总信息 ;例如: dstat-D total,sda

-g:显示page相关的速率数据;()交换空间

-i:显示interrupt相关的速率数据;

-l:显示load average相关的统计数据;包括1分钟、5分钟、15分钟平均值

-m:显示memory相关的统计数据;包括used,buffers, cache, free

-n:显示网络收发数据的速率;

-p:显示进程相关的统计数据,包括runnable、uninterruptible、new

-r:统计I/O请求,包括读写请求

-s:显示swap的相关数据;统计swap已使用和剩余量

-y:显示系统相关的数据,包括中断和进程切换;

-t 显示统计时时间

示例:

常用组合

# dstat -cmsdnl -D sda1 -N eth0,total 1 10

技术分享

dstat的高级用法

--top-[bio|cpu|cputime|cputime-avg|io|latency|latency-avg|mem|oom} 

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

    --top-bio:显示最消耗block io的进程;块级别

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

--top-mem:显示最占用内存的进程;

示例: 统计最占用cpu 最占用内存最占用磁盘IO的进程

# dstat --top-mem  --top-cpu --top-io

技术分享


    --ipc:显示进程间通信相关的速率数据;

    --raw:显示raw(裸)套接的相关的数据;

    --tcp:显示tcp套接字的相关数据;

    --udp:显示udp套接字的相关数据;

    --unix:显示unix sock接口相关的统计数据;

    --socket:

-a: -cdngy

获取其他应用信息:

dstat还可以获取其他应用信息,如通过下列选项,可以获取到其他一些常用应用信息:

--postfix显示postfix队列大小

--sendmail显示sendmail队列大小

--ntp显示ntp服务器时间

--nfs3获取nfs客户端信息

--nfsd3获取nfs服务器信息,不过nfs服务器版本需为第三版才可以,该选项还有更多用法,可以参考man帮助获取

--mysql5-(cmds|conn|io|keys ) 获取mysql5相关信息

示例: 获取ntp server上的时间

# dstat --ntp

技术分享


本文出自 “笨小孩” 博客,请务必保留此出处http://1066875821.blog.51cto.com/2375046/1637335

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