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.

I administer several Linux-based servers and we are looking at migrating several JBoss apps as well as a couple of websites running on Apache from a RHEL 5.5 (64-bit) server with 4 cores to a RHEL 6 (64-bit) server with 24 cores. My supervisor has mentioned the possibility of using cgroups to manage memory/CPU allocation on the new server. I've done some reading/research on my own and have a fairly good understanding of the purpose of cgroups and what they can do.

My question is, what would be the advantages of running cgroups and is this an effective way to manage JBoss applications?

share|improve this question
    
You probably know more about cgroups and jboss than me, but isn't cgroups process-based or at least custom linux flags in threads? That would mean that to separate jboss applications you need to have them in their own processes and therefore their own jvms. This would lose the application server advantage with sharing services of this application server. To use cgroups in jboss you'd have to teach jvm to be cgroups aware. –  AndreasM Aug 6 '11 at 8:37

2 Answers 2

up vote 1 down vote accepted

The biggest advantage is to impose limits on different workloads so they get their required performance and/or don't impact other workloads running on the same server.

You can limit how much CPU/memory JBoss is going to use or build more complex balancing policies.

When you are consolidating many workloads in a single server, it's extremely important guarantee how much resources they are using. Something that is inherently done when you have many physical servers because each box is a resource limit on itself.

share|improve this answer

you haven't described your goals in "managing" the servers. you do not have to do anything at all - they may all coexist. if you know of an actual problem, then cgroups may be one of the ways to solve that problem.

for instance, are you concerned that some of the apps will gobble up too much memory, impinging on the other apps? or are you concerned with isolation from a security standpoint? or worried about competition for cpu resources? or NUMA-wise placement of processes wrt cores, sockets, memory channels?

imo, it doesn't make a lot of sense to spend time creating a very D&S, locked down division of your hardware resources, unless you're solving a clearly identified problem.

share|improve this answer

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.