free值减小【内存减少清理】

问题现状:free -m 后发现fee空间很小了8G内存只剩余243M,而其它应用占用内存并不大,这是因为linux的剩余空间不是free一个值决定,而是由free+buffers+cached=totalfree 。所以是buffers和cached占用了,实际是没有被占用的,也是可以应用的,非要让free看起来大,那就需要手动清理buffers和cached的内存。具体方法如下:

[[email protected] ~]# free -mtotal used free shared buffers cachedMem: 7978 7734 243 0 164 4545-/+ buffers/cache: 3024 4954Swap: 5535 124 5411

首先要保证数据完整性,同步一下缓存中数据到磁盘:

[[email protected] ~]# sync[[email protected] ~]# sync[[email protected] ~]# sync

清理一下buffers和cached的内存:【该值要依据实际情况而定】
[[email protected] ~]# echo 1 > /proc/sys/vm/drop_caches

[[email protected] ~]# echo 2 > /proc/sys/vm/drop_caches

[[email protected] ~]# echo 3 > /proc/sys/vm/drop_caches

还原/proc/sys/vm/drop_caches 值

[[email protected] ~]# echo 0 > /proc/sys/vm/drop_caches 
[[email protected] ~]# free -m 
total used free shared buffers cached 
Mem: 7978 3037 4940 0 26 125 
-/+ buffers/cache: 2886 5091 
Swap: 5535 124 5411 
[[email protected] ~]# cat /proc/sys/vm/drop_caches 
0

To free pagecache:
* echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
* echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
* echo 3 > /proc/sys/vm/drop_caches

时间: 2024-10-11 13:51:06

free值减小【内存减少清理】的相关文章

将258.369 double值转为内存表示(科学计数法)

前言 庖丁解牛 - <<庄子>> 庖丁为文惠君解牛,手之所触, 肩之所倚, 足之所履, 膝之所踦, 砉然向然, 奏刀騞然, 莫不中音, 合于<桑林>之舞, 乃中<经首>之会. 文惠君曰:"嘻, 善哉! 技盍至此乎?" 庖丁释刀对曰:"臣之所好者, 道也, 进乎技矣.始臣之解牛之时, 所见无非牛者.三年之后, 未尝见全牛也.方今之时, 臣以神遇而不以目视, 官知止而神欲行.依乎天理, 批大郤, 导大窾, 因其固然, 技经肯綮之未尝

php内核为变量的值分配内存的几个宏

在php5.3之前,为某变量分配内存是用宏 MAKE_STD_ZVAL; 737 #define MAKE_STD_ZVAL(zv) \ # /Zend/zend.h738 ALLOC_ZVAL(zv); \739 INIT_PZVAL(zv); 165 #define ALLOC_ZVAL(z) \ # /Zend/zend_alloc.h166 (z) = (zval *) emalloc(sizeof(zval)) 727 #define INIT_PZVAL(z) \          

.NET的堆和栈01,基本概念、值类型内存分配

当我们对.NET Framework的一些基本面了解之后,实际上,还是很有必要了解一些更底层的知识.比如.NET Framework是如何进行内存管理的,是如何垃圾回收的......这样,我们才能写出更高性能的程序. 在.NET Framework中,有2个地方帮我们保存管理数据:一个是"堆",也叫"托管堆",由.NET Framework的垃圾收集器(Garbage Collection, GC)管理:另一个是"栈",也叫"线程堆栈&

在读取图片的时候压缩减小内存开支

这个问题真是把我折腾的够呛: package com.example.tupian; import java.io.IOException; import java.io.InputStream; import java.net.URL; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.annotation.SuppressLint; import and

JVM初探- 使用堆外内存减少Full GC

JVM初探-使用堆外内存减少Full GC 标签 : JVM 问题: 大部分主流互联网企业线上Server JVM选用了CMS收集器(如Taobao.LinkedIn.Vdian), 虽然CMS可与用户线程并发GC以降低STW时间, 但它也并非十分完美, 尤其是当出现Concurrent Mode Failure由并行GC转入串行时, 将导致非常长时间的Stop The World(详细可参考JVM初探- 内存分配.GC原理与垃圾收集器). 解决: 由GCIH可以联想到: 将长期存活的对象(如L

golang中省略返回值造成内存泄漏

我已经两次因为不恰当的省略go中的函数返回值,一次造成MySql的too many connection错误,一次造成严重的内存泄漏.所以在这里大家分享一下这个问题和解决办法,也提醒自己以后不要再犯类似的错了. 众所周知,go中的函数可以返回多个值.但很多时候我们并不需要所有的值,而且go中定义了一个变量必须使用才可以,不然会报错.所以对于不需要的返回值,一般的操作方法就是省略: for _,value := range slice{ //.... } 一个典型就是上面的range.range可

【杂谈接口】接口对象的生命周期-对象所占用的内存块清理

[概述] 相信经常使用接口的朋友们,经常碰到访问违规异常(Access violation),很多情况下无法理解,认为是编译器的Bug,然后去绕开它,不追其根源,把责任推给IDE,推给编译器(其实本人以前也经常这样想).其实每个异常都是有原因的,碰到这种问题不要绕开,如果目前无法解决,至少要清楚的知道它出现的起因,不放过每一次追根到底的机会.这才是做程序员的应有的心态.(好像有点扯远了…) [问题描述] 今天公司外包模块中,外包人员反应出现一个很奇怪的问题,说模块中无故出现了AV异常.调试果然如

openstack内存占用清理

公司使用openstack定制开发了云桌面平台提供给客户使用,架构是3台控制节点+N台计算节点+N台CEPH+cinder.使用一直较为稳定,今天部份客户反映双击云主机图标无法进入云桌面.或者需要多次点击方可进入云桌面.经过检查是因为2台控制节点内存占用过高导致,需要清理.下面是详细操作过程. 1.查看控制节点内存占用 [[email protected] ~]# top top - 15:29:40 up 18 days, 17:15,  1 user,  load average: 1.27

python对于相同值的内存管理

python中,对于相同值的数据,地址是否一致?? 大概来说: 1. 对于整数.短字符串等值,在内存中只会有一份,也就是地址一致. 2. 对于元组.字典.列表.集合以及range.map等容器类对象,这些的类型的数据值即使看起来一样,内存地址也是不一样的. 3. 在同一个列表或者元组中,很大的整数在内存中会保存在同一地址 ——  注意,长字符串不会保存在同一地址. 4.对于实数(有理数.无理数)来说,由于精度存储问题,其地址是不同的. 参考: http://www.sohu.com/a/2220