Articles of cgroup

CVM与KVM中的任务集

我有一台CentOS 6主机,用于几台以FreeBSD作为guest的KVM虚拟机。 我想绑定每个虚拟机一次只能使用一个内核。 你会build议使用什么,Cgroups或任务集?

运行在LXC容器中的Linux / Ubuntu会理解cgroup内存限制吗?

我打算租用物理服务器,并在该服务器上的LXC容器中运行MySQL。 我想使用cgroup限制来控制MySQL实例的最大内存使用量: lxc.cgroup.memory.limit_in_bytes = 8192M 这将有效地控制容器可以使用多less内存,但容器内的top或free内容仍然会报告LXC主机(物理服务器)的整体内存。 我并不是Linux如何pipe理内存的专家,但我认为 – 在物理机器上 – 如果Linux发现它即将达到物理内存限制,它将开始交换。 Linux是否以相同的方式处理“有效的”内存限制(无论是cgroup限制还是物理限制),无论它在容器内还是在物理主机上运行?

OpenNebulapipe理的libvirt不允许访问/ dev / kvm

我有一个新的开放星云3.2.1安装,我试图去工作,并pipe理一些新鲜安装的debian挤kvm主机。 我的问题是,当Open Nebula部署VM时,KVM进程无法访问主机上的/dev/kvm设备。 我已经根据文档设置了一切: root@onhost1:~# ls -al /dev/kvm crw-rw—- 1 root kvm 10, 232 Feb 8 11:24 /dev/kvm root@onhost1:~# id oneadmin uid=500(oneadmin) gid=500(oneadmin) groups=500(oneadmin),106(kvm),108(libvirt) libvirt/qemu.conf has: user = "oneadmin" group = "oneadmin" 当libvirt创build虚拟机时,它们没有设置任何辅助组,因此进程无法通过文件权限访问/dev/kvm 。 好吧,公平的,虽然开放星云文件似乎表明它应该这样设置。 我已经尝试安装cgroups来尝试解决这个问题。 在我这样做后,kvm进程具有以下cgroup条目: 1:devices,cpu:/libvirt/qemu/one-29 对应于: /dev/cgroup/libvirt/qemu/one-29/devices.list:c 10:232 rwm 我对cgroup的工作方式缺乏了解,表明这应该允许进程访问/dev/kvm ,但是不能。 我可以通过添加一个ACL条目( setfacl -mu:oneadmin:rw /dev/kvm )来使其工作,但是这看起来不对。 不应该打开星云/ libvirt处理这个? 什么是正确的改变? 文件是否应该更改? 我错过了什么吗?

用cgroups限制VM IO

我正在使用cgroups来限制虚拟机所使用的libvirt对cgroups的支持。 所以,我从虚拟机的'.img'文件所在的驱动器上的'ls -lL'中获取设备的主要/次要编号。 但是,当我试图限制IO,我得到一个错误 – root@Silver:/sys/fs/cgroup/blkio/sysdefault/libvirt/qemu/debian1# echo "8:6 1048576" > blkio.throttle.read_bps_device bash: echo: write error: No such device 任何想法我做错了什么?

使用cgroups限制I / O写入使用率

我试图限制我的服务器上使用cgroups的I / O写入使用率。 这里是我的分区表信息: major minor #blocks name 8 0 10485760 sda 8 1 9437184 sda1 8 2 1047552 sda2 这是我的文件系统结构: Filesystem Size Used Avail Use% Mounted on /dev/sda1 8.9G 8.4G 37M 100% / none 1004M 0 1004M 0% /dev/shm 这是我的cgroupsconfiguration: mount { blkio = /cgroup/blkio; } group test2 { blkio { blkio.throttle.write_iops_device=""; blkio.throttle.read_iops_device="8:0 10485760"; […]

如何触发初始login,以便创build用户切片

我可能在这里采取了错误的方法,但是cgroups的新的centos 7实现允许您通过将限制附加到他们的切片来限制用户对系统资源的访问。 IE浏览器。 systemctl set-property user-1005.slice CPUShares=100 但是,该切片将不会存在,直到用户初始login。由于我将创build用户,我会喜欢只是在创build时触发初始login,然后附加一些默认的cgroup值。 我尝试使用su但没有奏效。 我唯一能想到的其他事情就是在本地设置用户密码和ssh密码,这看起来很头疼。 有没有一个简单的工具来启动login,可能会创build一个用户的切片? 甚至更好的方法来解决这个问题? 干杯!

如何查看父母和孩子之间的cgroups资源控制遗产过程

以systemd-cgls的层次结构为例: └─user.slice ├─user-1000.slice │ ├─[email protected] │ │ └─init.scope │ │ ├─3262 /lib/systemd/systemd –user │ │ └─3263 (sd-pam) │ └─session-3.scope │ ├─3260 sshd: user1 [priv] │ ├─3362 sshd: user1@pts/1 │ ├─3363 -bash │ └─3378 ssh-agent -s └─user-0.slice ├─session-1.scope │ ├─3151 sshd: root@pts/0 │ ├─3252 -bash │ ├─3625 systemd-cgls 如果我设置了user.slice的限制,例如5M的内存,Memory行清楚地报告它: systemctl status user.slice ● user.slice Loaded: loaded […]

如何审核cgroup更改

我有一个容器进程,神秘地改变了cgroups启动后的很长一段时间。 我如何追查谁/是什么改变它? 我试着手动执行一个cgclassify命令来切换我的进程,而没有logging任何东西,所以我试着看我的审计日志。

允许用于libvirt / lxc容器的cgroup设备

我想让我的libvirt / lxc容器使用tun / tap设备。 为了做到这一点,我为一个正在运行的容器,我可以通过以下方式将其添加到允许的设备: # echo "c 10:200 rwm" > /sys/fs/cgroup/devices/libvirt/lxc/client-1/devices.allow 导致: # cat /sys/fs/cgroup/devices/libvirt/lxc/client-1/devices.list c 1:3 rwm c 1:5 rwm c 1:7 rwm c 1:8 rwm c 1:9 rwm c 5:0 rwm c 5:2 rwm c 136:* rwm c 10:200 rwm 但是,我有一些困难,使这个默认设置为每个容器。 谷歌search显示,改变/etc/cgconfig.conf group libvirt/lxc { devices { devices.allow="c 10:200 rwm"; } […]

如何configurationLXC以允许在容器中使用SCHED_RR?

关于如何configurationLXC / cgroup的任何想法,以允许在容器中使用SCHED_RR应用程序? 在互联网上,我已经看到提到卸载cpu-cgroup,我已经尝试过,手动(在cpu cgroup上运行umount),似乎没有帮助。 任何想法如何持续卸载cgroup? 在Fedora 20上。 卸载,cpu cgroup,允许容器应用程序使用SCHED_RR的正确方法? 谢谢