drop_caches
写入这将导致内核删除干净的缓存,以及可回收的板对象,如dentries和inode。 一旦下降,他们的记忆变得自由。
释放页面缓存:
echo 1 > /proc/sys/vm/drop_caches
释放可回收的板对象(包括dentries和inode):
echo 2 > /proc/sys/vm/drop_caches
要释放平板对象和页面缓存:
echo 3 > /proc/sys/vm/drop_caches
这是一个非破坏性的操作,不会释放任何脏物体。 要增加此操作释放的对象数量,用户可以在写入/ proc / sys / vm / drop_caches之前运行“sync”。 这将尽量减少系统上的脏对象的数量,并创建更多的候选人被丢弃。
这个文件不是控制各种内核缓存(inode,dentries,pagecache等)增长的手段。当系统中的其他地方需要内存时,这些对象会被内核自动回收。
使用此文件可能会导致性能问题。 由于它放弃了缓存的对象,因此可能会花费大量的I / O和CPU来重新创建被删除的对象,特别是在被大量使用的情况下。 因此,建议不要在测试或调试环境之外使用。
使用此文件时,您可能会在内核日志中看到信息性消息:
cat (1234): drop_caches: 3
这些只是信息。 他们并不是说你的系统有什么问题。 要禁用它们,回声4(位3)到drop_caches。