系统管理员必备,Linux 查询服务器内存使用情况的终极指南

XMSDN

在 Linux 服务器的日常运维中,监控资源使用情况是防止系统崩溃的关键一步,内存作为计算机的“工作台”,其使用效率直接决定了服务器的响应速度和稳定性,如果内存不足,系统可能会开始频繁使用交换空间(Swap),导致性能急剧下降。

本文将详细介绍几种常用的 Linux 查询服务器内存使用情况 的方法,帮助您快速定位瓶颈。

使用 free 命令(最常用、最直观)

free 命令是查看内存状态最基础也是最高效的工具,它以人类可读的格式(KB, MB, GB)显示内存总量、已用、空闲和缓存信息。

系统管理员必备,Linux 查询服务器内存使用情况的终极指南

基本用法:

free -h

参数解释:

  • -h:以人类可读的格式(1K, 234M, 2G)显示。

输出解读:

              total        used        free      shared  buff/cache   available
Mem:           7.6G        3.2G        1.1G        120M        3.3G        4.1G
Swap:          2.0G          0B        2.0G
  • total: 物理内存的总大小。
  • used: 系统正在使用的内存大小(包括应用程序使用的和缓冲区/缓存占用的)。
  • free: 完全未被使用的物理内存大小。
  • buff/cache: 这是 Linux 的一个特性,它将一部分内存用作文件系统的缓存(buffer)和应用程序的缓存(cache)。请注意,这部分内存虽然被标记为“已用”,但并不意味着程序正在占用它,如果程序需要,Linux 会立即回收这部分内存。available(可用内存)比 free 更能反映真实的内存余量。

使用 tophtop 命令(实时监控)

如果您想实时查看内存使用情况,或者需要查看是哪个进程占用了大量内存,top 是首选。

基本用法:

top

操作技巧:

  • top 运行时,按下 M 键,列表会自动按照 内存使用量 从高到低排序。
  • 按下 q 键退出。

进阶工具:htop htoptop 的增强版,界面更美观,支持鼠标操作和颜色区分。

  • 安装:yum install htop (CentOS) 或 apt install htop (Ubuntu)
  • 使用:直接输入 htop 即可。

使用 vmstat 命令(深入分析)

vmstat (虚拟内存统计) 提供了关于进程、内存、I/O 等的系统活动的详细信息,它对于判断内存是否严重不足非常有用。

基本用法:

vmstat 1

关键指标解读:

  • si (swap in): 每秒从交换分区读入 RAM 的数据量。
  • so (swap out): 每秒从 RAM 写入交换分区的数据量。
  • bi (blocks in): 每秒从磁盘读取的块数。
  • bo (blocks out): 每秒写入磁盘的块数。

注意: siso 的数值长期不为 0,说明物理内存已经非常紧张,系统正在频繁地将数据在内存和硬盘之间交换,这会极大地拖慢服务器速度。

使用 smem 命令(按进程统计)

如果您怀疑某个特定的应用程序占用了过多内存,可以使用 smem,它能精确统计每个进程的内存使用情况(包括共享内存)。

基本用法:

smem -k

输出解读: 它会列出所有进程及其 RSS(常驻集大小)和 PSS(比例集大小),方便您找出“内存杀手”。

在 Linux 中查询服务器内存使用情况,通常建议结合使用:

用 `free

💡 温馨提示

📌 阅读须知 Rules & Notice

本站坚持免费分享,致力于为大家提供实用、优质的内容与资源。

🔗欢迎大家收藏与转发,转载请保留本站链接,请勿私自去除版权信息。

📚所有外部整理资源,仅作学习交流使用,请勿用于各类商业用途。

🤝网络相聚本是缘分,希望大家文明交流,理性浏览。

🛠️若发现内容有误或涉及侵权,我们将第一时间处理整改。

💖 感谢每一位朋友的陪伴与支持

✨ 用心分享,一路同行 ✨

目录[+]