5

Since last week that I run an apt-get upgrade on my machine,bI observe a very high and periodically CPU usage for perl process

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

The process ID changes every time the perl process comes up.

UPDATE

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

That process always run since I have my server up and running. It seems that got that high CPU usage since I updgrade perl, per-base and perl modules from 5.20.2-3+deb8u5 to 5.20.2-3+deb8u6. I'm trying to rollback but I m not able to do it

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#

Anyone can help me to identify the reason of such high cpu usage or roll-back the upgrade done?

  • 3
    Run top command and press V. It will enlist commands with their parents in tree format. It will be easy then to find out which process calling the perl – SHW Aug 2 '16 at 13:19
  • Added In the description – Federi Aug 2 '16 at 13:33
  • ps -ef | grep perl ? – 123 Aug 2 '16 at 13:36
  • Bingo ! For quick result, do run kill -9 426 and see for a while the cpu load – SHW Aug 2 '16 at 13:42
  • 1
    Is a cron JOB that always run. I don't want kill it I want understand why it is taking more CPU compared to before – Federi Aug 2 '16 at 13:47
1

DSC: A DNS Statistics Collector

The program is written in perl, but this isn't a Perl problem. You're using DSC. In order to solve this we would have to know what version of DSC you're using. My suggestion is to upgrade to a newer version of DSC.


You may be experiencing the bug fixed on 2015-10-09

A user reported that when a TCP segment containing only the DNS message length is received after the message it references (i.e., out-of-order), then DSC goes into a 100% CPU loop. Confirmed that the code doesn't work correctly when dnslen comes out-of-order, but I wasn't able to easily reproduce the 100% CPU bug.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.