`

CentOS 释放内存

 
阅读更多

内存占用原因
当读写文件的时候,Linux内核为了提高读写性能与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory.
即使你的程序运行结束后,Cache Memory也不会自动释放.这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存会很少.

 

处理方法一
Cache Memory在你需要使用内存的时候会自动释放,所以你不必担心没有内存可用.

处理方法二
如果你希望手动去释放Cache Memory也是有办法的:
使用 sync;sync;echo 1 > /proc/sys/vm/drop_caches 命令.

效果很显著.


命令解释
sync命令的作用是将有关文件系统的存储器常驻信息送入物理介质内.
为确保可靠起见,应执行两遍sync命令,这是因为sync命令完成时,并不保证信息实际写到了磁盘上.

 

清空 pagecache
echo 1 > /proc/sys/vm/drop_caches
sysctl -w vm.drop_caches=1命令与上述命令效果相同

 

清空所有缓存(pagecache、dentries 和 inodes)
echo 3 > /proc/sys/vm/drop_caches
sysctl -w vm.drop_caches=3命令与上述命令效果相同

 

关于drop_caches的官方说法
To use /proc/sys/vm/drop_caches, just echo a number to it.
 
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

This is a non-destructive operation and will only free things that are completely unused. Dirty objects will continue to be in use until written out to disk and are not freeable. If you  run "sync" first to flush them out to disk, these drop operations will tend to free more memory.

分享到:
评论

相关推荐

    Centos7内存释放脚本

    Centos7内存释放脚本

    CentOS7清理yum缓存和释放内存方法.pdf

    CentOS7清理yum缓存和释放内存方法

    实现释放CentOS系统内存的Shell脚本分享

    主要介绍了实现释放CentOS系统内存的Shell脚本分享,本文对一些小内存的VPS特别有用,需要的朋友可以参考下

    dotNet Core 内存占用过高的解决方案.docx

    dotNet Core 内存占用过高的解决方案dotNet Core 内存占用过高的解决方案

    Linux 内存释放命令详解

    我使用的是CentOS 6.5 ,由于卸载Solr 后发现内存占用挺多的,我想释放一下内存,就查阅了一些资料,分享给大家: 1.free -m 查看内存的使用情况,-m表示单位是兆 2.echo 1 > /proc/sys/vm/drop_caches 以上内容...

    MySQL OOM(内存溢出)的解决思路

    OOM全称”Out Of Memory”,即内存溢出。 内存溢出已经是软件开发历史上存在了近40年的“老大难”问题。...如果已经出现OOM,则可以通过dmesg命令查看,CentOS7版本以上支持 -T选项,能将时间戳转成时

    linux 内存清理/释放命令总结

    本文介绍了linux 内存清理/释放命令,具体如下: 1.清理前内存使用情况 free -m 2.开始清理  echo 1 > /proc/sys/vm/drop_caches 3.清理后内存使用情况 free -m 4.完成! 查看内存条数命令: dmidecode |...

    Centos7中添加、删除Swap交换分区的方法

    Swap空间的作用是当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。这篇文章主要给大家介绍了关于Centos7中添加、删除Swap交换分区的相关资料,以及Centos7下增加...

    Linux:Java应用随着持续运行一段时间后,内存可用率逐渐减少的乌龙事件排查过程

    环境:centos 运行程序: springMVC的web服务 容器:jetty 一、背景 我们有一个应用,在上线之后,监控到内存可用率随着运行时间逐步下降,从上线之初的50%,运行一段时间后下降到20%左右。机器上有其他进程也占内存...

    linux虚拟主机管理wdcp v1.1 build 20110423

    wdcp (WDlinux Control Panel)...停止,启动,设置随系统启5 在线端口管理,可检测开通端口,关闭端口6 在线管理进程,查看进程,终止进程KILL7 在线设置IP地址,增加,删除8 在线内存管理,查看内存使用情况,可在线释放内存9 在

    Linux系统中swap分区的设置与增加/删除

    Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些...

    c实现的websocket 服务器

    大神写的websocket服务器,但有内存报错,也没管内存释放,还有一些不完善的地方,我给弄好了 把ws.html放到你的网站。修改里面的ip。 编译和运行服务器端(我是centos下) gcc -g -o websocket websocket.c ...

    secure-delete-3.1-6.2.x86_64.rpm

    secure-delete-3.1-6.2.x86_64版本,...secure-delete 软件包包含一些安全删除工具,这些工具能够安全清除文件数据、释放磁盘空间、交换分区和内存。 secure-delete 软件包中包含下列命令: srm sdel sdmem sfill sswap

    secure-delete-3.1-8.5.x86_64.rpm

    secure-delete-3.1-8.5.x86_64版本,...secure-delete 软件包包含一些安全删除工具,这些工具能够安全清除文件数据、释放磁盘空间、交换分区和内存。 secure-delete 软件包中包含下列命令: srm sdel sdmem sfill sswap

Global site tag (gtag.js) - Google Analytics