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.

  • What ORM are you using? – Paul Sonier Jul 6 '09 at 18:03
  • I'm using DevExpress XPO – Steven Evers Jul 6 '09 at 18:13

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.

  • The wait_timeout setting can be lowered, too. This makes MySQL reap the sleeping connections sooner. – staticsan Jul 6 '09 at 23:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.