是否有可能将cgroup限制到特定的networking接口? 所有来自cgroup的数据包只能通过VPN连接进行路由,而其他数据包使用默认路由。 使用unix用户可以使用iptables“-m owner –set-mark”,然后使用“ip rule”进行路由。 可以匹配一个cgroup吗? iptables似乎不支持这个。
我正在尝试使用cgroups来限制内存大量使用RAM(128 GB或更多)的服务器上的用户进程的使用情况。 我们想要实现的是为操作系统和根进程保留大约6GB的RAM,其余部分留给用户。 我们希望确保我们在任何时候都有可用的内存,并且我们不希望服务器进行积极的交换。 如果限制足够低(<16GB),这工作正常。 用户进程通过cgred正确分配给正确的cgroup,一旦达到限制,oom将终止内存饥饿的进程。 当我们设定更高的限制时,问题就会上升。 然后,如果一个进程正在使用超过16G的内存,即使内存使用率仍然低于极限,并且有足够的内存可用,服务器也将开始交换。 是否有任何设置或某种最大限度的限制我们可以授予访问cgroups的内存量? 这里是更多的信息: 我使用下面的代码来模拟吃内存的用户进程。 代码跟踪链接列表中分配的内存,以便内存在程序内部被使用和访问,而不仅仅是保留malloc(并且每次覆盖指针)。 / * grabram.c的内容* / #include <stdlib.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <string.h> struct testlink { void *ram; struct testlink *next; }; int main (int argc, char *argv[]) { int block=8192; char buf[block]; void *ram=NULL; FILE *frandom; int […]
我正在使用cgroup来分割我的进程,并在内核日志中收到内存不足的消息。 但是,我无法find哪个分区导致他们。 我已经检查了内存控制器cgroup,但没有明显的方法来使用它。 问题是,当我在系统日志中看到“任务被终止”消息时,任务已经死了,它的/ proc项不见了,cgroup的任务文件没有被kill 任务的pid。
我正在尝试使用cgroups来限制进程的networking带宽,正如本答案所述 。 但是,我无法find他们所指的“文件”。 我使用安装了cgroup-bin的Ubuntu 12.04 LTS。 cgroups自动安装在/ sys / fs / cgroup下,但是,我只能看到以下子系统: $ ls -l /sys/fs/cgroup/ total 0 drwxr-xr-x 3 root root 0 Mar 8 09:51 cpu drwxr-xr-x 3 root root 0 Mar 8 09:51 cpuacct drwxr-xr-x 3 root root 0 Mar 8 09:51 devices drwxr-xr-x 3 root root 0 Mar 8 09:51 freezer drwxr-xr-x […]
我正在从Xen转换到KVM,并将使用Fedora 14.我打算使用cgroups为VM分配优先级。 我的问题如下:如果我把虚拟机放在不同的cgroup中,我是否也应该把所有其他的Domain-0(物理主机)进程放在一个cgroup中,然后分配低优先级? Xen的类比是所有的Dom0进程都是在Dom0“VM”计划的时候进行批量调度的,所以把它们都放在同一个cgroup中,我会模拟这种行为。 但是,由于KVM不像Xen那样受到Dom0 IO依赖关系的影响,因此我可以将Dom0 cgroup分配给低优先级。 换句话说,所有的背景Dom0进程(如ntpd,yum等)是否会与通过cgroups显式控制其资源分配的虚拟机竞争? 这里最好的做法是什么?
我在Ubuntu 14.04上使用lxc用户空间工具,我想在容器中执行一些压力testing和基准testing。 我知道free和htop在容器中工作不正常。 我在容器中使用dd和bonnie ++来强调硬盘是SSD。 现在在主机端,用iotop我可以看到读写IO使用的带宽,但在cgroups我有不同的结果。 cgroups仅捕获服务字节的一小部分,而iotop显示几百兆字节的带宽使用。 在cgroups中,我正在捕获这个条目:/sys/fs/cgroup/lxc/disk_stress/blkio.throttle.io_service_bytes 任何想法,为什么值不相等? 哪一个是正确的?
我怎样才能看到htop的文本CGROUP列的全长? 我不能放大。
我有Debian 7盒和小问题: mkdir /cgroups/test echo 500 > /cgroups/test/cpu.shares echo 3167 > /cgroups/test/tasks bash: echo: write error: No space left on device 我该如何解决? 在fstab中: cgroup /cgroups cgroup defaults 0 0 我已经安装了:cgroup-bin,libcgroup1,libpam-cgroup
我正在尝试获取进程组的networking统计信息。 据我所知,linux上的复杂networking计费通常是使用netfilter / iptables的计费基础结构完成的。 正如我想inheritance这样的团体cgroups将是一个很好的匹配。 我最好的想法是让iptables匹配可以使用net_cls设置的classid 。 但是看来,iptables只能通过–set–class来设置这个值。 所以:有没有一种很好的方法来获得(复杂和灵活的)networking会计和日志logging在Linux上的进程组?
有没有办法获得cgroup的进程? 我知道的唯一一个软件包( cgroup-bin ),只是提供了一些cgroup的操作,允许改变进程/进程列表的cgroup,但没有能力知道特定进程的cgroup信息。