怎么用脚本获取处理器负载

wen 实用脚本 1

本文目录导读:

怎么用脚本获取处理器负载

  1. Linux 系统
  2. Windows 系统
  3. 跨平台方案(Python)
  4. 持续监控脚本
  5. 选择建议:

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 计算差值(避免瞬时波动)

根据你的操作系统和使用场景选择合适的脚本即可。

抱歉,评论功能暂时关闭!