Find
我可以減少大型遞歸 find + chmod 命令的 CPU 使用率嗎?
我正在使用以下命令來執行權限修復:
sudo find . -type f -exec chmod 470 {} \;
有成千上萬個文件需要更新權限。它還會在執行期間使 CPU 使用率達到峰值。
使用純 chmod 遞歸更新進一步修改文件權限的後續呼叫不會使 CPU 達到峰值
sudo chmod 770 -R /path/to/directory
我在找什麼:
- 在此呼叫期間減少 CPU 使用率的一種方法
- 可能過濾到需要更新權限的文件
用於
nice
在執行命令時設置較低的調度優先級,或用於renice
更改已執行程序的優先級。sudo nice -n 19 find . -type f -exec chmod 470 {} \;
您可以更改 find 以不返回已經與您設置的模式匹配的文件:
sudo nice -n 19 find \! -perm 0470 -and -type f -exec chmod 470 {} \;
CPU 的峰值是由於磁碟活動造成的,因此減少 CPU 的唯一方法是更快的磁碟。