디스크 IO 우선 순위를 자동으로 설정하는 방법


8

Virtualbox, Steam 데이터 확인 또는 심지어와 같은 IO 집약적 응용 프로그램을 사용하면 dd시스템이 거의 응답하지 않습니다. 모두 우선 순위로 시작했지만 데스크톱을 매우 느리게 만들고 다른 응용 프로그램의 시작을 지연시킵니다.

ionice예를 들어 우선 순위를 유휴로 변경하는 것과 같은 것을 사용할 수 있다는 것을 알고 있지만 많은 프로세스를 생성하는 Virtualbox의 경우 어려워집니다.

시스템에 힌트를 줄 수 있습니까? 따라서 특정 응용 프로그램을 시작할 때 가장 낮은 IO 우선 순위로 시작됩니다.


내 해결책을 시도 했습니까? 그것은 일을합니까?
sm4rk0

답변:


7

참고 :이 솔루션은 여기 설명 된대로 cfq 스케줄러에서만 작동 합니다 . 발행하여 어떤 것이 사용되는지 확인해야합니다

cat /sys/block/sda/queue/scheduler

변경 필요한 경우.

올바르게 이해 ionice하면 명령을 시작할 때마다 일부 설정이 적용 되기를 원합니다 . 이 방법으로 할 수 있습니다 :

echo 'ionice -c 3 /usr/bin/VirtualBox "$@"' > VirtualBox
chmod a+x VirtualBox
sudo mv VirtualBox /usr/local/bin/

첫 번째 명령은 VirtualBox작은 따옴표로 묶은 텍스트를 내용으로 파일 을 만듭니다 . 하나만 지정 VirtualBox하면 방금 만든 파일로 해석하고 "루프"를 만들 수 있기 때문에 프로그램의 전체 경로가 있어야합니다 .

두 번째 명령은 실행 파일을 만들고 세 번째 명령은이 새로운 파일을 "system"bin 폴더 앞에있는 폴더로 옮기 /usr/bin므로 새 파일이 원본 대신 실행됩니다. "$ @"부분은 명령이 호출 된 모든 인수를 포함하므로 실제 VirtualBox 명령으로 전달됩니다.

이 수퍼 유저 질문에 대한 답변 ( "예")에 따르면 어린이 프로세스는 부모의 이온 우선 순위를 상속합니까? 실행중인 프로세스의 IO 우선 순위를 어떻게 확인합니까? 다음 ionice과 같이 부모 프로세스에 충분해야합니다 .

ionice -c 3 VirtualBox

에서 ionice man 페이지 , I에게 다음 / O 스케줄링 클래스 값을 사용할 수 있습니다 :

  • 없음의 경우 0
  • 실시간으로 1
  • 최선의 노력을위한 2
  • 유휴 상태 인 경우 3 (위 예에서 사용)

숫자 또는 클래스 이름을 사용할 수 있습니다.

또한 -n level옵션은 0-7이 유효한 데이터 (우선 순위 수준) 인 실시간 및 최선의 클래스에 적용 할 수 있습니다.


1
이 이론적으로 질문에 대답 할 수 있습니다 동안, 바람직 할 것이다 여기에 대한 대답의 본질적인 부분을 포함하고 참조 할 수 있도록 링크를 제공합니다.
Lucio

@Lucio, 힌트를 주셔서 감사하지만 " ionice부모 프로세스에 충분해야"하지 않습니까?
sm4rk0

1
그래, 너가 맞아. 그러나, 당신은 할 수 있다면 , 시간을 소요하고 더 나은 만들고,이 절차에 대한 자신의 경험에서 더 많은 정보를 추가 답변 :
루시오

@Lucio, 지금은 충분하기를 바랍니다. 주장 해 주셔서 감사합니다 (:
sm4rk0

1
참고 : 스케줄러로만 ionice작업 할 수 있습니다 cfq! 자세한 내용은 : unix.stackexchange.com/questions/136226/…
andras.tim

-1

'renice'명령을 사용하여 프로세스의 우선 순위를 지정할 수 있습니다.

renice -<priority> <application's pid>

또한 드라이브가 너무 많이 회전하고있을 수 있으므로 Virtualbox와 같은 응용 프로그램을 시작하려면 작업을 시작하기 전에 회전해야합니다 (시간이 걸릴 수 있음).


팁을 주셔서 감사하지만 시스템 및 시스템 전체를 자동으로 만드는 방법을 찾고있었습니다. 예를 들어 : Virtualbox를 시작할 때 가능한 가장 낮은 IO 우선 순위로 실행하십시오.
Salem

일반적인 nice와 renice는 IO를 개별적으로 우선 순위 화하지 않습니다.
Jay _silly_evarlast_ Wren

그리고 이것은 이온이 아닌 좋은 것입니다. 하나는 CPU 용이고 다른 하나는 IO 용입니다.
Dagelf
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.