대용량 MySQL 데이터베이스(덤프 크기는 약 10GB)를 덤프하면 거의 즉시 디스크에 나타나지만 나중에 커널이 이를 디스크에 플러시하기로 결정하면 서버가 거의 정지되고 기타 IO 요청이 발생합니다. 많은 리소스를 사용합니다. mysqldump가 ionice -c3을 사용하여 실행하면 완료하는 데 시간이 더 오래 걸리므로 ionice를 사용해도 실제 효과는 없습니다.
페이지 캐시에 데이터를 쓸 때 IO 우선 순위를 저장할 필드가 없습니다. 따라서 ionice
아무런 영향을 미치지 않습니다. 나한테 이런 권리가 있는 걸까?
내 최신 커널 버전은 4.18.16-200.fc28.x86_64
.
답변1
예.
이론적으로 Nice(1)가 이론적으로 CPU 사용량을 우선시하는 것처럼 ionice를 사용하면 명령에 대해 IO의 우선 순위를 지정할 수 있습니다. 이는 기계의 대화형 사용을 방해하지 않고 백그라운드에서 대규모이지만 상대적으로 중요한 편집을 수행할 수 있는 편리한 방법입니다.
(그렇습니다. 저는 종종 소스에서 Firefox를 다시 컴파일합니다.)
[...]
다음 문제는 디스크에서 직접 실행하는 경우에도
ionice
비동기 쓰기 IO의 우선순위가 해제되지 않는다는 것 입니다. 이는 대부분의 프로그램에서 수행하는 쓰기 IO의 대부분입니다. Ionice는 동기식 쓰기 속도를 늦출 수 있으며(프로그램을 테스트하지는 않았습니다) 읽기에는 확실히 작동하지만 그게 전부입니다.