참고 :이 솔루션은 여기 설명 된대로 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이 유효한 데이터 (우선 순위 수준) 인 실시간 및 최선의 클래스에 적용 할 수 있습니다.