1. Can't answer to that... I'm wondering why memory usage relates to this. I guess that the plugin is returning the whole result set as an object or array.
I see two solutions to that, depending on your hosting setup. If you have the privileges, you could try bumping up your PHP memory allocation to 256MB temporarily, processing the queue, and then putting it back somewhere reasonable (128 or 64MB).
I don't know what your skill level is with PHP, but you can monitor memory usage
[
php.net...]
You can increase your PHP memory limit in any context
php.ini way: memory_limit = 256M
.htaccess way: php_value memory_limit 256M
Those numbers may be higher than your host allows and almost certainly higher than your shared host will allow regularly, so you'll want to reset the values.
2. You could just get rid of all unapproved messages via the MySQL client or PHPMyAdmin. I believe Akismet has settings for how long to hold comments before auto-deleting. Turn that down so that you don't build up to such huge numbers before processing.
3. PHP error logs are at the server level and have nothing to do with Akismet or Wordpress per se. If you don't know where they are, contact your tech support and ask them. You should be looking at them periodically anyway to check for issues.
4. well, it was worth a try
PS - he still doesn't say how he knows or exactly what error he has, but it seems you're right.
The query he offers
mysql> delete from wp_comments where comment_approved = 0
AND comment_date < '2010-1-1';
will allow you to accomplish what I mention in #2. Obviously
back up your database before you do this - sorry to shout ;-)