售前咨询400-838-0503

Linux服务器如何查看内存使用情况?

发布:2025-04-14 20:12

Linux服务器内存使用情况全解析:8种高效查看方法

作为Linux系统管理员,实时掌握服务器内存使用情况是保障系统稳定运行的基础。本文将详细介绍8种专业级的Linux内存查看方法,从基础命令到高级技巧,帮助您全面诊断内存问题。

一、free命令:基础内存查看

这是最常用的内存查看命令,输入free -h可以人性化显示内存情况:

$ free -h
              total    used    free    shared    buff/cache    available
Mem:           7.7G    2.1G    3.2G     456M         2.4G           4.8G
Swap:          2.0G    0B      2.0G

关键指标解读:

  • available:系统可用内存(包含可回收的缓存)
  • buff/cache:缓冲区/缓存占用量
  • swap:交换分区使用情况

二、top/htop命令:动态监控

实时监控内存变化的利器:

$ top
...
MiB Mem :   7852.0 total,   3234.8 free,   2156.2 used,   2461.0 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.

htop提供更友好的交互界面,支持颜色标注和鼠标操作:

$ htop
[彩色界面显示各进程内存占用]

三、vmstat:虚拟内存统计

专业的内存性能分析工具,可设置刷新间隔(秒):

$ vmstat 3
procs -----------memory---------- ---swap-- ----system----
 r  b   swpd   free   buff  cache   si   so    in   cs
 1  0      0 3294824 254488 2523504  0    0    42   128

重点关注:

  • si/so:交换分区换入/换出情况(数值持续增长说明内存不足)
  • cache:页面缓存使用量

四、/proc/meminfo:原始数据源

所有内存命令的数据来源,包含最详细的内存信息:

$ cat /proc/meminfo
MemTotal:        8048824 kB
MemFree:         3372232 kB
MemAvailable:    5038216 kB
Buffers:          254488 kB
Cached:          2523504 kB
...

高级诊断技巧

1. 检测内存泄漏

使用smem统计进程实际内存占用:

$ smem -tk
PID User     Command                         Swap      USS      PSS      RSS 
...
[按实际内存占用排序]

2. 分析缓存占用

pcstat可以查看文件缓存情况:

$ pcstat /var/log/syslog
[显示文件缓存命中率]

3. 内核内存分析

使用slabtop查看内核内存分配:

$ slabtop -o
[实时显示内核slab分配器状态]

最佳实践建议

  1. 生产环境建议安装htopsmem工具
  2. 内存监控应关注Available而非Free
  3. 当Swap使用持续增长时,应考虑增加物理内存
  4. 定期使用vmstat建立内存使用基线

通过组合使用这些工具,您可以全面掌握Linux服务器的内存健康状况,及时发现和解决内存瓶颈问题。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单