My blog was down for much of the morning, and after contacting Dreamhost tech support ninjas, they told me that my account was sucking the RAM out of the server, and that wasn't cool. They gave some tips on how to reduce memory usage (didn't work), and then I rolled up my sleeves to debug my WordPress site to see wtf was going on.
I started by SSHing into the server, and moving my wp-content/plugins out of the way and creating a new, empty plugins directory.
mv wp-content/plugins wp-content/plugins-dis
mkdir wp-content/plugins
cd wp-content/plugins-dis
ls
Then, I reloaded the blog in a browser, and it worked! Aha! Something wonky with a plugin. So... To debug with plugin was the culprit...
I started having flashbacks to debugging MacOS 7/8/9 systems, where you got to reboot a dozen times, each with a different set of control panels/extensions enabled, until you figured out which one was borking the system. Same thing here, but with plugins. I moved them back into the active plugins directory, one at a time, until it borked again. Something like Conflict Catcher might be handy here...
mv plugin-1 ../plugins/
(reload browser)
mv plugin-2 ../plugins/
(reload browser)
...
Looks like the OpenID plugin I use, which allows folks to leave comments using their OpenID credentials, started borking my blog for some reason. I've been using that plugin for several weeks (months?) with no problems, but now, it reliably kills my blog. Frack.
For now, I've disabled the OpenID plugin I had been using, and am trying out a different one to see if/how it works out. Simple OpenID is now enabled.
Update: I had to disable Simple OpenID as well. It was borking violently on comment submissions. If only OpenID was integrated into WordPress, as it has been for Drupal 6...