有关进程和线程的认识,请查看上篇博客

http://yunweigou.blog.51cto.com/6299641/1634867


Linux下进程管理工具非常多,以下重点描述下htop/glances/dstat工具的使用



  • 进程管理之htop

    • htop需要自行安装,这里就不再介绍安装过程。与top工具相比,优点实在太多,不信自己看

    • htop运行效果如下图

12 Linux之资源监控工具_第1张图片 


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

    • s:跟踪指定的进程发起的系统调用

    • l:显示进程所打开的文件,下图为init进程打开的相关文件

    • 12 Linux之资源监控工具_第2张图片

    • 点击上下箭头或移动光标选定指定的进程,跟踪该进程与系统之间的协作

    • htop是交互式命令,可在运行界面与用户进行交互,有如下交互命令:

12 Linux之资源监控工具_第3张图片



t:显示进程的层次结构a:设定进程的cpu亲缘性

  • 前提:多处理器

  • 标记某个进程允许使用哪些cpu

还有以下常用选项:

  • -d|--delay=DELAY:设置延迟更新时间,单位为秒

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

  • -s COLUMN:根据指定的字段排序

  • -p --pid=PID1,PID2....只显示指定的PIDS

  • ...

以下是F1-F10的功能以及对应字母的快捷键:

h,? F1 查看htop使用说明
S F2 htop设定
/ F3 搜索进程
\ F4 增量进程过滤器
t F5 显示树形结构
<,> F6 选择排序方式
[ F7 减少nice值,运行优先级设定
] F8 扩大nice值,与减少相反
k F9 对进程传递信号
q或Ctrl+C F10 结束htop


进程管理之glances

  • 同htop,该工具需自行安装,安装过程不再一一赘述

  • glances为另一个流弊的系统资源管理监控工具,包括CPU、负载、内存、磁盘 I/O、网络流量、文件系统、系统温度等信息

  • Glances 可以监控本机也可以通过客户端服务器模式监控其他机器;Glances 提供了基于 XML/RPC 的 API 便于其他程序调用,可编程;Glances 可以将数据输出保存到 csv 或 html 格式的文件方便其他程序处理(报告或绘制图形)

  • 其选项如下:

    • -b:以Byte/s为单位显示网卡交换速率

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

    • -d:关闭磁盘I/O功能

    • -f /PATH/TO/FILE:设备输出文件

    • -o {HTML|CSV}:指定输出文件格式(格式为 csv 或 html

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

    • -n:关闭网络功能模块

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

    • -t #:设置屏幕刷新间隔,默认3秒(有博文写2秒,经长时注释,确实为3秒=.=!)


  • 支持远程模式:即以C/S模式工作

    • 服务模式:

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


    • glances -s -B IPADDR

    • glances -c IPADDR

    • Server端:以监听模式启动glances

    • Client端:以远程模式启动glances,远程联入指定服务器,并显示Server上的相关性能数据

进程管理之dstat12 Linux之资源监控工具_第4张图片安装过程省略。。。特性:

  • 整合了vmstat,iostat,netstat以及ifstat等多款工具于一身(听上去就很流弊)

  • 实时显示统计数据


  • 用python开发的,易扩展现有工作任务


  • 可分组统计块设备/网络设备,并给出总数


  • 非常准确的时间精度,几遍系统负荷较高也不会延迟显示


  • 不同颜色显示不同单位


  • 在分析和排障是可通过启用监控项并排序


  • and so on 很强大吧j_0003.gif

dstat [-afv] [OPTIONS...] [delay[count]] 选项:

  • -a:集合cdngy这些选项

  • -c:显示cpu性能指标相关的统计数据

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

  • -g:显示page相关的速率数据

  • -i:显示中断相关的速率数据

  • -l:显示load average相关的统计数据

  • -m:显示内存相关的统计数据

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

  • -p:显示进程相关的统计数据

  • -r:显示I/O请求速率

  • -s:显示swap相关的统计数据

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

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

  • --top-bio:显示最消耗block io的进程

  • --top-io:显示最占用I/O的进程

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

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

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

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

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

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

常用组合:

  • dstat -cndymlp -N total -D total 525 统计CPU,IO ,network,system load

  • dstat -cdnsil -D hda -N eth1 统计网卡1的信息

  • dstat –vmstat 内存使用情况

注:选项那么多,其实看选项名大部分还是可以记住的=.=j_0003.gif