【发布时间】:2021-01-08 13:04:02
【问题描述】:
最近我试图清空 Debian 网络服务器上的缓冲区缓存。我使用的命令是:
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 是一个命令,而不是要设置的变量。我找到了this:
sudo sysctl -w vm.drop_caches=3
它会立即清除 pagecache、dentries 和 inode,并且仅当您再次调用 sysctl -w 时才会再次清除,显然不需要以显式方式将其设置回 0。命令 sysctl 在 Debian 上不受本机支持,因此我正在寻找替代命令,更准确地说:
如何重置 drop_caches 或立即清空缓存将值重置为 0?
【问题讨论】:
标签: linux unix caching server debian