Linux
“echo 3 > /proc/sys/vm/drop_caches” - 以 root 身份拒絕權限
我目前在記憶體方面遇到一些問題。現在有點太多了,所以我想清除它。我用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"