linux – 我的Centos服务器是否泄漏内存?

前端之家收集整理的这篇文章主要介绍了linux – 我的Centos服务器是否泄漏内存?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我收到一些关于虚拟化服务器内存使用情况的相互矛盾的信息.最令人震惊的信息是这样的:

请注意,即使已提交显示12GB,服务器也只分配了4GB的RAM.

另外,如果我运行ps aux | grep httpd我得到以下内容

root      1566  0.1  9.5 580392 375540 ?       Ss   Jun18  96:15 /usr/local/apache/bin/httpd -k start -DSSL
root      4212  0.0  9.4 580388 371948 ?       S    08:01   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody    7674  0.6  9.5 580392 373600 ?       S    08:26   0:02 /usr/local/apache/bin/httpd -k start -DSSL
nobody   10894  0.6  9.5 580532 373508 ?       S    08:28   0:01 /usr/local/apache/bin/httpd -k start -DSSL
nobody   11668  0.6  9.5 580392 373600 ?       S    08:29   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   11669  0.6  9.5 580392 373512 ?       S    08:29   0:01 /usr/local/apache/bin/httpd -k start -DSSL
nobody   11975  0.6  9.5 580392 373492 ?       S    08:29   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   12108  0.7  9.5 580392 373492 ?       S    08:29   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   12993  0.6  9.5 580392 373492 ?       S    08:30   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   13080  0.6  9.5 580392 373492 ?       S    08:30   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   13211  0.6  9.5 580392 373492 ?       S    08:30   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   13496  0.6  9.5 580392 373520 ?       S    08:30   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   13497  0.6  9.5 580392 373492 ?       S    08:30   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   13829  0.6  9.5 580392 373492 ?       S    08:30   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   13858  0.6  9.5 580392 373492 ?       S    08:30   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   13963  0.6  9.5 580392 373484 ?       S    08:30   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   14070  0.7  9.5 580392 373492 ?       S    08:31   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   14290  0.6  9.5 580392 373492 ?       S    08:31   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   14404  0.6  9.5 580392 373484 ?       S    08:31   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   14745  0.6  9.5 580392 373492 ?       S    08:31   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   14850  0.6  9.5 580392 373484 ?       S    08:31   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   14957  0.5  9.5 580392 373484 ?       S    08:31   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   15061  0.6  9.5 580392 373492 ?       S    08:31   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   15174  0.8  9.5 580392 373492 ?       S    08:31   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   15228  0.6  9.5 580392 373484 ?       S    08:31   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   15263  0.4  9.5 580392 373484 ?       S    08:31   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   15264  0.5  9.5 580392 373484 ?       S    08:31   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   15290  0.7  9.5 580392 373484 ?       S    08:31   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   15291  0.5  9.5 580392 373484 ?       S    08:31   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   15294  0.4  9.5 580392 373484 ?       S    08:31   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   15296  0.6  9.5 580392 373492 ?       S    08:31   0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody   15401  0.5  9.5 580392 373484 ?       S    08:32   0:00 /usr/local/apache/bin/httpd -k start -DSSL
root     15506  0.0  0.0 103228   840 pts/0    S+   08:32   0:00 grep httpd

这总计高达294.5%的内存使用量.

top也给出了类似的结果.

但是,如果我运行free -m,我会得到:

total       used       free     shared    buffers     cached
Mem:          3831       3647        184          0        257       2358
-/+ buffers/cache:       1031       2799
Swap:         4031         29       4002

这对我来说似乎没问题,没有过度记忆的迹象.

服务器相对较快,没有异常的停机/缓慢,我想保持这种方式.异常读数是异常还是更严重?

解决方法

你有足够的记忆力.如果您使用的内存增加到最大数量并且缓冲区和缓存将非常低,您将遇到内存问题,使用SWAP会rize然后您可能会遇到空闲RAM问题.从你的帖子,它的一切都好……

这简单解释了提交的内存是什么:

Committed_AS:估计需要多少RAM才能保证99.99%的内存永远不会有OOM(内存不足).通常内核会过度使用内存.这意味着,假设你做了1GB的malloc,真的没有任何反应.只有当你开始使用那个malloc内存时,你才能按需获得真正的内存,就像你使用它一样.所以你有点抵押贷款,并希望银行不会破产.其他情况可能包括当您映射仅在您写入时共享的文件并且您获得该数据的私有副本时.虽然它通常在进程之间共享. Committed_AS是对最坏情况下需要多少RAM /交换的猜测.

这是孔解释http://www.redhat.com/advice/tips/meminfo.html

所以你没有内存问题,一切都正常,那些读数是正常的.

猜你在找的Linux相关文章