查看内存的使用情况
free 或者 top
- total 总内存
- used 已用内存
- free 空闲内存
- buff/cache 已使用的缓存
- avaiable 可用内存
demo
清理已使用的缓存(buff/cache)
前面加sync 是为了防止内容丢失,运行sync会把未存盘的cache都写入磁盘,稍等片刻, 或者是直接运行sync 两遍
sync; echo 3 > /proc/sys/vm/drop_caches
这里的buffer指Linux内存的:Buffer cache。这里的cache指Linux内存中的:Page cache。翻译成中文可以叫做缓冲区缓存和页面缓存。
echo 1 > /proc/sys/vm/drop_caches
:表示清除pagecache。echo 2 > /proc/sys/vm/drop_caches
:表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。echo 3 > /proc/sys/vm/drop_caches
:表示清除pagecache和slab分配器中的缓存对象。
清缓存前记得加sync,多执行几遍…防止丢失
ps:
不要在生产线上环境直接清理…因为但是如果在执行这些操作时正在写数据,那么实际上在数据到达磁盘之前就将它从文件缓存中清除掉了,这可能会造成很不好的影响。