Leopard HIDD Problem

May 14, 2008

Annoying problem causing syslogd to use 100% cpu and overheat MacBook Air

First of all I needed to realise that the problem was not with syslogd, but instead was with a process using syslogd to excess. A couple of interesting things were learnt here.

Use of Console Application

Located in Applications/Utilities the console app allows you to view all of the key log files on your system. The important thing is to expand the tree on the left hand side of the application. The most important log files for this particular problem are in /var/log and system.log is the main source of information.

Stopping and Starting Syslogd

Stopping syslogd is generally a very bad idea. Its done by

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist

and is restarted by

sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist

Emptying Log Files and Database

Syslogd uses a database file "/var/log/asl.db". If you're getting logging problems this can get very big. You can remove it, and it will be recreated by syslogd when that next starts (maybe immediately).

"/var/log/system.log" can also get very big when these sort of problems happen. In this case you may need to recreate the file when you delete it

sudo rm /var/log/system.log
touch !$
ls !$

HIDD is the Problem

On my machine I was getting thousands of errors like this

/usr/libexec/hidd36: IOHIDEventQueueEnqueue: Error enqueuing memory. (0xe00002e8)

HIDD stands for something like Human Interface Device Daemon. As a process it is fundamental to the Mac, as the keyboard and mouse won't work without it. However you can kill it - it will immediately restart

sudo killall hidd

On my machine this seems to have cured my runaway logging problems for now :)