‘apt-get upgrade’으로 적은 리소스를 사용하는 방법은 무엇입니까? 랩톱에서 많은 패키지를 실행 하면 인식

sudo apt-get upgrade저가형 랩톱에서 많은 패키지를 실행 하면 인식 할 수있는 시스템 속도가 느려지고 때로는 최대 3 초의 화면이 정지됩니다.

이 작업을 매우 낮은 우선 순위로 표시 할 수있는 방법이 있습니까 (예 : CPU, MEM 및 HDD가 매우 적습니까) apt-get upgrade완료하는 데 2 시간이 더 걸릴지에 대해서는 신경 쓰지 않으며 업그레이드 중에 중단없이 계속 작업하고 싶습니다.



답변

이 명령 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>

편집 : ionice명령 을 언급 한 @David 덕분에 디스크 I / O 우선 순위 를 조작 할 수 있습니다 . 프로세스를 세 가지 다른 클래스로 넣을 수 있습니다.

  • 유휴 상태 인 다른 프로세스가없는 경우 유휴 상태 는 프로세스 디스크 시간 만 제공합니다.
  • 최선의 노력 (기본 클래스). 이를 통해 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
...