写一个linux查询内存、cpu、磁盘空间使用率的shell脚本
时间: 2023-08-11 20:05:00 浏览: 125
以下是一个简单的Linux查询内存、CPU、磁盘空间使用率的shell脚本:
```bash
#!/bin/bash
# 获取内存使用率
mem_total=$(free -m | awk 'NR==2{print $2}')
mem_used=$(free -m | awk 'NR==2{print $3}')
mem_usage=$((mem_used*100/mem_total))
echo "Memory Usage: ${mem_usage}%"
# 获取CPU使用率
cpu_usage=$(top -bn1 | grep load | awk '{printf "%.2f%%\n", $(NF-2)*100}')
echo "CPU Usage: ${cpu_usage}"
# 获取磁盘空间使用率
disk_usage=$(df -h | awk '$NF=="/"{printf "%s\n", $5}')
echo "Disk Usage: ${disk_usage}"
```
通过运行该脚本,将输出当前系统的内存、CPU、磁盘空间使用率。你可以将该脚本保存为文件并在需要时运行它。
相关问题
使用shell编写一个监控主机内存cpu磁盘空间大小的脚本
可以使用以下的 shell 脚本来监控主机的内存、CPU 和磁盘空间大小:
```shell
#!/bin/bash
# 获取当前时间
now=$(date +"%Y-%m-%d %H:%M:%S")
# 获取主机名
hostname=$(hostname)
# 获取 CPU 使用率
cpu_usage=$(top -bn1 | grep load | awk '{printf "%.2f%%\n", $(NF-2)}')
# 获取内存使用情况
mem_usage=$(free -m | awk 'NR==2{printf "%.2f%%\n", $3*100/$2}')
# 获取磁盘空间使用情况
disk_usage=$(df -h | awk '$NF=="/"{printf "%s\n", $5}')
# 输出监控结果
echo "$now - $hostname - CPU使用率: $cpu_usage - 内存使用率: $mem_usage - 磁盘空间使用率: $disk_usage"
```
这个脚本会输出当前时间、主机名、CPU 使用率、内存使用率和磁盘空间使用率。你可以将这个脚本保存为一个文件,比如 `monitor.sh`,然后在命令行中运行 `bash monitor.sh` 来执行它。你也可以将它添加到 crontab 中,让它每隔一段时间自动运行。
帮我写一个获取linux服务器,cpu内存磁盘的shell脚本
当然,我可以帮你写一个获取Linux服务器CPU、内存、磁盘的shell脚本。以下是示例代码:
``` shell
#!/bin/bash
#获取CPU信息
cpu=`top -bn1 | grep "Cpu(s)" | awk '{print $2+$4}'`
#获取内存信息
free_mem=`free -m | awk 'NR==2{printf "%.2f%%\t\t", $3*100/$2 }'`
total_mem=`free -m | awk 'NR==2{printf "%.2fG\t", $2/1000}'`
used_mem=`free -m | awk 'NR==2{printf "%.2fG\t", $3/1000}'`
#获取磁盘信息
total_disk=`df -h | awk 'NR==2{printf "%s\t", $2}'`
used_disk=`df -h | awk 'NR==2{printf "%s\t", $3}'`
avail_disk=`df -h | awk 'NR==2{printf "%s\t", $4}'`
use_percent=`df -h | awk 'NR==2{printf "%s\t", $5}'`
echo "CPU占用率:$cpu%"
echo "内存使用情况:已用$used_mem/$total_mem,占用$free_mem"
echo "磁盘使用情况:已用$used_disk/$total_disk,可用$avail_disk,使用率为$use_percent"
```
你可以将以上代码保存为`monitor.sh`并在Linux服务器上运行,即可获取CPU、内存、磁盘的使用情况。希望能帮到你!
阅读全文