CPU로드는 높지만 최상위 프로세스는 모두 약 0 %


11

우리는 비정상적으로 높은 부하와 CPU 유틸리티를 가진 서버를 가지고 있지만 그 이유를 알 수는 없습니다. 우리가 정상을 돌 때 모든 procs는 매우 낮은 CPU 인 것처럼 보입니다.

http://cl.ly/2d1g0K3q261r0R0K3e35

이 원인을 찾는 더 좋은 방법이 있습니까?


우분투 10.04
Ben

답변:


4

이 버그 가 당신의 경우 라고 생각 합니다 . 출력에서 볼 수 있듯이 충분한 메모리 (캐시 된 14GB 정도), I / O 문제는 없지만 xen 관련 프로세스가 실행 중입니다. 이것은 내가 버그라고 생각하게합니다.


Ubuntu 10.04 및 AWS에서 사용중인 하드웨어의 버그 인 것으로 나타났습니다
Ben

7

로드는 시스템이 1, 5 및 15 분 단위로 수행 한 워크로드를 측정 한 것입니다.

가장 일반적인 오해는 Load Average가 시스템의 CPU 사용량과 순수하게 연결되어 있다는 것입니다.
그러나로드에는 CPU가 I / O를 기다리는 등의 추가 측정이 포함되어 있습니다.

이미지를 기반으로 메모리가 부족하고 데이터를 디스크로 스왑하기 시작한 것 같습니다.

간단한 free -m것은 얼마나 많은 RAM과 스왑이 사용되는지 알려줍니다.
흥미로운 열은 옆에있는 빈 열 -/+ buffers/cache입니다.
0에 가까우면 RAM이 부족하고 그에 따라 작동해야합니다.


1
스왑 +1 iotop또는 vmstatI / O인지 확인 하거나 시도 할 수 있습니다 .
Axel Knauf

1
-/ + 버퍼 / 캐시 : 2933 14586
Ben

4

로드 평균이 상당히 높다는 것을 알 수 있습니다 (68, 와우). 약간의 CPU를 차지하는 많은 프로세스가있을 수 있으므로 모든 CPU 시간을 소비 할 수 있습니까? 어쩌면, 그 프로세스는 매우 빨리 시작하고 끝나기 때문에 top은 그 존재를 포착 할 수 없으므로 꼭대기에서 볼 수 있는지 볼 수 있습니다.



2

다음을 사용하십시오.

top -o cpu

-o플래그는 내림차순으로 CPU 사용에 의해 프로세스를 주문 상단 강제 할 것이다.


내가 달렸을 때 나는 top -o cpu"맨 위 : 알 수없는 논증 'o"를 얻었다
Ben

좋아, 런닝을 o하면서 뛸 수 있어 기본 키를 요청해야합니다. 입력 cpu하고 Enter를 누르십시오.
산적

1
CPU로 정렬 된 경우에도 목록의 맨 위에 1 % 이상은 없으며 주어진 시간에 소수 (2-3) 만 있습니다. 나머지는 0 %입니다.
Ben

Centos 7.2에서 최소한 이것을하기위한 올바른 명령은top -o %CPU
siliconrockstar

2

nfs의 파일 또는 다른 프로세스가 액세스해야하는 파일을 잠그는 다른 파일 일 수 있습니다.

너무 많은 스레드를 활성화하여 구성된 서비스를 놓칠 수도 있습니다.


0

CPU 사용량이 스레드에서 발생하는 것 같습니다. top이것을 고려하지 않은 것 같습니다. 나는 최근에 이것을 mysql 서버에서 보았다. INSERT 문이 실행 중이지만 mysqld의 일부 스레드가 테이블 인덱스를 업데이트했기 때문에 SELECT로 새 행을 가져올 수 없습니다. top은 하나의 코어에 100 % 사용자로드를 표시하지만 mysqld를 포함한 모든 프로세스는 0.0 % CPU입니다. 몇 시간 후 동일한 SELECT가 예상 결과 세트를 제공했습니다.

또한보십시오

스레드 당 CPU 통계 얻기

'중지'프로세스 및 스레드 CPU 사용량?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.