我运行了一些 Ubuntu 服务器,上面运行着大量的 django 站点。站点和 httpd 在启动时启动,之后(除了我通过 SSH 登录更新它或使用 bzr 更新网站)没有其他任何东西可以在上面运行。
目前超过一半的内存被分配为缓存。这不是问题,因为缓存通常会腾出空间,或者它的一小部分会滑入交换(同样,这并没有真正困扰我),但我认为不需要它。
有没有快速禁用缓存的方法?这更像是一个实验,所以知道如何重新打开它会很方便。
我运行了一些 Ubuntu 服务器,上面运行着大量的 django 站点。站点和 httpd 在启动时启动,之后(除了我通过 SSH 登录更新它或使用 bzr 更新网站)没有其他任何东西可以在上面运行。
目前超过一半的内存被分配为缓存。这不是问题,因为缓存通常会腾出空间,或者它的一小部分会滑入交换(同样,这并没有真正困扰我),但我认为不需要它。
有没有快速禁用缓存的方法?这更像是一个实验,所以知道如何重新打开它会很方便。
Andrea Righi 的这篇博客文章表明内核中没有配置选项,但它还勾勒出一个小
glibc
包装库,以便O_DIRECT
在每次调用open()
.这应该与完全禁用读取缓冲区具有相同的效果。
此外,OpenOffice wiki 有几种方法可以进行冷启动测试。这不是你想要的,但我想我还是把它包括在内。
从 2.6.16 开始,您可以运行:
不,你也不想。缓存只使用否则会处于空闲状态的内存。一旦需要它,它就会被释放并提供给需要它的进程,因此您可以认为缓存内存是空闲的,这就是为什么 free 命令会打印一行包含缓存的原因。