问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何手工释放linux内存1

发布网友 发布时间:2023-10-13 19:15

我来回答

1个回答

热心网友 时间:2024-11-18 15:49

一、通常情况

先来说说free命令:
[root@server ~]# free -m
total used free shared buffers cached
Mem: 249 163 86 0 10 94
-/+ buffers/cache: 58 191

Swap: 511 0 511
其中:
total 内存总数
used 已经使用的内存数
free 空闲的内存数
shared 多个进程共享的内存总额
buffers Buffer Cache和cached Page Cache 磁盘缓存的大小
-buffers/cache 的内存数:used – buffers – cached
+buffers/cache 的内存数:free + buffers + cached
可用的memory=free memory+buffers+cached。
有了这个基础后,可以得知,我现在used为163MB,free为86MB,buffer和cached分别为10MB,94MB。

那么我们来看看,如果我执行复制文件,内存会发生什么变化.

[root@server ~]# cp -r /etc ~/test/
[root@server ~]# free -m
total used free shared buffers cached
Mem: 249 244 4 0 8 174
-/+ buffers/cache: 62 187

Swap: 511 0 511
在我命令执行结束后,used为244MB,free为4MB,buffers为8MB,cached为174MB,天呐,都被cached吃掉了。别紧张,这是为了提高文件读取效率的做法。

为了提高磁盘存取效率,Linux做了一些精心的设计,除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换),还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。

那么有人说过段时间,linux会自动释放掉所用的内存。等待一段时间后,我们使用free再来试试,看看是否有释放?

[root@server test]# free -m
total used free shared buffers cached
Mem: 249 244 5 0 8 174
-/+ buffers/cache: 61 188

Swap: 511 0 511
似乎没有任何变化。(实际情况下,内存的管理还与Swap有关)

那么我能否手动释放掉这些内存呢?回答是可以的!

二、手动释放缓存

/proc是一个虚拟文件系统,我们可以通过对它的读写操作做为与kernel实体间进行通信的一种手段。也就是说可以通过修改/proc中的文件,来对当前kernel的行为做出调整。那么我们可以通过调整/proc/sys/vm/drop_caches来释放内存。操作如下:

[root@server test]# cat /proc/sys/vm/drop_caches

首先,/proc/sys/vm/drop_caches的值,默认为0。

[root@server test]# sync
手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)
[root@server test]# echo 3 > /proc/sys/vm/drop_caches
[root@server test]# cat /proc/sys/vm/drop_caches

3
将/proc/sys/vm/drop_caches值设为3

[root@server test]# free -m
total used free shared buffers cached
Mem: 249 66 182 0 0 11
-/+ buffers/cache: 55 194
Swap: 511 0 511
再来运行free命令,会发现现在的used为66MB,free为182MB,buffers为0MB,cached为11MB。那么有效的释放了buffer和cache。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何为职务侵占罪进行辩护 职务侵占如何辩护 职务侵占罪有效辩护点有哪些 miui11开发者选项在哪_小米miui11开发者选项在哪 查询考研成绩需要什么 考研查分前要做什么 考研查询需要什么证件 研究生什么专业好 什么专业的研究生最好 考研究生什么专业好 冰箱一直响个不停,是不是坏了?11 冰箱发出报警响个不停怎么解决啊256 冰箱制冷总是响个不停?怎么恢复成原来的自动制冷?4 怎么管理现金流,管理现金流的技巧2 宁波一箪食餐饮管理有限公司怎么样? 以“我成功了”为题目写一篇作文692 手机刷机双清后还是无法刷机怎么办 现在手机也开不开机了1 余庆县他山中学分数线2023 林俊杰和罗志祥在小巨蛋开演唱会谁的人气高?4 请问一下罗志祥和林俊杰私底下交情如何,会经常一起玩吗,关系是...23 拼多多拼单是什么意思 荣耀盒子voice还是荣耀盒子pro好 半山到杭州西湖坐什么车最快3 用一副三角尺怎样画出70度的角?1 最近脚突然肿起来了是怎么回事?拜托了各位 谢谢42 荣耀盒子voice和荣耀盒子对比哪个好 好吃的竹筒粽子是怎样做的? 猜成语一只黄鸟站在树上,另一只白鸟在另一棵树,三个箭头指黄鸟1 疯狂猜成语白鸟作首散兽一节才两个成语1 一只花鸟在树上,当中三条直线,另一只白鸟在光秃秃的树上是什么...1 新漂流瓶我为什么登录不上去,显示不合法用户,什么原因啊24 宝宝假日旅行下载下载地址 怎样用尺规作70度的角1 电脑重装了系统以后,拿回来就连接不了网络了,右下角有个叹号,... 假日切水果游戏如何下载 网络连接错误651 右下角黄色叹号,怎么解决谢谢1 除垢仪的基本概况 电脑右下角红叉叉,网络电缆被拔出。然后有时候是个感叹号,宽带... 为什么李嘉诚移民加拿大?18 观滁新苑的房价现在是不是涨得很快,应该入手吗,周边的区域成熟度怎么样... 杭州半山垃圾焚烧厂与绿城紫桂公寓有多远 假日专车哪里可以下载?(不要BT电驴) 梦幻西游方寸孩子好不好? 手机喇叭有杂音滋滋怎么解决?124 ...早上停车的时候,把车蹭掉漆了,新心疼,心情很低落。。。 8月24日,这个时候是什么星座啊?9 如何将APK安装包转换成可以使用的文件。 “OPPO R11 plus”怎么分屏?2 如此富有的李嘉诚,为何最终选择移民加拿大?17 台式电脑密码忘了怎么解除密码