本文目录导读:

Linux 系统
使用 top 命令(最通用)
#!/bin/bash
# 获取 CPU 空闲百分比,计算使用率
cpu_idle=$(top -bn1 | grep "Cpu(s)" | awk '{print $8}')
cpu_usage=$(echo "100 - $cpu_idle" | bc)
echo "CPU Usage: $cpu_usage%"
使用 /proc/stat 文件(精确计算)
#!/bin/bash
# 计算 1 秒内的 CPU 平均使用率
prev_total=0
prev_idle=0
for i in {1..2}; do
cpu_line=$(grep '^cpu ' /proc/stat)
# 提取各列数值(用户、系统、空闲等)
user=$(echo $cpu_line | awk '{print $2}')
nice=$(echo $cpu_line | awk '{print $3}')
system=$(echo $cpu_line | awk '{print $4}')
idle=$(echo $cpu_line | awk '{print $5}')
total=$((user + nice + system + idle))
if [ $i -eq 1 ]; then
prev_total=$total
prev_idle=$idle
sleep 1
fi
done
diff_total=$((total - prev_total))
diff_idle=$((idle - prev_idle))
cpu_usage=$(echo "scale=2; (1 - $diff_idle / $diff_total) * 100" | bc)
echo "CPU Usage: $cpu_usage%"
使用 mpstat(需安装 sysstat)
#!/bin/bash
# 需要先安装:apt install sysstat / yum install sysstat
mpstat 1 1 | awk '/Average/ {print "CPU Usage: " 100 - $NF "%"}'
Windows 系统
PowerShell 脚本
# 获取 CPU 使用率(百分比) $cpu = (Get-CimInstance Win32_Processor | Measure-Object -Property LoadPercentage -Average).Average Write-Host "CPU Usage: $cpu%"
使用 wmic 命令(传统 cmd)
@echo off
for /f "skip=1 tokens=*" %%a in ('wmic cpu get loadpercentage') do (
set cpu=%%a
goto :end
)
:end
echo CPU Usage: %cpu%%
跨平台方案(Python)
#!/usr/bin/env python3
import psutil # 需要安装:pip install psutil
# 获取瞬时 CPU 使用率
cpu_percent = psutil.cpu_percent(interval=1)
print(f"CPU Usage: {cpu_percent}%")
持续监控脚本
Linux shell 循环监控:
#!/bin/bash
while true; do
clear
cpu_idle=$(top -bn1 | grep "Cpu(s)" | awk '{print $8}')
cpu_usage=$(echo "100 - $cpu_idle" | bc)
echo "Time: $(date)"
echo "Current CPU Usage: $cpu_usage%"
sleep 2
done
选择建议:
- 日常快速查看:Linux 用
top命令,Windows 用 PowerShell - 脚本集成:推荐 Python(
psutil)或/proc/stat(Linux) - 精确监控:使用
/proc/stat计算差值(避免瞬时波动)
根据你的操作系统和使用场景选择合适的脚本即可。