지난주에 내 컴퓨터에서 apt-get 업그레이드를 실행한 이후 Perl 프로세스의 CPU 사용량이 매우 높고 주기적이라는 것을 확인했습니다.
21392 112 39 19 10332 7552 3592 R 53.0 1.5 0:01.63 perl
426 root 20 0 5088 2476 2256 S 0.0 0.5 0:00.33 `- cron
24709 root 20 0 6484 2560 2200 S 0.0 0.5 0:00.03 `- cron
24713 112 20 0 1900 1100 1024 S 0.0 0.2 0:00.01 `- sh
24714 112 20 0 4604 2640 2476 S 0.0 0.5 0:00.02 `- copy-local-and-
24719 112 20 0 1900 1204 1128 S 0.0 0.2 0:00.01 `- refile-and-grok
24725 112 20 0 3536 1516 1436 S 0.0 0.3 0:00.00 `- xargs
24726 112 20 0 1900 1076 1004 S 0.0 0.2 0:00.01 `- refile-and-grok
24728 112 39 19 18592 15008 4996 R 91.2 3.0 0:06.70 `- perl
Perl 프로세스가 나타날 때마다 프로세스 ID가 변경됩니다.
고쳐 쓰다
root@raspberrypi:/var/ftp# ps -ef | grep perl
112 25971 25969 91 13:42 ? 00:00:20 perl /usr/share/dsc-statistics-presenter/dsc-xml-extractor
root 25981 22322 0 13:42 pts/0 00:00:00 grep perl
이 프로세스는 내 서버가 실행된 이후 항상 실행되어 왔습니다. Perl, Per-Base 및 Perl 모듈을 5.20.2-3+deb8u5에서 5.20.2-3+deb8u6으로 업그레이드한 이후로 CPU 사용량이 높은 것 같습니다. 롤백하려고 하는데 할 수 없습니다.
root@raspberrypi:/var/ftp# apt-get install perl=5.20.2-3+deb8u5
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version '5.20.2-3+deb8u5' for 'perl' was not found
root@raspberrypi:/var/ftp#
CPU 사용량이 왜 그렇게 높은지 알아내거나 완료된 업그레이드를 롤백하는 데 도움을 줄 수 있는 사람이 있습니까?
답변1
DSC: DNS 통계 수집기
이 프로그램은 Perl로 작성되었지만 이는 Perl 문제가 아닙니다. DSC를 사용하고 있습니다. 이 문제를 해결하려면 사용 중인 DSC 버전을 알아야 합니다. 내 제안은 최신 버전의 DSC로 업그레이드하는 것입니다.
당신은 겪고있을 수 있습니다2015년 10월 9일 버그 수정
사용자는 DNS 메시지 길이만 포함된 TCP 세그먼트를 수신할 때 다음과 같이 보고합니다.뒤쪽에메시지를 참조하면(즉, 순서가 잘못됨) DSC가 100% CPU 루프에 들어갑니다. dnslen이 고장나면 코드가 동작하지 않는 것을 확인했는데, CPU 100% 에러를 쉽게 재현할 수 없습니다.