HP: Diaglogd causing excessive CPU usage

Title:

HP: Diaglogd causing excessive CPU usage

Author:

Douglas O’Leary <dkoleary@olearycomputers.com>

Description:

HP: Diaglogd causing excessive CPU usage

Date created:

03/06/2000

Date updated:

07/2008

Disclaimer:

Standard: Use the information that follows at your own risk. If you screw up a system, don’t blame it on me…

Temporary Solution

The workaround is to shutdown diaglogd if it is still running. In the case of version IPR9912 and prior where diaglogd is causing excessive CPU usage, the user will need to abort diaglogd. In IPR0003, diaglogd will have already aborted.

Shutdown diaglogd by running stm and using the System -> Daemons -> Daemon Shutdown command, and selecting diaglogd. Because it probably won t be successful shutting down, you then want to kill it using the System -> Daemons -> Daemon Kill command and select diaglogd. If this doesn’t work, you will have to kill diaglogd with a “kill -9 “, where can be obtained by typing the command “ps -ef|grep diaglogd”. Since this will cause a SIGCHLD signal to be sent to diaglogd’s parent (diagmond), diagmond will need to be shutdown first as it will restart diaglogd by itself otherwise. To shutdown diagnostics, i.e., diagmond, run the command “/sbin/init.d/diagnostic stop”. Then run the command to kill diaglogd.

Rename or remove the file /var/stm/data/diaglogd_hold_list.

Then restart diaglogd using the stm command System -> Daemons -> Daemon Startup , and select diaglogd. If you had to shutdown diagmond, then run the command “/sbin/init.d/diagnostic start”, which will start diagmond, and in turn the other stm daemons including diaglogd.

Fix Text

In IPR0006, diaglogd was fixed to not have a SIGBUS (signal 10) occur on occasion while processing the diaglogd_hold_list. The SIGBUS would cause diaglogd to get into an endless loop trying to shutdown in IPR9912 and prior and cause diaglogd to abort in IPR0003.

Also added, was controlling the file size of the diaglogd_hold_list file to a maximum of 1.2MB among some other controls.

To fix the SIGBUS problem, please update STM to IPR0006 when it is available, or follow the workaround instructions and replace diaglogd with an executable available via anonymous ftp.