最近,我试图清空Debian Web服务器上的缓冲区缓存。我使用的命令是:
free && sync && echo 3 > /proc/sys/vm/drop_caches && free
到目前为止,运行cat /proc/sys/vm/drop_caches
打印值为3。
当我尝试使用sync && echo 0 > /proc/sys/vm/drop_caches
将值重置为0时,此错误显示:bash: echo: write error: Invalid argument
这是由于drop_caches
是命令,而不是要设置的变量。我发现了这个:
sudo sysctl -w vm.drop_caches=3
它立即清除页面缓存、数据条目和索引节点,并仅在再次调用sysctl -w
时再次清除,显然没有必要以显式方式将其设置回0。Debian本身不支持命令sysctl
,因此我正在寻找一个替代命令,更准确地说:
如何重置DROP_CACHES或立即清空缓存以将值重置为0?
2条答案
按热度按时间ccgok5k51#
值1-3仅是操作的一次触发。没有值0。
Sysctl在包PROPS中。
apt install procps
0qx6xfy62#
要禁用它们,请将4(位2)回显到DROP_CACHES中。
从https://www.kernel.org/doc/Documentation/sysctl/vm.txt开始