如何仅在计算机空闲时运行 I/O 密集型应用程序?

zub*_*uba 7 command-line disk monitor process

如果用户使用键盘或鼠标,是否有可以指示暂停指定进程并在用户停止与操作系统交互后的特定时间恢复的工具?

我想用这种方式来处理烦人的 mlocate update db、backuppc。

ps

09.2015 我猜这些有用的工具困扰着我,因为我的 Ubuntu 实际上是一个服务器,而不是桌面。

ish*_*ish 11

使用该ionice实用程序将命令的 I/O 优先级设置为空闲- 这样它就不会在您工作时占用您的硬盘,从而可能减慢您的速度。

语法是:

ionice -c 3 command-name
Run Code Online (Sandbox Code Playgroud)
  • -c 3将 I/O 优先级设置为空闲。有关man ionice更多信息,请参阅。
  • sudo如果命令本身需要sudo,请不要忘记前缀,例如updatedb
  • 您也可以同时使用nice将 CPU 优先级设置为“空闲”,例如

    sudo nice -19 ionice -c 3 updatedb

注意:如果应用程序通过 运行cron,您还应该考虑将计划时间更改为您最不使用计算机的时间。