top이 높은 부하를 보이고 프로세스를 처리하는 프로세스가 프로세서 시간을 수행하는지 또는 로컬 i / o가 아닌 네트워크 i / o를 수행하는지 알 수없는 경우 어떻게 알 수 있습니까?
우리 서버에서 높은로드 값을 볼 수 있지만 60 % -70 % 유휴 및 약 25 %의 사용자와 결합합니다. 이러한 값을 인터 페팅하는 방법을 알고 싶지만 인터넷에서 거의 항상 iostat를 사용하여 프로세스가 디스크를 휴지통으로 이동하는지 확인할 수 있습니다. 그러나 나는 이미 그렇지 않다는 것을 이미 알고 있습니다. 문제의 프로세스는 작업을 수행하는 데 문제가 없지만 여전히로드가 높습니다.
그렇다면 네트워크 대기로 인한 부분과 실제 프로세서 시간으로 인한 부분을 더 많이 알 수있는 방법이 있습니까? 그리고 ‘유휴’의 의미는 무엇입니까?
명확성을 위해 :로드와 함께 코어 당 평균 대기 프로세스를 나타내는 3 개의 숫자를 의미합니다. 이 머신에는 8 개의 코어가 있으며 수는 최대 25 개이므로 코어 당 2.5 개의로드입니다.
답변
top이 높은 부하를 보이고 프로세스를 처리하는 프로세스가 프로세서 시간을 수행하는지 또는 로컬 i / o가 아닌 네트워크 i / o를 수행하는지 알 수없는 경우 어떻게 알 수 있습니까?
네트워크 I / O는 NFS 트랜잭션의 일부가 아닌 경우 디스크 I / O로 간주되지 않는 한 Linux iowait 메트릭에서 고려되지 않습니다.
그렇다면 네트워크 대기로 인한 부분과 실제 프로세서 시간으로 인한 부분을 더 많이 알 수있는 방법이 있습니까?
가상의 NFS 대기 외부에서는 네트워크 대기에 의해 모든 평균로드가 차지하지 않습니다.
그리고 ‘유휴’의 의미는 무엇입니까?
즉, CPU가 나열된 다른 상태 (사용자, 시스템, 양호, iowait, 하드웨어 인터럽트, 소프트웨어 인터럽트, 도난) 중 하나가 아닌 시간의 백분율을 의미합니다. 여기에는 네트워크 대기가 포함됩니다. 유휴 상태 인 경우 CPU는 기본적으로 아무 작업도 수행하지 않습니다. CPU는 아무것도하지 않기 때문에 iowait도 유휴 시간입니다.