linux虚拟机释放内存cache | 您所在的位置:网站首页 › 虚拟机删除代码 › linux虚拟机释放内存cache |
1.手动释放cache
我们在清理缓存前应该先 sync下 因为系统在操作的过程当中,会把你的操作到的文件资料先保存到buffer中去,因为怕你在操作的过程中因为断电等原因遗失数据,所以在你操作过程中会把文件资料先缓存。 所以我们在清理缓存先要先把buffe中的数据先写入到硬盘中,sync命令 sync 手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件) echo 3 > /proc/sys/vm/drop_caches drop_caches的值可以是0-3之间的数字,代表不同的含义: 0:不释放(系统默认值) 1:释放页缓存 2:释放dentries和inodes 3:释放全部 total——总物理内存 used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存 free——完全未被使用的内存 shared——应用程序共享内存 buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加) cached——缓存,用于已打开的文件 2.Linux 磁盘空间清理执行 lsof | grep deleted发现有大量刚刚删除文件的进程存在,kill掉进程(或者重启进程) OK 仍存在的问题:内存占用过多的话需要手动清理一下缓存 建议:每周查看一次云中心的内存磁盘使用情况,使用过多的话手动清理一下。 优雅的清理缓存 free -g sync echo 1 >> /proc/sys/vm/drop_caches 优先:sync & echo 1 > /proc/sys/vm/drop_caches 如果无效再继续清理:sync & echo 2 > /proc/sys/vm/drop_caches |
CopyRight 2018-2019 实验室设备网 版权所有 |