帮我写一个linux 系统下实时读取cpu频率的shell 脚本
时间: 2024-01-22 21:17:36 浏览: 25
可以使用 `watch` 命令和 `cat` 命令读取 `/proc/cpuinfo` 文件来实时读取CPU频率。以下是一个简单的脚本:
```shell
#!/bin/bash
watch -n 1 'cat /proc/cpuinfo | grep "MHz"'
```
该脚本每秒钟执行一次,并使用 `grep` 命令来筛选出CPU频率信息。运行该脚本后,会实时显示CPU频率信息。如果需要停止脚本,可以使用 `Ctrl + C` 组合键。
相关问题
帮我写一个linux 系统下实时读取cpu频率并且生成log 的的shell 脚本
可以使用 `watch` 命令实时读取 CPU 频率,并将输出重定向到日志文件中。以下是一个示例脚本:
```bash
#!/bin/bash
LOG_FILE="cpu_freq.log"
# 每秒钟执行一次,将结果重定向到日志文件中
watch -n 1 "cat /proc/cpuinfo | grep MHz >> $LOG_FILE"
```
使用方法:
1. 将脚本保存为 `cpu_freq.sh`
2. 在终端中运行 `chmod +x cpu_freq.sh`,添加执行权限
3. 运行脚本 `./cpu_freq.sh`
脚本每秒钟会执行一次 `cat /proc/cpuinfo | grep MHz` 命令,将当前 CPU 频率输出到日志文件中。你可以使用 `tail -f cpu_freq.log` 命令实时查看日志文件中的内容。如果需要停止脚本的运行,可以使用 `Ctrl+C` 组合键。
帮我写一个获取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、内存、磁盘的使用情况。希望能帮到你!