pull/4/head
liruyu 2 years ago
parent 6872bf9ccb
commit 5b4e3022b5

@ -772,6 +772,40 @@ awk'{print $8}' 2017-05-22-access_log|egrep '301|302'| wc -l
![img](images/DevOps/1657486-20200110163906854-1971599861.png)
监控内存、磁盘和CPU的脚本
```shell
# 监控内存awk 'NR==2 表示从第2行开始提取数据
free -m | awk 'NR==2{printf "%.2f%%\t\t", $3*100/$2 }'
# 监控磁盘df -h | awk '$NF=="/" 表示将转到包含字符/的那一行
df -h | awk '$NF=="/"{printf "%s\t\t", $5}'
# 监控 CPUtop -bn1命令将只执行一次top命令n1表示1次迭代grep load将输出包含字符串load的行。$(NF-2)将计算该行上的字段数并减 2
top -bn1 | grep load | awk '{printf "%.2f%%\t\t\n", $(NF-2)}'
```
创建脚本:(运行一个小时每次休眠5秒)
```shell
#! /bin/bash
printf "Memory\t\tDisk\t\tCPU\n"
end=$((SECONDS+3600))
while [ $SECONDS -lt $end ]; do
MEMORY=$(free -m | awk 'NR==2{printf "%.2f%%\t\t", $3*100/$2 }')
DISK=$(df -h | awk '$NF=="/"{printf "%s\t\t", $5}')
CPU=$(top -bn1 | grep load | awk '{printf "%.2f%%\t\t\n", $(NF-2)}')
echo "$MEMORY$DISK$CPU"
sleep 5
done
```
执行命令:
```shell
[root@localhost tmp]# ./stats.sh >> log.txt
```
## CPU
从 CPU 的角度来说,主要的性能指标就是 **CPU 的使用率**、**上下文切换**以及 **CPU 缓存的命中率**等。

Loading…
Cancel
Save