Linux 多功能系统资源统计 生成工具 dstat

官方对dstat的定义为:多功能系统资源统计生成工具。

在获取的信息上有点类似于top、free、iostat、vmstat等多个工具的合集,官方解释为vmstat、iostat、ifstat等工具的多功能替代品,且添加了许多额外的功能(Dstat is a versatile replacement for vmstat, iostat and ifstat. Dstat overcomes some of the limitations and adds some extra features.);其结果可以保持到csv文件,使用脚本或第三方工具对性能进行分析利用(如通过监控平台监控,也可以保持到数据库)。

在Centos 6.x系统上安装基本服务器即默认安装,而在其他操作系统可能需要手动安装。

e.g.

监控CPU、内存、swap、磁盘使用率,并输出到csv。recordTime 是每条记录的间隔时间,以 秒 为单位。recordNum 是记录数。

 $ dstat -tcms --freespace --disk-util --output /home/TempFold/status.csv recordTime recordNum

此处的输出是追加模式。

找出占用资源最高的进程和用户

--top-(io|bio|cpu|cputime|cputime-avg|mem) 通过这几个选项,可以看到具体是那个用户那个进程占用了相关系统资源,对系统调优非常有效。如查看当前占用I/O、cpu、内存等最高的进程信息可以使用
$ dstat --top-mem --top-io --top-cpu

部分dstat的插件

--disk-util :显示某一时间磁盘的忙碌状况
--freespace :显示当前磁盘空间使用率
--proc-count :显示正在运行的程序数量
--top-bio :指出块I/O最大的进程
--top-cpu :图形化显示CPU占用最大的进程
--top-io :显示正常I/O最大的进程
--top-mem :显示占用最多内存的进程

查看:

$ dstat --list

internal:
    aio, cpu, cpu24, disk, disk24, disk24old, epoch, fs, int, int24, io, ipc, load, lock, mem, net, page, page24, proc, raw, socket, swap, swapold, 
    sys, tcp, time, udp, unix, vm

/usr/share/dstat:
    battery, battery-remain, cpufreq, dbus, disk-util, fan, freespace, gpfs, gpfs-ops, helloworld, innodb-buffer, innodb-io, innodb-ops, lustre, 
    memcache-hits, mysql-io, mysql-keys, mysql5-cmds, mysql5-conn, mysql5-io, mysql5-keys, net-packets, nfs3, nfs3-ops, nfsd3, nfsd3-ops, ntp, postfix, 
    power, proc-count, rpc, rpcd, sendmail, snooze, thermal, top-bio, top-cpu, top-cputime, top-cputime-avg, top-io, top-latency, top-latency-avg, 
    top-mem, top-oom, utmp, vm-memctl, vmk-hba, vmk-int, vmk-nic, vz-cpu, vz-io, vz-ubc, wifi

参考:
http://www.cnblogs.com/vincent-hv/p/3358194.html
http://linux.cn/article-3215-1.html
http://linux.die.net/man/1/dstat

发表新评论