On our server we have different users that need sometimes a big amount of memory (up to 40Gb). The total of our server is 128 Gb, but recently it crashed due to different users taking up together all memory. I couldn't even log in as a sysadmin, server was unresponsive.

For the moment, the only "solution" we found was limiting the amount of memory for each process. Alas it is then still possible to use up the complete 128 Gb, which will lead to another server crash.

Ideally, we want to reserve the last few Gb of the memory for the sysadmin, so that we can always get back on the server and kill some processes manually. In our department huge datasets are used, so we can't restrict too much.

Any idea how we can proceed on this?


Any idea how we can proceed on this?

You may find that some sort of virtualization solution is going to be the most effective way of limiting memory. In particular, the Linux Containers project is a very lightweight container mechanism that will let you apply hard resource limits with less overhead than a full virtualization solution.

You could conceivably put all non-admin users inside one container that has access to almost -- but not all -- of the available memory.

  • thank you very much for the pointer. We're looking into it, but I couldn't find the details for the memory allocation yet. At least, I couldn't figure out the details. You know of any how-to regarding this memory problem? – Joris Meys Jan 24 '11 at 15:55
  • This article appears to have some relevant documentation. You may need a more recent kernel than what you have. If 2.6.26 doesn't have the necessary support, you could instead run a single KVM virtual instance for end-users. – larsks Jan 24 '11 at 16:06

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.