转 linux 服务器内存占用统计
linux 服务器内存占用统计
当前内存占用率的计算,是根据top命令显示的Mem.used除以Mem.total得到。
- Mem.total:表示总物理内存。
- Mem.used: 表示内核控制的内存数,除了应用程序使用的内存外,还包括缓存。
Mem.used = 应用程序使用内存 + Mem.buffers + Mem.cached
Linux的内存管理机制,会尽可能缓存一些数据,就算程序本身已经释放相关内存,Buffers/cached也不会立即释放。
但在需要的时候Buffers/cached都是可以被丢弃并快速回收的。
- 反过来,Mem.free: 表示还未纳入内核管理范围的内存(完全未被使用)。
有时候看上去可用内存很少,但实际还是比较充足的。从应用程序角度,buffers和cached也属于可用。
实际可用内存 = Mem.free + Mem.buffers + Mem.cached.
所以, 由于buffeds/cached机制,服务器在运行一段时间以后uesd内存的值越来越大。
基于此计算的内存占用率结果比实际偏高,而且还可能偏高很多。
举例,在服务器用vi打开文件,此时文件数据纳入缓存,内存占用随之增加。但这并不是应用程序占用的内存。

linux139:/srv # free -m
total used free shared buffers cached
Mem: 19953 1133 18820 0 20 86
-/+ buffers/cache: 1025 18927
Swap: 16384 0 16384
linux139:/srv # vim test.log
linux139:/srv # ll -sh test.log
30M -rw------- 1 root root 30M Mar 29 11:24 test.log
linux139:/srv # free -m
total used free shared buffers cached
Mem: 19953 1162 18790 0 20 116
-/+ buffers/cache: 1025 18928
Swap: 16384 0 16384
lin # top
top - 11:25:34 up 3:49, 3 users, load average: 0.21, 0.11, 0.09
Tasks: 128 total, 1 running, 127 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.1%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 19953M total, 1163M used, 18790M free, 20M buffers
Swap: 16384M total, 0M used, 16384M free, 116M cached

手工清理缓存方式:
sync ;echo 3 > /proc/sys/vm/drop_caches
转 linux 服务器内存占用统计的更多相关文章
- linux 服务器内存占用统计
当前内存占用率的计算,是根据top命令显示的Mem.used除以Mem.total得到. Mem.total:表示总物理内存. Mem.used: 表示内核控制的内存数,除了应用程序使用的内存外,还包 ...
- linux服务器内存占用太高-释放内存
修改/proc/sys/vm/drop_caches,释放Slab占用的cache内存空间(参考drop_caches的官方文档): Writing to this will cause the ke ...
- Linux系统内存占用90%以上 ?
问题: [root@dbserver01 zx_epp_db]# free -m total used free shared buffers cached Mem: 15953 14706 1246 ...
- Linux系统内存占用90%以上——解决方法
Linux系统内存占用90%以上--解决方法 首先要明确一个问题:Linux系统内存占用90%以上,是否属于正常范围?网上有详细的解释,这属于正常现象~~~ www.2cto.com L ...
- 如何使用Linux命令行查看Linux服务器内存使用情况?
一个服务器,最重要的资源之一就是内存,内存够不够用,是直接关系到系统性能的关键所在. 本文介绍如何查看Linux服务器内存使用情况, 1.free命令 free -m [root@localhost ...
- 查看Linux服务器内存使用情况
一个服务器,最重要的资源之一就是内存,内存够不够用,是直接关系到系统性能的关键所在. 本文介绍如何查看Linux服务器内存使用情况, 1.free命令 free -m [root@localhost ...
- Linux服务器内存池技术是如何实现的
Linux服务器内存池技术是如何实现的
- 记录Redis连接未正确释放,TCP连接过多,造成服务器上部分功能不可用和linux服务器内存一直增加问题
问题1 多人共享开发服务器(windows系统),我们小组有个程序,定时检测mongodb,redis,mysql连接是否正常,程序启动一段时间后,服务器管理人员找到我们说,我们的某个pid的程序把T ...
- 【Linux】解决Linux服务器内存不足问题
在Linux服务器上使用Jmeter进行压测的时候,遇到了一个错误: 根据这里的提示: Java HotSpot(TM) -Bit Server VM warning: INFO: os::commi ...
随机推荐
- python学习三十三天函数匿名函数lambda用法
python函数匿名函数lambda用法,是在多行语句转换一行语句,有点像三元运算符,只可以表示一些简单运算的,lambda做一些复杂的运算不太可能.分别对比普通函数和匿名函数的区别 1,普通的函数用 ...
- 浅谈XML涉及到的常见技术(编写+解析)
xml:即可扩展标记语言,用于描述关系型数据,也经常用作软件的配置文件: 1,编写xml文档一般基于一个约束文档,该文档用于规定xml的书写规范,常用的约束技术有 (1)XML ...
- javascript判断chrome浏览器的方法
var isChrome = window.navigator.userAgent.indexOf("Chrome") !== -1; if (isChrome) { alert( ...
- MIT 6.824学习笔记2 RPC/Thread
本节内容:Lect 2 RPC and Threads 线程:Threads allow one program to (logically) execute many things at onc ...
- 一个神奇却很简单的css特效
在网上看到一个前端大牛的主页,觉得他有一个特效特别酷,一开始还以为是要用什么javascript代码来实现,但仔细看一下,发觉只是用几行css代码就搞定了,我觉得挺好的. 他这个效果就是鼠标放在左半部 ...
- ios-实现ARC与MRC混编
选择target -> build phases -> compile sources -> 用ARC的文件将compiler flags设置为:-fobjc-arc,用MRC的文件 ...
- 给定中序和后序遍历,求前序序列(C++递归方式实现)
问题: 输入后序和中序,求中序遍历. 算法: void f2(string &pre,string in, string post) { ) //序列为空结束 return; ; //根节点 ...
- tomcat启动一闪而过解决办法报错The CATALINA_HOME environment variable is not defined correctly
解决办法: Tomcat无论在windows上还是Linux上只需要吧安装包传上去解压就行,不需要配置环境变量,吧之前有可能别人别配置的环境变量统一删掉即可(网上一大堆说需要配置的都是胡说八道).把以 ...
- ConcurrentLinkedDeque
import java.util.concurrent.ConcurrentLinkedDeque; /** * ConcurrentLinkedQueue : 是一个适用于高并发场景下的队列,通过无 ...
- hive之压缩
对数据进行压缩可以节约磁盘空间,提高系统吞吐量和性能,但是压缩和解压缩会增加CPU的开销. 1.hive的压缩编/解码器 BZip2和GZip压缩率高,但是需要消耗较多的CPU开销.LZO和Snapp ...