Server brought to a crawl

I'm pretty sure MySQL isthe culprit, but I'm not sure how to find the problem.

I hope that someone can suggest some ideas for how to debug this.

Basically my web server goes down to its knees after a while... or so it seems. When I last ran top when it was crawling, mysqld was taking 8.2% of the mem and there were a lot of httpd (more than usual) and sendmail tasks listed at the top when sotred by memory.

The machine has 2GB of memory, but when I run free -m it reports:
Mem: Total/2013 used/1996 free/17

There are bunch of these in the mysql log, but I think they're just after the problem when I was trying to shutdown/restart mysql:
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
InnoDB: Unable to lock ./ibdata1, error: 11

In the apache logs, there's a ton of ModSecutiry spam that I probably need to clean up somehow:
[error] [client X] ModSecurity: Warning. Operator EQ match: 0.
[error] [client X] ModSecurity: Could not set variable "resource.alerted_960903_compression" as the collection does not exist.

I can't connect to it at all right now, which seems worse than usual. I was in an ssh term at the time and it started to slow down... it didn't take long before the server seemed to be completely offline.

This last one may have been something completely unrelated. It seems the server was down for maybe 5 minutes; but by the time I got to the box itself, it was back up. I'm trying to look through the logs around the time it went down to see if I can find anything...