本文目录导读:

命令行工具(通用性强,适合服务器)
Linux / macOS / WSL
-
htop(推荐)- 安装:
sudo apt install htop(Debian/Ubuntu)或brew install htop(macOS) - 功能:彩色显示 CPU(每个核心)、内存、交换分区和运行进程列表,支持鼠标操作和进程管理。
- 启动:直接输入
htop
- 安装:
-
top(系统自带)- 功能:实时显示 CPU 使用率、内存占用、负载和进程列表。
- 快捷键:按
1查看每个 CPU 核心,按M按内存排序,按P按 CPU 排序,按q退出。
-
glances(全能型)- 安装:
sudo apt install glances或pip install glances - 功能:在一个界面中显示 CPU、内存、磁盘 I/O、网络、温度和文件系统使用情况。
- 安装:
-
vmstat(轻量级,专注于系统资源)- 命令:
vmstat 1(每秒刷新一次) - 输出:包括 CPU(用户、系统、空闲时间)、内存(可用、缓冲、缓存)、磁盘 I/O。
- 命令:
-
iostat(专门针对磁盘)- 命令:
iostat -x 1(每秒刷新,显示详细磁盘使用率、读写速度、等待时间)。
- 命令:
-
free -h(仅查看内存)- 命令:
free -h -s 1(每秒刷新,显示总内存、已用、可用、缓存)。
- 命令:
Windows(PowerShell / CMD)
-
tasklist/taskmgr(任务管理器)- 命令:
tasklist显示进程列表和内存占用。 - 图形化:直接按
Ctrl + Shift + Esc打开任务管理器,选择“性能”选项卡查看 CPU、内存、磁盘。
- 命令:
-
wmic(Windows Management Instrumentation)- 命令示例:
- CPU 使用率:
wmic cpu get loadpercentage - 内存:
wmic OS get FreePhysicalMemory,TotalVisibleMemorySize - 磁盘:
wmic logicaldisk get size,freespace,caption
- CPU 使用率:
- 命令示例:
-
Get-Counter(PowerShell)- 命令:
Get-Counter -Counter "\Processor(_Total)\% Processor Time", "\Memory\Available MBytes", "\LogicalDisk(C:)\% Free Space" -SampleInterval 1(每秒采样一次)
- 命令:
图形化工具(适合桌面环境)
Linux
-
系统监视器(GNOME System Monitor / KDE KSysGuard)
- 打开方式:在应用菜单中搜索“系统监视器”或“KSysGuard”。
- 功能:直观的 CPU、内存、网络历史曲线图,进程列表可排序。
-
Conky(高度可定制)
- 安装:
sudo apt install conky - 功能:在桌面显示实时资源占用,支持自定义布局和主题。
- 安装:
macOS
-
活动监视器(Activity Monitor)
- 路径:
应用程序->实用工具->活动监视器 - 功能:CPU(支持线程查看)、内存(物理/压缩/交换)、磁盘(读写速率)、网络。
- 路径:
-
iStat Menus(第三方付费,功能强大)
在菜单栏显示 CPU、内存、磁盘、温度、风扇速度等详细信息。
Windows
-
资源监视器(Resource Monitor)
- 打开方式:按
Win + R,输入resmon,回车。 - 功能:详细查看 CPU(每个核心、句柄、模块)、内存(工作集、共享、专用)、磁盘(进程的读写操作)。
- 打开方式:按
-
HWiNFO(第三方,专业硬件监控)
- 功能:实时显示 CPU 使用率、频率、温度、电压、内存占用、磁盘健康状态(S.M.A.R.T.)。
-
Process Explorer(来自微软 Sysinternals)
- 功能:类似“任务管理器增强版”,可查看每个进程的 CPU、内存、磁盘 I/O、句柄、DLL 等。
简易命令行监控脚本(一次性查看)
Linux/macOS
# 每秒刷新一次,显示 CPU、内存、磁盘概览
while true; do
clear
echo "=== CPU ==="
top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4 "% used"}'
echo ""
echo "=== 内存 ==="
free -h | grep "Mem" | awk '{print "已用: " $3 " / 总: " $2}'
echo ""
echo "=== 磁盘 ==="
df -h / | tail -1 | awk '{print "已用: " $3 " / 总: " $2 " (" $5 ")"}'
sleep 1
done
Windows (PowerShell)
while ($true) {
Clear-Host
Write-Host "=== CPU ==="
$cpu = (Get-Counter "\Processor(_Total)\% Processor Time").CounterSamples.CookedValue
Write-Host ("{0:N2}%" -f $cpu)
Write-Host ""
Write-Host "=== 内存 ==="
$mem = Get-CimInstance Win32_OperatingSystem
Write-Host ("可用: {0:N2} GB / 总: {1:N2} GB" -f ($mem.FreePhysicalMemory/1MB), ($mem.TotalVisibleMemorySize/1MB))
Write-Host ""
Write-Host "=== 磁盘 ==="
Get-PSDrive C | Select-Object Used, Free | Format-Table -AutoSize
Start-Sleep -Seconds 1
}
专用监控系统(适合长期运行或远程查看)
-
Netdata(开源实时监控)
- 安装:一键脚本
bash <(curl -Ss https://my-netdata.io/kickstart.sh) - 功能:Web 界面,实时显示 CPU、内存、磁盘、网络、进程、温度等,历史数据可回溯。
- 安装:一键脚本
-
Prometheus + Grafana(企业级,需配置)
- Node Exporter(收集系统指标)+ Grafana(可视化仪表盘)。
-
Docker 容器监控
docker stats:实时显示每个容器的 CPU、内存、网络 I/O、磁盘 I/O。
总结建议
| 场景 | 推荐工具 |
|---|---|
| 快速查看(服务器/SSH) | htop(Linux/macOS)、top(通用) |
| 详细磁盘分析 | iostat(Linux)、资源监视器(Windows) |
| 桌面环境(直观) | 系统监视器(Linux)、活动监视器(macOS)、任务管理器(Windows) |
| 长期监控/远程 | Netdata、Prometheus + Grafana |
| 脚本化/集成到代码 | psutil(Python 库) |
如果你需要查看瞬时值,直接用 top 或 htop;如果需要历史趋势图,用图形化工具或 Netdata。
标签: 内存磁盘占用
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。