当前位置: 首页>>技术教程>>正文


如何使“ apt-get升级”使用更少的资源?

问题描述

当我在low-end笔记本电脑上运行带有很多软件包的sudo apt-get upgrade时,系统速度变慢,有时最多可冻结3秒。

有什么方法可以将该作业标记为非常低的优先级,即使用很少的CPU,MEM和HDD?我不太在乎是否会使apt-get upgrade延长两个小时的时间,我只是想继续工作,而不会在升级过程中受到干扰。

最佳办法

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

nice -n <niceness> <command>

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

sudo nice -n 19 apt-get upgrade

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

renice -n <niceness> -p <pid>

编辑:感谢@David提到ionice命令,该命令可让您操作磁盘I /O优先级。可以将流程分为三个不同的类:

  • 如果当前没有其他进程声明空闲时间,则“空闲”仅给出进程磁盘的时间。

  • Best-effort(默认类)。这使您可以分配从0到7的优先级,其中0最重要,最小7。您可以尝试将-n 7分配为优先级。

  • 实时进程要先处理所有其他事务,并在自己需要时立即挂起其他进程的磁盘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
...

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8247.html,未经允许,请勿转载。