当前位置:首页 > 开发 > 操作系统 > 正文

正确理解Linux内存占用过高的问题

发表于: 2015-06-11   作者:cfyme   来源:转载   浏览:
摘要: Linux开机后,使用top命令查看,4G物理内存发现已使用的多大3.2G,占用率高达80%以上: Mem:   3889836k total,  3341868k used,   547968k free,   286044k buffers Swap:  6127608k total,&nb

Linux开机后,使用top命令查看,4G物理内存发现已使用的多大3.2G,占用率高达80%以上:

Mem:   3889836k total,  3341868k used,   547968k free,   286044k buffers

Swap:  6127608k total,        0k used,  6127608k free,  1554888k cached

如上红色数字部分,使用free查看结果如下:

[root@rd01 ~]# free -m

             total       used       free     shared    buffers     cached

Mem:          3798       3264        534          0        279       1518

-/+ buffers/cache:       1466       2332

Swap:         5983          0       5983

红色数字部分已使用内存而已是3264M,那是不是表示系统内存就真的占用这么多呢,这可才运行了一个网站而已,不可能就被占用这么多啊!

注意看蓝底部分,这部分表示系统高速缓存所使用的内存,这部分内存可以随时分配给进程使用,因此,真正剩余内存应该free下534+2332=2866M,因此剩余物理内存应该为2866M,而不知534M。
 
因此查看目前进程正在实际被使用的内存,是used-(buffers+cache),也可以认为如果swap没有大量使用,mem还是够用的,只有mem被当前进程实际占用完(没有了buffers和cache),才会使用到swap的。

 

转载:http://fireinwind.iteye.com/blog/2185566

正确理解Linux内存占用过高的问题

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
记录一下之前遇到过两次服务器由于MEMORYCLERK_SQLOPTIMIZER占用内存过高带来的性能问题。 症状: S
炮哥:"嘿,哥们,忙啥呢,电脑卡成这逼样。" 勇哥:"在用CLR Profile工具分析下FlexiPrint的内存占
转自:http://dbaplus.cn/news-21-130-1.html 1. 应用程序占用资源高问题 目前大部分应用程序采用的
近几天现场报故障过来,说A系统(java b/s应用,有较多后台线程处理任务)在现网占用系统资源非常严
近几天现场报故障过来,说A系统(java b/s应用,有较多后台线程处理任务)在现网占用系统资源非常严
一、背景: 先执行一个java程序里面开了两个线程分别都在while循环做打印操作。 # java -cp ./test-
概述 想必在linux上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题——你的
在几个node的cluster环境中发现主node的snmpd进程CPU占用率规律性地定时冲高,top命令中经常能够达
作者: 黄永兵/译 出处:51CTO.com 阅读提示:本文是为那些经常疑惑的人准备的,“为什么一个简单的K
 1、top   top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号