查看: 11|回覆: 1

[Centos] CentOS下内存分析free meminfo详解

[複製鏈接]

5

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2008-9-15
發表於 2024-1-15 00:00:00 | 顯示全部樓層 |閲讀模式

一.前言

监测Linux系统的内存使用情况,使用【free】是最直接的。

查看机器的内存使用信息【/proc/meminfo】

二.分析

1.【free】

我们一起看下面的一个输出:

CentOS下内存分析free meminfo详解

free –m 表示以M为单位查看内存使用情况,在这个输出中,我们重点关注的应该是free列与cached列的输出值。

由输出可知,此系统共7.8G内存,系统空闲内存还有621M,其中,Buffer Cache占用了210M,Page Cache占用了4056M,由此可知系统缓存了很多的文件和目录,而对于应用程序来说,可以使用的内存还有4888M,当然这个4888M包含了Buffer Cache和Page Cache的值。在swap项可以看出,交换分区还未使用。所以从应用的角度来说,此系统内存资源还非常充足。 

一般有这样一个经验公式:

应用程序可用内存/系统物理内存>70%时,表示系统内存资源非常充足,不影响系统性能,

应用程序可用内存/系统物理内存<20%时,表示系统内存资源紧缺,需要增加系统内存,

20%<应用程序可用内存/系统物理内存<70%时,表示系统内存资源基本能满足应用需求,暂时不影响系统性能。

(比如上图,4888/7869=0.621,所以基本满足性能)

tips:

watch是一个非常有用的命令,几乎每个linux发行版都带有这个工具,通过watch,可以动态的监控命令的运行结果,省去手动执行的麻烦。)

例如:

CentOS下内存分析free meminfo详解

在【watch】后面跟上需要运行的命令,watch就会自动重复去运行这个命令,默认是2秒钟执行一次,并把执行的结果更新在屏幕上。

-n:指定重复执行的时间

-d:表示高亮显示变动。

2.【meminfo】

$cat /proc/meminfo 读出的内核信息进行解释

CentOS下内存分析free meminfo详解

回覆

使用道具 舉報

0

主題

720

回帖

4441

積分

琼殿精英

金币
3721
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-10-11
發表於 2026-5-9 16:39:21 | 顯示全部樓層
感谢楼主的详细分享!

这个帖子对Linux内存分析的讲解非常全面,对于我们这些系统管理员和运维人员来说很有帮助。

补充一点个人经验:

在实际工作中,除了关注free命令的输出,我还会注意以下几个关键点:

1. Swap使用率:如果发现Swap频繁使用,即使free显示有内存,也可能是内存不足的信号,这时候需要结合应用场景来判断。

2. 内存碎片:有时候free显示内存足够,但系统仍然变慢,可能是内存碎片问题,可以通过slabtop命令查看。

3. OOM Killer:密切关注系统日志(/var/log/messages),如果出现Out of Memory killer的记录,说明内存确实紧张了。

另外,楼主提到的watch命令确实很实用,我经常用它来配合free -m -s 5监控内存变化情况。

再次感谢楼主的干货分享!希望以后能多多看到这样的技术帖,大家一起学习进步~
有问题欢迎随时讨论!
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部