Jon*_*jon 6 command-line shell io find
我不小心创建了 800 万个文件,每次我试图删除它们时,服务器几乎都死了,因为 rm 进程吃掉了所有磁盘 IO(服务器是远程的,没有控制台)。
应该像这样的工作,即调用 ionice 吗?
sudo find /var/lib/php5/ -type f -exec ionice -c3 rm -f {} \;
Run Code Online (Sandbox Code Playgroud)
我会这样做...
sudo ionice -c3 find /var/lib/php5/ -type f -exec rm -f '{}' +
Run Code Online (Sandbox Code Playgroud)
在+更xargs的喜欢(我认为),从而在非常大量的文件更有效。将 ionice 放在整个命令上应该使每个子命令也被离子化,以及搜索本身。你试过这个吗?
你也可以让它变得非常好, nice -n 19 ionice -c 3 programname虽然它不应该是必要的。
或者从@alex那里得到提示,你可以
ionice -c3 find /var/lib/php5/ -type f -delete
Run Code Online (Sandbox Code Playgroud)