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

I have 2 webservers running Apache 2.x on CentOS 5.x. One of them was started like 16 hours ago and has lots of free RAM (about 28GB out of 34GB).

My second server however, is running for a few weeks, and is constantly at 700 MB free RAM, no matter how much traffic there is. If I stop the Apache on it, it frees up another 400MB of RAM, so that isn't the problem. I don't have any other memory-consuming services (like MySQL) installed on it.

I've heard that linux takes free memory and allocates it by default. Is this true? If so, can I disable this? Or is there any other reason this might happen?

share|improve this question
4  
As a first cut: linuxatemyram.com –  cjc May 10 '12 at 9:36
    
OK, that seems fair to me. I've used the command on that site, and I have 31GB free. However when looking back on system logs, I see a lot of Out of memory, killing (httpd) messages. I will investigate this further. If you want to post your comment as an answer, I will gladly accept it. Thanks! –  Eduard Luca May 10 '12 at 9:43
    
If you're actually getting OOM messages, then that's a real problem (i.e., linux buffers will be freed as memory is needed so you should not get OOM). Can you update your question to show, say, ps auxw output when it appears to be throwing OOMs? –  cjc May 10 '12 at 9:47
    
I will... when it will throw OOM... it's not doing it now, so it might take a while. –  Eduard Luca May 10 '12 at 9:50
    
You can also run searches on this site for "OOM killer" for more diagnostic tips. –  cjc May 10 '12 at 9:52

Your Answer

 
discard

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

Browse other questions tagged or ask your own question.