sar 是一个对系统连续取样的系统分析工具,系统每10分钟会记录一次数据,并且对系统造成的负载很小
sar 常用的参数
* sar -u 系统的CPU
* sar -q 系统的平均负载
* sar -r 系统的内存使用情况
* sar -W 系统的交换发生情况
例如:
通过这个命令我们可以得到系统每分钟的负载情况(整天):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
LANG=C sar -q |awk '/^[^a-z]+$/ {print $1, $4, $0}' 09:30:01 1.19 09:40:01 0.98 09:50:01 1.01 10:00:01 1.03 10:10:01 0.97 10:20:01 1.12 10:30:01 0.92 10:40:01 1.00 10:50:01 1.27 11:00:01 0.99 11:10:01 1.12 11:20:01 0.98 11:30:01 1.10 11:40:01 1.02 11:50:01 1.00 12:00:01 1.02 12:10:01 1.10 12:20:01 1.13 12:30:01 1.05 12:40:01 1.04 12:50:01 1.10 13:00:01 1.05 13:10:01 0.98 13:20:01 1.42 13:30:01 1.07 13:40:02 1.60 13:50:01 1.24 14:00:01 1.09 14:10:01 1.07 14:20:01 1.36 14:30:01 1.16 14:40:02 1.14 14:50:01 1.23 |
这就是我们系统一天的负载情况,但是这样的话我们看着不是很方便,我们要借用另外一个工具:gnuplot
安装很简单
1 |
sudo yum install gnuplot |
使用也很简单,可以通过命令行交互使用,也可以指定好脚本,例如,我们指定一个文件
1 2 3 4 5 6 7 |
vi test.gnuplot set xdata time set timefmt "%H:%M:%S" set term png size 1024,768 set output "/tmp/`date +%F`.png" plot "/tmp/load-1.data" using 1:2 with lines |
其中, /tmp/load-1.data 是我们整理好的文件的路径,就是LANG=C sar -q |awk ‘/^[^a-z]+$/ {print $1, $4}’ > /tmp/load-1.data
然后我们执行如下命令
1 |
gnuplot test.gnuplot |
这样我们就得到一个文件再/tmp下,2017-02-23.png
打开图片我们可以看到
Latest posts by Zhiming Zhang (see all)
- aws eks node 自动化扩展工具 Karpenter - 8月 10, 2022
- ReplicationController and ReplicaSet in Kubernetes - 12月 20, 2021
- public key fingerprint - 5月 27, 2021