CPU load 가 100% 인 문제..

무혼인형의 이미지

안녕하세요. 자꾸 CPU스텟이 100% 가 되서 서버의 network가 마비가 되는 문제 인데요.. 아래는 top을 한 결과 입니다.

  4:00pm  up 23 days, 19:30,  2 users,  load average: 1.27, 1.44, 1.23
27 processes: 25 sleeping, 2 running, 0 zombie, 0 stopped
CPU states:  0.0% user, 99.4% system,  0.0% nice,  0.5% idle
Mem:    93796K av,   91512K used,    2284K free,       0K shrd,   23388K buff
Swap:  192772K av,    1832K used,  190940K free                   20460K cached

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
    3 root      39  19     0    0     0 RWN  86.9  0.0  2449m ksoftirqd_CPU0
 1694 root      17   0  1064 1064   840 R     9.4  1.1   0:01 top
 2002 root      15   0   580  428   396 S     0.3  0.4  18:21 sshd
    1 root      16   0   288  280   252 S     0.1  0.2  10:31 init
    4 root      15   0     0    0     0 SW    0.1  0.0   6:20 kswapd
   11 root      15   0     0    0     0 SW    0.1  0.0  16:46 kjournald
    2 root      15   0     0    0     0 SW    0.0  0.0   0:24 keventd
    5 root      15   0     0    0     0 SW    0.0  0.0   0:00 bdflush
    6 root      16   0     0    0     0 SW    0.0  0.0   1:44 kupdated
    7 root      25   0     0    0     0 SW    0.0  0.0   0:00 mdrecoveryd
   67 root      16   0     0    0     0 SW    0.0  0.0   0:00 khubd
  159 root      15   0     0    0     0 SW    0.0  0.0   0:00 kjournald
  436 root      15   0   380  300   300 S     0.0  0.3   6:26 syslogd
  441 root      15   0   220  204   204 S     0.0  0.2   0:48 klogd
 2030 root      16   0   160  116   116 S     0.0  0.1   0:00 mingetty
32516 nobody    15   0   864  800   800 S     0.0  0.8   0:07 boa
18214 root      16   0   396  352   352 S     0.0  0.3   0:00 mingetty
29808 root      15   0  1528 1528  1148 S     0.0  1.6   0:05 bash
 1400 root      16   0  1516 1516  1140 S     0.0  1.6   0:04 bash

그리고 vmstat 5 한 것 입니다.

[root@ecom1 proc]# vmstat 5
   procs                      memory    swap          io     system         cpu
 r  b  w   swpd   free   buff  cache  si  so    bi    bo   in    cs  us  sy  id
 2  0  1   1832   2844  22464  20668   0   0     1     9   10     9   1  17  19
 1  0  1   1832   2844  22468  20664   0   0     0     8 5860    15   0  99   1
 0  0  1   1832   2844  22468  20664   0   0     0     2 6454    21   0 100   0
 0  0  1   1832   2844  22468  20664   0   0     0     2 6522    31   0 100   0
 0  0  1   1832   2844  22468  20664   0   0     0     0 6323    19   0 100   0
 0  0  1   1832   2844  22468  20664   0   0     0     2 6617    24   0 100   0
 0  0  1   1832   2844  22468  20664   0   0     0     2 6511    18   0 100   0
 0  0  1   1832   2844  22468  20664   0   0     0     2 6439    27   0 100   0

그리고 다음은 ps aux 의 결과 입니다.
[root@ecom1 proc]# ps aux
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.2  1340  280 ?        S    Nov04  10:29 init [3]
root         2  0.0  0.0     0    0 ?        SW   Nov04   0:24 [keventd]
root         3  7.1  0.0     0    0 ?        RWN  Nov04 2437:18 [ksoftirqd_CPU0]
root         4  0.0  0.0     0    0 ?        SW   Nov04   6:18 [kswapd]
root         5  0.0  0.0     0    0 ?        SW   Nov04   0:00 [bdflush]
root         6  0.0  0.0     0    0 ?        SW   Nov04   1:44 [kupdated]
root         7  0.0  0.0     0    0 ?        SW   Nov04   0:00 [mdrecoveryd]
root        11  0.0  0.0     0    0 ?        SW   Nov04  16:42 [kjournald]
root        67  0.0  0.0     0    0 ?        SW   Nov04   0:00 [khubd]
root       159  0.0  0.0     0    0 ?        SW   Nov04   0:00 [kjournald]
root       436  0.0  0.3  1744  300 ?        S    Nov04   6:24 syslogd -m 0
root       441  0.0  0.2  1336  204 ?        S    Nov04   0:48 klogd -x
root      2002  0.0  0.4  3276  428 ?        S    Nov04   1:16 /usr/sbin/sshd
root      2030  0.0  0.1  1316  116 tty2     S    Nov04   0:00 /sbin/mingetty tty2
nobody   32516  0.0  0.8  1724  800 ?        S    Nov05   0:07 boa
root     18214  0.0  0.3  1316  352 tty1     S    Nov13   0:00 /sbin/mingetty tty1
root     29806  9.6  1.8  6776 1760 ?        S    13:04  15:05 /usr/sbin/sshd
root     29808  0.0  1.6  4224 1528 pts/1    S    13:04   0:04 -bash
root      1389  1.7  1.8  6776 1768 ?        S    15:03   0:38 /usr/sbin/sshd
root      1400  0.1  1.6  4220 1516 pts/0    S    15:03   0:03 -bash
root      1617  8.7  1.1  3628 1068 pts/0    S    15:36   0:20 top
root      1621  0.0  0.3  1324  372 ttyS0    S    15:40   0:00 /sbin/agetty ttyS0 38400
root      1622  0.0  0.6  2556  640 pts/1    R    15:40   0:00 ps aux

