
때때로 디스크 IO에 과부하가 걸리는 소프트웨어를 실행합니다. 이 소프트웨어에서는 빠른 응답이 필요하지 않고 다른 응용 프로그램에서는 빠른 응답이 필요하므로 프로세스 우선 순위를 낮게 설정할 수 있습니다. 프로세스 우선순위가 프로세스의 디스크 IO 우선순위에 어떤 영향을 미치는지 묻고 싶습니다.
나는 약간의 실험을 시도했습니다. 프로세스에 대해 낮은 우선 순위를 설정하고(GNOME 아래 시스템 모니터에서) ionice
.
결과:
IO priority = 0 for normal process priority
IO priority = 4 for low process priority
하지만 이것이 항상 사실입니까? 프로세스 우선순위를 낮추면 IO 우선순위도 항상 낮아지나요?
답변1
Linux에서는 기본적으로 프로세스의 IO 우선순위가 CPU 우선순위를 기반으로 하는 공식에서 파생됩니다.
io_priority = (cpu_nice + 20) / 5
IO 우선순위 범위는 0부터 7까지이며 0이 가장 높은 우선순위입니다. CPU 친화도 범위는 -20부터 19까지이며, -20이 가장 높은 우선순위입니다.
이 ionice
명령을 사용하여 프로세스의 IO 우선순위를 변경할 수 있습니다. 시스템이 사용 중이지 않을 때만 프로세스를 실행하려면 기본 "최선" 클래스 대신 "idle" 클래스에서 실행되도록 설정하세요.
ionice -c 3 -p $PID
ionice -c 3 mycommand --someoption
우선 순위가 가장 낮더라도 디스크를 많이 사용하는 프로세스는 캐시를 오염시키기 때문에 시스템 속도를 저하시킬 수 있습니다.
보다ionice
매뉴얼 페이지더 많은 정보를 알고 싶습니다.