도구 ionice
는 높은 I/O 로드를 완화하기 위해 시스템이 지정된 상태에 있을 때만 명령을 실행해야 합니다.
이것매뉴얼 페이지상태:
Linux는 2.6.13부터 CFQ I/O 스케줄러를 통해 I/O 스케줄링 우선순위 및 클래스를 지원합니다.
그러나 5.3부터 CFQ I/O는 더 이상 사용되지 않으며 커널에서 제거되었습니다.
그렇다면 이 유틸리티의 상태는 어떻습니까? 최신 커널에서 정말 작동할까요?
추가 정보
ionice
커널 호출 사용ioprio_set
- 이것문서상태:
이러한 시스템 호출은 I/O 우선 순위를 지원하는 I/O 스케줄러와 함께 작동합니다. 커널 2.6.17에서 이러한 스케줄러는 CFQ(Complete Fair Queue) I/O 스케줄러뿐입니다.
답변1
간단히 말해서:이오아니스BFQ I/O 스케줄러를 선택하면 여전히 유용해 보입니다.
그러나 5.3부터 CFQ I/O는 더 이상 사용되지 않으며 커널에서 제거되었습니다.
사실이지만예산 공정 대기열 I/O 스케줄러는 최신 커널에서 계속 사용할 수 있습니다.
6.3부터 MMC 블록 장치 드라이버가 선택된 경우 힌트도 표시됩니다.:
config MMC_BLOCK
tristate "MMC block device driver"
depends on BLOCK
imply IOSCHED_BFQ
이것BFQ는 I/O 스케줄링 우선순위를 존중합니다.저것이오아니스프로세스에 할당할 수 있습니다.
ioprio 및 각 프로세스의 가중치: cgroups 인터페이스를 사용하지 않는 한("4. BFQ 그룹 예약" 참조) 가중치는 I/O 우선 순위를 통해 간접적으로만 프로세스에 할당될 수 있으며 다음 관계에 따라: 가중치 = (IOPRIO_BE_NR - 이프리오 오스트리아) * 10
보고서에 따르면 이는 일정 카테고리를 존중하기 위한 것이기도 합니다. 이오아니스할당 가능:
또한 ionice -c3을 사용하여 마운트/마운트 해제 루프의 IO 우선 순위를 유휴로 설정하는 방법도 살펴보았습니다. 이는 이름에서 알 수 있는 것과 정확히 일치합니다. BFQ는 기본적으로 보류 중인 우선 순위가 더 높은 IO가 있는 경우 유휴 우선 순위에서 시작하지 않습니다. IO 제공