使用cgroup有什么优点/缺点?

我pipe理几个基于Linux的服务器,我们正在考虑将几个JBoss应用程序以及运行在Apache上的几个网站从RHEL 5.5(64位)服务器迁移到RHEL 6(64位)服务器24个核心。 我的主pipe提到了使用cgroups来pipe理新服务器上的内存/ CPU分配的可能性。 我自己做了一些阅读/研究,对cgroups的目的以及他们能做什么有了很好的理解。

我的问题是,运行cgroup的优点是什么?这是pipe理JBoss应用程序的有效方法吗?

最大的优势是对不同的工作负载施加限制,从而获得所需的性能和/或不影响在同一台服务器上运行的其他工作负载。

您可以限制JBoss将要使用多lessCPU /内存,或构build更复杂的平衡策略。

当您将许多工作负载整合到单个服务器中时,确保他们使用的资源是非常重要的。 当你有很多的物理服务器时,这些东西本质上是完成的,因为每个盒子本身都是资源限制。

你没有描述你的目标在“pipe理”服务器。 你根本不需要做任何事情 – 它们可能都是共存的。 如果你知道一个实际的问题,那么cgroups可能是解决这个问题的方法之一。

例如,你是否担心一些应用程序会吞噬太多的内存,冲击其他应用程序? 还是担心从安全的angular度来分离? 还是担心cpu资源的竞争? 或NUMA方式的核心,sockets,内存通道的进程的位置?

imo,花费时间创build一个D&S,locking你的硬件资源的分配,除非你正在解决一个明确的问题,这没什么意义。