높은 평균 부하, 낮은 CPU


11

서버 속도가 느려져서 이유를 모르겠습니다.

위에서 인쇄 :

top - 14:32:50 up 639 days,  6:30,  1 user,  load average: 67.93, 70.63, 79.85
Tasks: 245 total,   1 running, 244 sleeping,   0 stopped,   0 zombie
Cpu(s):  3.9% us,  0.5% sy,  0.0% ni, 94.5% id,  1.0% wa,  0.0% hi,  0.0% si
Mem:   1034784k total,  1021256k used,    13528k free,     4360k buffers
Swap:  1023960k total,   635752k used,   388208k free,    36632k cached

vmstat 10 6

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 0 110 795604  12328   3980  46676    0    0     0     0    0     0  4  1 95  1
 0 97 788848  12052   3960  46256 2985   33  3323    33  429     0  2  1  0 97
 0 119 782660  13992   4096  45740 2780   14  2995   360  435     0  2  1  1 96
 0 121 775924  15600   3724  42796 3084    0  3443   136  440     0  2  1  0 98
 0 113 769392  13576   3476  41968 3002    0  3458     7  426     0  2  1  0 97
 0 113 762284  12440   3332  34884 3151    0  3553    61  427     0  2  1  0 97

doitprod2 : / var / log # grep -c 프로세서 / proc / cpuinfo

2

iostat 2

 tps   Blk_czyt/s   Blk_zapis/s  Blk_czyt   Blk_zapis
sda             166,00      7128,00        52,00      14256        104

자, 프로세스를 종료하고 시작한 후에는 이제 괜찮습니다. 어쨌든 당신의 도움을 위해 Thx.


의 출력을 포함 할 수 vmstat 10 6있습니까? (달리려면 60 초가 걸립니다)grep -c processor /proc/cpuinfo
James C

serverfault.com/q/482832/58957 의 답변 / 설명에는 이러한 증상에 대한 더 많은 이유와 설명이 나와 있습니다.
Nickolay

답변:


10

프로세스가 UNINTERRUPTIBLE_SLEEP상태 에있을 수 있습니다 . 일반적으로 디스크에서 읽는 것과 같은 하드웨어에서 무언가를 기다리고 있기 때문에 해당 상태에 있습니다. 이러한 프로세스는 실제로 휴면 상태이지만 (244 개의 휴면 프로세스가 있음)로드 평균 계산에 들어갑니다. 서버 IO 를 확인 vmstat하고 D상태 가 많은지 top또는 ps확인할지 확인하십시오.

편집 : 귀하의보고 vmstat출력을 더 확인하는 IO 문제. 귀하의 b에서 열 procs무정전 수면에 100 개 프로세스의 평균 쇼. 내 bi컬럼 (블록 블록 장치로부터 판독)로서뿐만 아니라, 매우 높은 si열 (메모리 스왑 / 디스크로부터 판독). 마지막으로 cpu헤더 아래 wa열에는 CPU가 IO가 완료되기를 기다리는 데 90 % 이상을 소비하고 있음이 표시됩니다.

IO에 문제가있는 이유를 확인해야합니다. 서버 용량이 부족하고 프로세스가 과도하게 실행되는 등 다른 이유가있을 수 있지만 확실히 IO입니다.


1
iotop( apt-get install iotop) 를 사용하여 담당자를 찾을 수 있습니다 . 또한 메모리를 기준으로 정기적으로 정렬하면 O (대문자 o)를 누르고 n을 입력 한 다음 Enter 키를 누릅니다. 최상위 메모리 사용자는 모든 스와핑을 담당 할 수 있습니다.
Eduardo Ivanec

2

최고가되면 1.0 % wa를 확인하십시오. 스왑 파일에 도달 했으므로 프로세스가 I / O를 기다릴 수 있습니다.

cat /proc/sys/fs/file-nr첫 번째 숫자가 세 번째 숫자에 가까운 지 확인하십시오 (열린 파일 대 열린 파일).

VPS에 있습니까?


/ proc / sys / fs / file-nr 3600 0102712
Kamilos

서버에서 실행중인 소프트웨어 유형을 공유 할 수 있으면 약간의 빛이 비칠 수 있습니다. (예 : 아파치, 톰캣, 글래스 피쉬 등). 그러나 확실히 더 많은 램 (더블 또는 그 이상)은 기계에 좋은 향상을 줄 것입니다.
pataroulis

2

vmstat 출력에 표시된 iowait (마지막 열에 "wa"로 표시됨)가 매우 높습니다. 그리고 페이징이 많이 진행되고 있습니다 (실제 메모리와 디스크 기반 스왑간에 데이터 페이지 이동).

이 기계는 더 많은 물리적 램의 이점을 누릴 수 있습니다.

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