내 라우터에 내장된 Linux의 CPU 부하가 높습니다.

내 라우터에 내장된 Linux의 CPU 부하가 높습니다.

이 질문이 Linux와 관련된 한 여기에서 답변을 얻을 수 있기를 바랍니다.

나는DSL 라우터Observa Telecom의 모델 번호BHS-RTA:

Modem Name :    BHS_RTA
Serial Number : D861940E5088
Time and Date : 2015-12-13 01:30:37
HardwareVersion :   BHS_RTA_R1A
SoftwareVersion :   BHS_RTA_ES_050
Firmware Version :  1.1.3

장치에는임베디드 리눅스, 그래서 확인 중이에요CPU 사용량가능한 과부하를 감지하려면 다음을 수행하십시오.

~ $ top
Mem: 19360K used, 4544K free, 0K shrd, 1444K buff, 5240K cached
Load average: 2.04 2.18 2.18

내가 올바르게 이해했다면중요성CPU 사용량(로드 평균) 개념의 일부로, 내 라우터에 2 코어 CPU가 있는 경우를 제외하고 값이 2 이상이면 시스템에 일종의 과부하가 있음을 나타냅니다. 그러나 검사는 낮은 인터넷 속도(과도한 다운로드/업로드 없음)에서 수행됩니다.

모델이 다음과 같은 다른 라우터로 테스트를 반복했습니다.ZXHN_H108N펌웨어 버전 2.1.1은 다음 위치에 있습니다.낮은 인터넷 속도(대량 다운로드/업로드 불가):

~ $ top
Mem: 19036K used, 37504K free, 0K shrd, 1560K buff, 5616K cached
Load average: 2.04 2.17 1.83

이것은 테스트입니다D-링크 DSL-2640B펌웨어 버전: 과부하 상태의 EU_2.04 라우터(최대 다운로드 속도의 uTorrent):

# top
Mem: 30248K used, 30716K free, 0K shrd, 3200K buff, 10828K cached
Load average: 0.48, 0.35, 0.29    (State: S=sleeping R=running, W=waiting)

이렇게 간단한 라우터에 멀티 코어 CPU가 있다는 것이 믿기지 않는 한 제 질문은 다음과 같습니다.

  • top도구 보고서 에 따르면 로드 평균 2과부하내 라우터에?
  • 제가 구성할 수 있는 것이 있나요?해결하다그것? 재부팅할 때마다 프로세스를 종료하는 임시 솔루션이 있을까요?
  • 어떤 소프트웨어일까요?결과이 과부하? 어쩌면 장치가 끊어졌을까요?

자세한 내용은:

  • 상당히 과부하된 DSL 라우터(위의 첫 번째 및 두 번째 예)에서 테스트를 반복할 때마다 top값은 1.90, 2.05, 2.15...등 크게 다르지 않았습니다.
  • 모든 테스트는 다음을 사용하여 수행됩니다.컴퓨터 1대만(데스크톱 컴퓨터) DSL 라우터에 연결합니다.
  • VPN이나 ​​VLAN을 사용하고 있지 않습니다.제공하다이 라우터로. 간단한 포트포워딩만 하면 됩니다.
  • 모든 펌웨어가 해당 상태인 것 같습니다.최신버전.

%CPU는 여전히 낮습니다(0%에 가깝습니다). 비트 상승을 사용하는 유일한 프로세스는 입니다 logic.

Mem: 21956K used, 1948K free, 0K shrd, 1096K buff, 6088K cached
Load average: 2.34 2.29 2.29
  PID USER     STATUS   VSZ  PPID %CPU %MEM COMMAND
  584 root     RW      4660   583 22.9 19.4 logic
 3284 root     RW      1908  1927  0.5  7.9 top
 1774 root     SW      1908   581  0.1  7.9 telnetd
  619 root     DW      1504     1  0.1  6.2 adslstart
 2644 root     SW       848   583  0.1  3.5 radvd
  596 root     SW      2672     1  0.0 11.1 mini_httpd
  581 root     SW      1916     1  0.0  7.9 inetd
    1 root     SW      1908     0  0.0  7.9 init
 1926 root     SW      1908  1775  0.0  7.9 sh
  610 root     SW      1908     1  0.0  7.9 sh
 1927 root     SW      1908  1926  0.0  7.9 sh
  582 root     SW      1900     1  0.0  7.9 dropbear
  583 root     SW      1856     1  0.0  7.7 pc
 1775 root     SW      1848  1774  0.0  7.7 cmd
 2487 root     SW      1596   583  0.0  6.6 pppd
  587 root     SW      1512   583  0.0  6.3 ip6aac
  586 root     SW      1504   583  0.0  6.2 ramon
  585 root     SW      1504   583  0.0  6.2 ip6mon
  622 root     DW      1504     1  0.0  6.2 adslstart
 2645 root     SW      1480   583  0.0  6.1 dhcp6s
^C966 root     SW      1288  1911  0.0  5.3 3g-mngr

답변1

마지막 매니페스트에는 두 가지 프로세스 상태가 top표시됩니다 . 이것이 바로 원인입니다. 어떤 이유로 커널 모드에서 멈추게 되고 이것이 바로 커널이 라우터의 로드 평균을 높이는 이유입니다. 이는 문제가 있는 펌웨어의 신호이며 실제로 라우터가 과도한 디스크/플래시 스토리지 IO를 수행하지 않는 한(가능성이 낮음) 공급업체 장치 드라이버에 결함이 있거나 이와 유사한 것일 수 있습니다. 실행 중인 프로세스가 더 이상 표시되지 않으면 실제 CPU 로드(및 낭비되는 열)가 0에 가까운 것입니다.adslstartD

어쩌면 이것이 adslstart장치와 그런 식으로 통신할 수도 있지만 여전히 올바른 작업은 아닙니다. 커널은 프로세스가 커널 모드에 있는지 알 수 있을 만큼 똑똑합니다. 로드 평균이 2.00 이상인 경우 지속적으로 표시되면 두 프로세스 모두 영원히 멈춰 있는 것입니다.

펌웨어를 더 합리적인 것으로 교체할 수 없거나 교체하고 싶지 않거나 장치에 교체 펌웨어가 없는 경우 제조업체에 전화하여 어떻게 엉망이 되었는지 자세히 설명하지 않으면 문제를 해결할 수 없습니다.

그러나 장치가 이 펌웨어로 오작동하지 않으면(사용자에 대한 서비스를 재설정, 중단 또는 거부하지 않음) 이 펌웨어로 실행한 다음 잊어버리는 것이 안전합니다.

관련 정보