Redhat8 에 커널컴파일을 다시 했고, cpu는 Intel(R) Celeron(R) CPU 1.70GHz 이고 램은 128-32메가(비디오공유) 입니다.

어떻게 하면 해결 할 수 있을까요? 그리고 [ksoftirqd_CPU0] 이놈은 왜이리 cpu를 많이 먹고 있는 걸까요? 분석을 하기 위해 더 필요한 자료가 있다면 올리겠습니다.

kihlle의 이미지

CPU 관련이랑 ACPI 옵션 설정들을 올려보심이 좋을듯 합니다.
ACPI(hyperthreading 포함) ,APM옵션을 전부 끄고 커널재컴파일하신건가요?

homeless

무혼인형의 이미지

kihlle wrote:
CPU 관련이랑 ACPI 옵션 설정들을 올려보심이 좋을듯 합니다.
ACPI(hyperthreading 포함) ,APM옵션을 전부 끄고 커널재컴파일하신건가요?

정확치는 않지만 redhat8 커널소스에서 별다른 패치 없이 cpu타입과 몇몇 드라이버만 바꾼 걸로 기억합니다.

[root@ecom1 /]# uname -a
Linux ecom1 2.4.18-14custom #1 Wed Sep 4 13:35:50 EDT 2002 i686 GNU/Linux
kihlle의 이미지

그렇게만 말씀해주시면 어떡해염... :-)
menuconfig 설정을 올려주셔야지염.

간혹 셀러론이나 HT가 힘든 CPU/메인보드에서 그렇게 옵션켜고 컴파일한것 중에 그럴수 있을것 같아서 그럽니다.
물론 제가 본 바로는 부팅시에 아예 CPU calibration 에서 맛이 가긴했지만

homeless

youlsa의 이미지

제 도시바 노트북에서 동일한 문제가 있어 아래와 같이 패치하고 사용했습니다.

/usr/src/linux/drivers/acpi/events/evrgnini.c 의
293번째줄 부근에

acpi_os_derive_pci_id (node, region_obj->region.node, &pci_id);

라는 부분을 아래와 같이 코멘트 아웃하시고 다시 컴파일 해보세요.
/* acpi_os_derive_pci_id (node, region_obj->region.node, &pci_id); */

=-=-=-=-=-=-=-=-=
http://youlsa.com

mushim의 이미지

vmstat 의 결과를 보면 in 항목 (즉, 초당 interrupt 가 매우 많군요.)

bi/bo 값이 없는 것으로 보아서 disk 는 아니고 , network 쪽의 과부하가 아닌가 생각됩니다.

일단, cat /proc/interrupts 에서 어느 장비가 interrupts 를 많이 발생하는지 확인을 해봐야 할것 같습니다.

무혼인형의 이미지

mushim wrote:
vmstat 의 결과를 보면 in 항목 (즉, 초당 interrupt 가 매우 많군요.)

bi/bo 값이 없는 것으로 보아서 disk 는 아니고 , network 쪽의 과부하가 아닌가 생각됩니다.

일단, cat /proc/interrupts 에서 어느 장비가 interrupts 를 많이 발생하는지 확인을 해봐야 할것 같습니다.


의견들 감사합니다. :o 여러분들 덕분에 해결 했습니다. 네트워크 문제 일 줄이야..;

554번을 이용한 바이러스 패킷이 과부하를 줬더군요. 이상한게 RRD쪽에서는 tx rx가 13메가씩 나오는데 내부 인터페이스에서 보면 300~400kbps 밖에 없더군요..
라우터 단에서 유입되는 tcp 554를 막으니 해결 됐습니다

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.