Linux内存占用过高的问题解决方案
Linux内存占⽤过⾼的问题解决⽅案
在Linux下,使⽤top命令看到内存占⽤情况:
Mem: 4146788k total, 3825536k used, 321252k free, 213488k buffers
Swap: 2650684k total, 80k used, 2650604k free, 3006404k cached
夜书所见的诗意 解释这⾥的结果显⽰使⽤了3.8G的used,占⽤率达到90%。看看free的结果你还可以对⽐⼀下:
$ free -m
total used free shared buffers cached
Mem: 4049 3784 265 0 208 2939会计专业的实习报告>代理协议书
-/+ buffers/cache: 636 3413
牛仔裤品牌leeSwap: 2588 0 2588
虽然MEM显⽰了3.7G左右的used,但是(-/+ buffers/cache)减去buffers和cache的结果可以看到,当前进程实际占⽤内存是636M,⽽可⽤空闲(free)内存为3.4G。
下载电影到手机
可以这么理解:在linux的内存分配机制中,优先使⽤物理内存,当物理内存还有空闲时(还够⽤),不会释放其占⽤内存,就算占⽤内存的程序已经被关闭了,该程序所占⽤的内存⽤来做缓存使⽤,对于开启过的程序、或是读取刚存取过得数据会⽐较快。
国家法定婚假几天如上⾯的例⼦:使⽤了4G的内存,3.7G被占⽤,但是buuffer和cached部分作为缓存,可以使⽤命中率的⽅式提⾼使⽤效率,⽽且这部分缓存是根据指令随时可以释放的,我们可以认为这部分内存没有实际被使⽤,也可以认为它是空闲的。
因此查看⽬前进程正在实际被使⽤的内存,是used-(buffers+cache),也可以认为如果swap没有⼤量使⽤,mem还是够⽤的,只有mem被当前进程实际占⽤完(没有了buffers和cache),才会使⽤到swap的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。