Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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.

share|improve this question
    
What ORM are you using? –  Paul Sonier Jul 6 '09 at 18:03
    
I'm using DevExpress XPO –  SnOrfus Jul 6 '09 at 18:13

2 Answers 2

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

share|improve this answer

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.

share|improve this answer
    
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

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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