悠悠楠杉
Linux基础-查看cpu、内存等信息
本文详细讲解Linux环境下监测CPU和内存性能的7种核心方法,包含命令详解、指标解读和实战案例,帮助运维人员快速定位系统瓶颈。
一、为什么需要监控系统资源?
上周处理的一个线上案例让我印象深刻:某电商平台凌晨突发CPU飙升至98%,导致订单系统瘫痪。通过熟练使用Linux性能工具,我们10分钟内就定位到是某个Java进程的线程死循环。这个经历再次证明——掌握系统监控是运维人员的保命技能。
二、核心监控命令全景图
2.1 全能选手:top命令
bash
top - 14:30:25 up 45 days, 3:22, 2 users
%Cpu(s): 12.3 us, 5.6 sy, 0.0 ni, 81.2 id
KiB Mem : 16302008 total, 324508 free
关键字段解析:
- us/sy:用户态/内核态CPU占比
- load average:1/5/15分钟负载均值(超过CPU核心数需警惕)
- RES:进程实际内存占用(单位KB)
实战技巧:按Shift+M
按内存排序,Shift+P
按CPU排序
2.2 专业内存分析:free命令
bash
free -h
total used free
Mem: 15G 14G 872M
Swap: 2.0G 1.5G 512M
重要指标:
- buff/cache:磁盘缓存占用的内存(可回收)
- available:真实可用内存(比free更准确)
2.3 动态观测:vmstat
bash
vmstat 1 5
procs -----------memory---------- ---swap--
r b swpd free buff cache
1 0 15328 324508 102332 823456
输出解读:
- r列:运行队列长度(持续>5说明CPU饱和)
- si/so:交换区换入换出(出现非零值需警惕)
三、深度指标解析
3.1 CPU监控三要素
- 用户态利用率(us):应用程序自身消耗
- 系统态利用率(sy):内核系统调用开销
- IO等待(wa):磁盘IO等待占比
异常案例:当wa
持续>20%,说明存在磁盘瓶颈
3.2 内存三大警戒线
- 物理内存使用率 > 90%
- Swap使用率 > 30%
- OOM Killer被触发
四、高级监控方案
4.1 可视化工具
bash
sudo apt install htop
htop提供彩色界面、树状进程展示和鼠标操作支持
4.2 持久化监控
bash
sar -u 1 60 > cpu_log.txt
使用sysstat包中的sar命令进行长期记录
五、避坑指南
- buff/cache误区:这部分内存属于可回收资源,不必恐慌
- Load Average错觉:单核CPU负载3.0≠三核CPU负载1.0
- SWAP陷阱:频繁swap交换会导致性能断崖式下降
六、最佳实践建议
- 建立基线:记录业务低峰期的正常指标值
- 设置告警:对核心指标配置阈值报警
- 定期巡检:每周分析性能趋势报表
经验之谈:去年我们通过分析历史监控数据,提前3周预测到某系统内存将耗尽,避免了重大事故。记住:好的运维不是救火队员,而是先知型管家。