如何让‘apt-get upgrade’使用更少的资源?

如何让‘apt-get upgrade’使用更少的资源?

当我sudo apt-get upgrade在低端笔记本电脑上运行大量软件包时,我发现系统速度明显变慢,有时屏幕甚至会冻结 3 秒。

有没有办法将这个任务标记为极低优先级,即使用很少的 CPU、MEM 和 HDD?我并不关心它是否会apt-get upgrade延长两个小时才能完成,我只想在升级期间不受干扰地继续工作。

答案1

该命令nice可用于操纵进程CPU 调度优先级。该命令为进程分配一个从 -20(最重要)到 +19(最不重要)的“niceness”值。Root 可以分配任何值,其他用户只能分配正值(次要重要性)。默认值为 0。

nice -n <niceness> <command>

要将 apt-get 命令的优先级设置为最低值,可以使用以下命令

sudo nice -n 19 apt-get upgrade

要设置已经运行的进程的优先级,renice可以使用以下命令:

renice -n <niceness> -p <pid>

编辑:感谢@David提到该ionice命令,它允许您操作磁盘 I/O 优先级。它可以把一个进程分成三个不同的类:

  • 闲置的如果此刻没有其他进程声明该磁盘时间,则仅向该进程提供磁盘时间。
  • 最大努力(默认类别)。这允许您分配从 0 到 7 的优先级,其中 0 最重要,7 最不重要。您可以尝试分配-n 7优先级。
  • 即时的进程优先于其他一切进行处理,当其他进程需要磁盘 I/O 时,立即暂停这些进程的磁盘 I/O。小心使用!

IOnice 结合了 nice 和 renice 的语法:

ionice [-c class] [-n level] command             #To start a new process
ionice [-c class] [-n level] -p pid              #To change a running process

两个命令可以组合使用,例如

sudo ionice -n 7 nice -n 19 apt-get upgrade      #Omitting the -c switch will assign Best-effort
sudo nice -n 19 ionice -n 7 apt-get upgrade
nice -n 19 ionice -n 7 sudo apt-get upgrade
...

相关内容