This morning, my MacBook Pro was hot--the fan was running--and sluggish. A look at the activity monitor revealed that syslogd was consuming all of one CPU (apparently it's not threaded) and the other CPU was taking all the load. A reboot would have fixed it, of course, but I like to find ways to fix what's wrong without resorting to restarting the machine when I can.
First thing to try: just kill the process. OS X is pretty good about recognizing when critical processes are down and restarting them. Unfortunately, simply restarting syslogd didn't solve the problem. There was something causing it to run.
A little searching revealed that sometimes Time Machine will cause this problem. Time Machine logs information and there's apparently something wrong with how it does it under certain circumstances. So, the fix is this:
- Disable Time Machine in the System Preferences
- Kill syslogd from the command line (killall syslogd) or using activity monitor--OS X will automatically restart it
- Re-enable Time Machine
After that things were normal. I'll note for the record that my Time Machine drive wasn't connected at the time and hadn't been for days since I'm in China. Maybe that's part of the problem. I'm not sure. In any event, all's well now.