안녕하세요, 오랜만에 글을 올립니다.
좀전에 동료 직원분과 이야기하다가 한번 정리해두면 좋겠다 싶어 글을 씁니다.
esxtop 을 실행해보면, 1번을 차지하고 있는 system world가 있습니다.
VM 이 얼마나 실행중인지에 따라 다르지만, 그냥 보면, 해당 world의 Ready 타임이 높아지는 경우가 있습니다.
Ready 타임이라 하면, 일반적으로, CPU 가 실행되기 위해서 기다리고 있는 시간이죠, 그래서 Ready time 이 높다 = 성능에 안좋다 라고 보통 이야기 합니다.
따라서, 얼핏보면, System world 의 Ready time 이 높다 라고 하면, 어? 호스트에 뭔가 안좋은 영향이 있는것이 아닌가 라고 생각하실 수 있습니다.
그러나 VM 만 놓고 보면 Ready 타임은 거의 미비한 것을 볼 수 있습니다.
그럼 System 프로세스의 Ready 값이 높으면 문제가 되느냐? 그렇지 않습니다.
그 이유는 다음과 같습니다.
해당 항목을 expand 해서 보면 (e -> 1), 다음과 같이 CPU 코어 갯수별로 idle 프로세스가 존재하는것을 볼 수 있습니다. 아래는 8 core 16 thread 시스템임으로 참고 하시기 바랍니다.
보시면 idleX 의 형태로 존재하며, 16 thread 시스템이여서 idle world가 16개가 존재하는 것을 볼 수 있고 Ready 이 높습니다.
이 idle world 의 경우, 일반적인 프로세스와는 다르게, CPU 가 실행해야할 world 가 없는 경우 실행됩니다. 바꿔 말하면, idle world 의 ready 이 높다라는 이야기는 무언가 실행중이다, 그게 VM 이든 system world 이든 말이죠.
반대로 idle world 의 ready 값이 낮은 경우(Run 이 높은 경우)에는 idle world 이외에 딱히 실행해야할 world 가 없다. 즉 한가하다 라는 이야기 입니다.
따라서 반대로 이해하시면 되겠습니다.
위 idle world 는 CPU 스케쥴링을 위해 사용되는 것으로, 혹시나 누가 물어보신다면 참조 하시기 바랍니다.
system 값이 있는지도 몰랐네요..
좋은 정보 감사합니다~^^