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

admin

在 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

文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码