Linux

“echo 3 > /proc/sys/vm/drop_caches” - 以 root 身份拒絕權限

  • July 14, 2019

我目前在記憶體方面遇到一些問題。現在有點太多了,所以我想清除它。我用Google搜尋並找到了這個小命令:sync && echo 3 > /proc/sys/vm/drop_caches.

我通過 SSH 以 root 身份登錄(不使用 sudo)。這些是我所做的嘗試:

root@server: ~ # ll /proc/sys/vm/drop_caches
-rw-r--r-- 1 root root 0 15. Jan 20:21 /proc/sys/vm/drop_caches

root@server: ~ # echo 3 > /proc/sys/vm/drop_caches
-bash: /proc/sys/vm/drop_caches: Permission denied

root@server: ~ # sudo su -c "echo 3 > /proc/sys/vm/drop_caches"
bash: /proc/sys/vm/drop_caches: Permission denied

root@server: ~ # echo 3 | sudo tee /proc/sys/vm/drop_caches
tee: /proc/sys/vm/drop_caches: Permission denied
3

它是一台執行 Debian 的遠端機器。據我所知,這台機器中有一些 vCore,它使用 Virtuozzo 進行虛擬化。

我真的只想清除記憶體*(所以我只能使用 SSH 訪問它)*。

我還嘗試將其註冊為 cronjob。但它也失敗了!

我通過 SSH 以 root 身份登錄…這是一台執行 Debian 的遠端機器。

它實際上是一台遠端機器,還是只是一個遠端系統?如果這是某個地方的 VPS切片,(至少某些形式的)作業系統虛擬化(例如 openVZ)將不允許在容器內進行此操作。你不執行機器,你只執行你的切片。

sudo必須覆蓋整個重定向,以便它可以完全由 root 執行:

$ sudo sh -c "/usr/bin/echo 3 > /proc/sys/vm/drop_caches"

引用自:https://unix.stackexchange.com/questions/109496