linux环境下,写一个脚本,监控服务器的能记录服务器某一时间 cpu使用率,内存的使用率,磁盘的使用情况,最占用服务器cpu资源top5的进程名称
时间: 2024-05-05 18:19:10 浏览: 88
Ok,您好。针对您的问题,可以编写一个Shell脚本,在Linux环境下实现监控服务器的功能。具体实现如下:
```shell
#!/bin/bash
TIME=$(date "+%Y-%m-%d %H:%M:%S") # 获取当前时间
# 获取CPU使用率
CPU_USAGE=$(top -n 1 -b | grep '%Cpu' | awk '{print $2}')
# 获取内存使用率
MEM_USED=$(free | grep Mem | awk '{print $3/$2 * 100.0}')
# 获取磁盘使用情况
DISK_USED=$(df -h | awk '{if($NF=="/") print $5}')
# 获取占用CPU资源最高的前5个进程名称
CPU_TOP_5=$(ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | head -n 6 | tail -n 5 | awk '{print $NF}')
# 将结果输出到文件中
echo "${TIME} CPU使用率:${CPU_USAGE}%" >> monitor.log
echo "${TIME} 内存使用率:${MEM_USED}%" >> monitor.log
echo "${TIME} 磁盘使用率:${DISK_USED}" >> monitor.log
echo "${TIME} 占用CPU资源最高的前5个进程名称:${CPU_TOP_5}" >> monitor.log
```
执行以上脚本后,会将服务器的CPU使用率、内存使用率、磁盘使用情况和占用CPU资源最高的前5个进程名称,记录在monitor.log文件中。这样,您就可以及时了解并监控服务器的运行状况了。
顺便一提,以上仅为本人在CSDN开发的ChitGPT通过机器学习生成的回答,不涉及人工判断,仅供参考。
阅读全文