Nice 대 ionice: 어느 것이 먼저 와야 할까요?

Nice 대 ionice: 어느 것이 먼저 와야 할까요?

길고 무거운 명령을 실행해야 하지만 동시에 데스크톱 시스템의 응답성을 유지하고 싶습니다.

예: btrfs 중복 제거, btrfs 밸런싱 등 이러한 명령에 낮은 우선 순위를 부여하면 명령을 완료하는 데 시간이 더 오래 걸려도 상관 없지만 시스템은 항상 응답해야 합니다.

nice -n 19및를 사용하면 ionice -c 3문제가 해결되지만 가장 많은 이점을 얻으려면 어떤 명령이 먼저 와야 하는지 잘 모르겠습니다.

  • 옵션 A:

    nice -n 19 ionice -c 3 btrfs balance start --full-balance /
    
  • 옵션 B:

    ionice -c 3 nice -n 19 btrfs balance start --full-balance /
    

옵션 A와 B 사이에 미묘한 차이가 있나요? 그것들은 아마도 동등할까요?

답변1

nice이로 인해 많은 I/O가 발생하는 경우 다음을 수행할 수 있습니다.

ionice -c 3 nice ...

I/O 영향을 최소화합니다.

반대로, ionice많은 계산을 수행한다면 다음을 수행하고 싶을 것입니다.

nice -n 19 ionice ...

CPU에 미치는 영향을 최소화합니다.

그러나 이들 중 어느 것도 사실이 아니며 모두 매우 간단한 명령입니다(단지 프로세스 매개변수를 변경하기 위해 시스템 호출을 한 다음 명령을 실행합니다). 따라서 그 차이는 무시할 수 있어야 합니다.

둘 다 사실이라면 완전히 승리할 수 없습니다. 둘 중 하나의 영향을 줄일 수 없습니다.

답변2

옵션 A와 옵션 B 사이에는 실질적인 차이가 없습니다.

관련 정보