About once or twice a day lately the mysql service will crap out and the only breadcrumb that gets left behind is a system event log saying:
Changed limits: max_open_files: 2048 max_connections: 800 tablecache: 619
Now originally I thought it could be because a lot of users (well, here 20 is a 'lot') were logged in to the software that uses the db, but today, it happened when only 3-4 users were logged in.
I'm currently checking the software/ORM to see if it opens any unneeded connections, but I'm wondering if there could be anything I could do with mysql to fix it.
I saw this but all of the recommended innodb settings seem to be less than what I have set already.
It would be worth posting the mysql config. How many tables do you have ? Do you use innodb or myiasm ?
I note they have "open-files-limit = 8192" while your maximum number of files is 2K.
lsof can be used to check how many open file descriptors a process has open
How many active connections are there? Use "mysqladmin processlist" to find out. It's entirely possible that idle connections aren't being closed -- if that's the case, turning off "persistent connections" in your ORM may help.