服务器测评网
我们一直在努力

Linux系统中,如何详细查看CPU和内存使用情况?

Linux系统CPU与内存监控:专业工具与实战解析

核心监控工具详解与场景应用

Linux系统中,如何详细查看CPU和内存使用情况?

基础性能仪表盘:top/htop

  • top:默认实时视图显示进程级CPU/内存占用(%CPU/%MEM)、系统负载(load average)
  • htop增强版
    • 树状进程结构可视化(F5)
    • 鼠标交互与颜色分类(CPU密集型进程标红)
    • 快捷键直接调整进程优先级(F7/F8)

实战案例:某次线上API响应延迟,通过htop发现某个Java进程持续占用380% CPU(4核机器),结合jstack定位到死循环代码段。

内存全景剖析:free与/proc/meminfo

free -m  # 以MB为单位输出

关键指标解析:

  • Available:真正可用内存(含buffer/cache回收空间)
  • Swap使用率:持续高于20%需警惕内存瓶颈

进阶操作
grep -E 'MemTotal|MemFree|Buffers|Cached|Swap' /proc/meminfo
获取原始内核数据,精确计算应用真实内存占用:

应用实际占用 = MemTotal MemFree Buffers Cached

系统级性能快照:vmstat(间隔2秒采样5次)

vmstat 2 5

输出关键列解析:
| 列名 | 含义 | 告警阈值 |
|———-|————————|——————-|
| r | 可运行进程数 | > CPU核数2倍 |
| wa | I/O等待CPU时间占比 | > 20% |
| si/so| 每秒swap换入/换出 | 持续>0 |

Linux系统中,如何详细查看CPU和内存使用情况?

深度监控与历史数据分析

性能追踪利器:sar(sysstat包)

sar -u 1 3    # CPU使用率(%user/%system/%iowait)
sar -r 1 3    # 内存页统计(kbmemfree/kbcommit)
sar -B 1 3    # 分页活动(pgpgin/pgpgout)

独家经验:曾诊断某数据库凌晨慢查询,通过sar -q发现01:00时ldavg-15达12.8(8核服务器),结合cron日志定位到错误配置的备份任务。

进程级资源审计:pidstat

pidstat -urd -p 进程ID 2 10  # 每2秒采样,共10次

输出示例:

11:32:01   %usr %system %CPU   kB_rd/s   kB_wr/s  %MEM
11:32:03   68.2    5.1   73.3      0.0    120.4   12.7

容器化环境专项监控

cgroup指标获取

Linux系统中,如何详细查看CPU和内存使用情况?

# 查看容器内存限制
cat /sys/fs/cgroup/memory/memory.limit_in_bytes 
# 实时内存使用(含cache)
cat /sys/fs/cgroup/memory/memory.usage_in_bytes

cAdvisor + Prometheus方案
部署架构:

容器Runtime → cAdvisor(数据采集)→ Prometheus(存储)→ Grafana(可视化)

成功案例:某微服务集群通过该方案发现某容器RSS内存持续达1.8GB(超过request 1.5GB),优化JVM堆参数后OOM发生率降为0。


FAQs深度解析

Q1:free显示available不足,但top无高内存进程?
可能由内核slab内存泄漏导致,验证方法:
slabtop -s c 查看slab占用排序
echo 2 > /proc/sys/vm/drop_caches 临时回收(生产环境慎用)

Q2:CPU负载高但%us很低是什么原因?
典型I/O瓶颈特征,检查方向:

  1. iostat -x 1 看%util和await
  2. pidstat -d 1 定位高IO进程
  3. 使用perf record -g -p 进程ID分析系统调用

国内权威文献来源

  1. 倪光南.《Linux内核分析与高级教程》. 机械工业出版社, 2020.
  2. 阿里云技术团队.《云原生操作系统:性能调优与故障诊断》. 电子工业出版社, 2022.
  3. 华为《Linux系统性能监控白皮书》(内部技术文档编号:HEC-TR-2021-017)
  4. 清华大学计算机系.《操作系统原理与实践(第4版)》. 清华大学出版社, 2021.
  5. 中国信息通信研究院《云计算系统稳定性保障能力要求》(YD/T 4060-2022)行业标准
赞(0)
未经允许不得转载:好主机测评网 » Linux系统中,如何详细查看CPU和内存使用情况?