红联Linux门户
Linux帮助

linux下导致内存使用量增长的shell命令及手动释放内存的方法

发布时间:2017-06-29 11:48:15来源:linux网站作者:wojiushiwoba
最近在客户现场发现arm Linux嵌入式设备在运行一段时间后,设备物理内存使用量接近100%,分析发现和脚本程序中长时间循环使用几个shell命令有关。
 
1.cp
复制命令,使用cp命令,会使得linux的物理内存使用量和缓存使用量增加,可在top命令中查看内存使用情况。
 
2.mv
移动或重命名文件命令,和cp类似,使用mv命令也会使得系统的物理内存使用量和缓存使用量增加,可在top命令中查看内存使用情况。
 
3.新建文件
不管是通过命令行还是应用程序新建文件,并向文件中写入数据,也会导致系统的物理内润石咏莉和缓存使用量增加。
由于客户现场的设备,就遇到这几种情况,所以别的命令没做分析。
 
另外,上述三种情况导致的物理内存使用量和缓存使用增加的部分,可通过删除cp后的文件副本,移动的文件,或新建的文件但不再访问的文件减少。
 
下面介绍一下手动释放内存的方法:
echo 1 >  /proc/sys/vm/drop_caches
drop_caches的值可以是0-3之间的数字,代表不同的含义:
0:不释放(系统默认值)
1:释放页缓存
2:释放dentries和inodes
3:释放所有缓存
注意:
1.释放完内存后改回去让系统重新自动分配内存。
echo 0 >/proc/sys/vm/drop_caches
2.使用此命令前一定先运行sync命令,避免文件丢失的情况发生。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/31786.html