监控进程资源(CPU、内存、磁盘、网络等)是系统运维和性能优化的核心工作。以下是不同操作系统(Linux/Windows/macOS)下的常用方法和工具,从命令行到图形化,从实时监控到历史分析覆盖全面场景。
Linux 下工具丰富,从基础命令到专业监控工具应有尽有。
top:实时进程监控(经典工具)P:按 CPU 使用率排序;按 M:按内存使用率排序;按 N:按 PID 排序。k:输入 PID 杀死进程;按 q:退出。top -p 1234(监控指定 PID 为 1234 的进程)。%CPU:进程占用 CPU 百分比;%MEM:进程占用物理内存百分比;RES:进程实际使用的物理内存(KB)。htop:top 的增强版(更友好)yum install htop(CentOS)/apt install htop(Ubuntu)。htop -p 1234(监控指定进程)。ps:静态进程快照ps aux:查看所有进程的详细信息(用户、PID、CPU、内存、命令等)。ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head:按 CPU 使用率降序排,取前 10 个进程。ps -p 1234 -o pid,%cpu,%mem,cmd:查看指定 PID 的 CPU、内存和命令。pidstat:进程级资源统计(sysstat 工具包)yum install sysstat / apt install sysstat。pidstat 2 5:每 2 秒采样一次,共 5 次,显示所有进程的 CPU 使用。pidstat -r -p 1234 2:每 2 秒监控 PID 1234 的内存使用(-r 表示内存)。pidstat -d -p 1234 2:每 2 秒监控 PID 1234 的磁盘 I/O(-d 表示磁盘)。pidstat -u -p 1234 2:每 2 秒监控 CPU 使用(-u 表示 CPU)。pmap:查看进程内存映射pmap -x 1234(-x 显示详细信息,包括内存大小、RSS、权限等)。lsof:查看进程打开的文件/端口lsof -p 1234:查看 PID 1234 打开的所有文件。lsof -i :8080:查看占用 8080 端口的进程。nmon:全面性能监控(CPU/内存/磁盘/网络)yum install nmon / apt install nmon。nmon 后,按 c(CPU)、m(内存)、d(磁盘)、n(网络)切换显示。glances:跨平台监控工具(Web 界面支持)pip install glances(需 Python 环境)。glances -w 启动 Web 服务,浏览器访问 http://IP:61208。perf:性能分析工具(高级)perf top -p 1234 查看 PID 1234 的 CPU 热点函数。Windows 下主要通过任务管理器、命令行工具和专业软件监控。
Ctrl + Shift + Esc 或 Ctrl + Alt + Del → 选择“任务管理器”。ps,显示 PID、线程数、内存私有工作集等。tasklist:查看进程列表ps,静态列出所有进程。tasklist | findstr "chrome":查找包含“chrome”的进程。tasklist /fi "PID eq 1234":查看指定 PID 的进程信息。wmic:查询进程资源wmic process where "ProcessId=1234" get Name,WorkingSetSize,UserModeTime:查看 PID 1234 的内存(WorkingSetSize,单位字节)和 CPU 时间。typeperf:实时监控性能计数器pidstat,通过 Windows 性能计数器监控进程。typeperf "\Process(chrome)\% Processor Time" "\Process(chrome)\Working Set":实时监控 chrome 进程的 CPU 和内存(进程名需替换,注意空格用引号包裹)。perfmon.msc。% Processor Time、Working Set)。macOS 基于 Unix,工具与 Linux 类似,但有自有图形化工具。
top:与 Linux 类似,但输出格式略有不同(支持按 o 排序,如 cpu 按 CPU 排序)。ps:用法与 Linux 一致,如 ps aux | grep chrome。htop:可通过 Homebrew 安装(brew install htop),用法同 Linux。nettop:macOS 特有,监控进程网络流量(按进程分组显示 TCP/UDP 连接)。node_exporter(Linux)或 windows_exporter(Windows)采集进程指标,Grafana 可视化,支持历史数据存储和告警。| 场景 | 推荐工具(Linux) | 推荐工具(Windows) |
|---|---|---|
| 快速查看实时进程 | top/htop |
任务管理器 |
| 静态进程快照 | ps |
tasklist |
| 细粒度采样(CPU/内存/IO) | pidstat |
typeperf/Performance Monitor |
| 深度分析(内存映射/句柄) | pmap/lsof |
Process Explorer |
| 长期历史监控 | Prometheus + Grafana | Prometheus + windows_exporter |
%CPU(使用率)、User Time(用户态 CPU)、System Time(内核态 CPU)。RES/RSS(物理内存)、VIRT(虚拟内存)、%MEM(内存占比)、Working Set(Windows 物理内存)。kB_rd/s(读速率)、kB_wr/s(写速率)、iowait(磁盘等待时间)。RX(接收流量)、TX(发送流量)、Connections(连接数)。根据需求选择工具,日常快速排查用 top/htop/任务管理器,深度分析用 pidstat/Process Explorer,长期监控用 Prometheus/Grafana 即可。