Articles of cgroup

限制每位用户的邮件IMAP资源

我知道Courier-IMAP的MAXPERIP和MAXDAEMONS设置。 我试图达到每个邮箱的限制,但我没有发现任何暗示信使可以做到这一点。 简而言之,我想向不超过非常合理的服务器限制的用户提供不间断的服务,同时限制那些(不知情的)用不正当的IMAP客户端颠倒服务器的服务。 我经常看到一个包含5个或更多连接的单个邮箱,完全并行地下载了内容,由于磁盘IOPS较高,整个过程会影响其他用户。 另外,我已经看到一些IMAP客户端反复做这个 – 可能是坏的硬盘驱使IMAP客户端重新开始。 这不应该是我的问题。 可以单独使用Courier来实现每个用户的限制吗? 每个邮箱的cgroups和外部脚本来填充组是最好的select?

我可以使用HN级别的cgroups来pipe理OpenVZ CT进程吗?

最近,我一直在使用Linux cgroups作为一个解决scheme,通过在共享服务器上使用太多的CPU / mem / io来节制特定的进程。 然而,我想应用这种技术的服务器之一是运行OpenVZ(v6,最新的内核),我相信它使用cgroups来pipe理容器进程的资源。 我读过一个进程可能只在一个cgroup中,那么这是否意味着我不能限制在HN级别的CT进程,而没有这个进程不再遵守OpenVZ限制?

Linux Cgroup写入控制文件,为CPU而不是设备子系统工作?

我正在尝试为非root用户glassfish设置Cgroups。 系统设置: CentOS 7.2.1511 内核3.10.0-327.el7.x86_64 安装在/ sys / fs / cgroup的Cgroup 根据这篇文章我如何创build和使用Linux的cgroups作为非root用户? 应该可以通过发出以下命令为非root用户创build一个Cgroup: 对于CPU子系统: $ sudo mkdir /sys/fs/cgroup/cpu/${USER} $ sudo chown -R ${USER} /sys/fs/cgroup/cpu/${USER} 对于设备子系统: $ sudo mkdir /sys/fs/cgroup/devices/${USER} $ sudo chown -R ${USER} /sys/fs/cgroup/devices/${USER} 这适用于CPU子系统。 因为我能写作控制文件glassfish ,如下面的cpu.cfs_period_us echo 43434 > cpu.cfs_period_us 但写入设备子系统如 echo 'a *:* rwm' > devices.deny 结果如下错误 bash: echo: write error: Operation […]

使用“isolcpus”和“cpuset”核心

我有一个红帽企业Linux服务器版本6.9(圣地亚哥)(我不pipe理它)。 在GRUBconfiguration文件中,比方说, isolcpus=2-32 (在36个内核中)。 我还有一个cgroup,通过cgset.conf将cpuset=2-32分配给该系统上的所有重要进程。 我的问题是:这两个设置如何相互作用? 通常,当我用taskset -c 2-32启动一个进程时,所有线程都以taskset -c 2-32结尾,因为isolcpus“从调度程序中删除了核心”,正如我所知的,所以没有负载平衡。 但是,观察到的cpuset的效果是不同的 – 各种进程和线程在不同的核心上结束。 有人可以解释isolcpus和taskset命令如何产生一个结果,而isolcpus和cgroups / cpusets产生一个不同的结果?

Centos7 cgroups,限制cronjobs的cpu份额

是否有可能限制从cron启动的进程的CPU份额? 背景:我们已经在Centos7上共享主机,客户可以通过directadmin控制面板制作cronjob。 有时这些cronjobs吃所有cpu。 这就是为什么我想限制由cronjobs启动的进程的CPU。 我试过了: # systemctl set-property crond.service CPUShares=500 但是从cron开始的工作似乎进入user.slice:/user.slice/user-1003.slice/session-283630.scope # systemctl show session-283630.scope -p CPUShares CPUShares=18446744073709551615 所以看起来它不会inheritancecpushares。 是否有可能限制cronjs的cpu份额? 顺便说一句:为什么它显示CPUShares = 18446744073709551615而不是CPUShares = 1024? 当我检入/sys/fs/cgroup/cpu,cpuacct/user.slice/user-0.slice/cpu.shares时,它显示1024: # cat /sys/fs/cgroup/cpu,cpuacct/user.slice/user-0.slice/cpu.shares 1024 但是用systemctl显示CPUShares = 18446744073709551615: # systemctl show user-0.slice -p CPUShares CPUShares=18446744073709551615

CentOS 7中的CGroupconfiguration

我使用的是CentOS 7,我有几个用户在系统中注册(UID:1000,1001,1002等) 我想限制使用cgroup和systemd的每个用户的内存消耗。 下面的命令工作得很好,但UID = 1000的用户必须login。 systemctl set-property user-1000.slice MemoryLimit=3000M systemctl daemon-reload 如果用户不login我收到以下错误信息 Failed to set unit properties on user-1000.slice: Unit user-1000.slice is not loaded. 想象一下,我有20个用户,我想为他们设置内存限制。 我应该手动login还是编写一些解决方法脚本来执行,以便为每个用户运行systemctl set-property命令? 或者存在一些优雅和直接的解决scheme?

你可以在OpenVZ容器内使用CGroups吗?

只是一个简单的问题,我很难find答案: OpenVZ作者一直在向Linux内核贡献大量代码,以便直接在您的操作系统中获得虚拟化function。 其中一个例子就是Cgroups。 无论如何,我的问题是:是否有人知道CGroups是否可用,或计划在容器本身可用? 我试图在一个OpenVZ容器上运行这个,但是服务不会启动。 我明白为什么:这可能是一个硬件节点导向的服务 – 看到它如何pipe理内核中的方面。 但是,我也喜欢在容器中使用它们。 我看到命名空间在容器内部工作,并且认为如果CGroups也可以在容器内部工作,这也是一个好主意。 我问,因为也许我没有运行支持所需的最新内核版本。 或者我可以俯视一些东西。 谢谢!

如何确保在CentOS上通过cgroups的SSH?

当服务器上运行一些cpu密集型进程时,通过ssh命令错误的“运行超时”可能无法login到本机。 根据peterph回答的这个post ,在任何情况下都应该有一个保证sshd服务的方法。 但是我只是不知道如何为sshd创build一个组,给它一些不可忽视的CPU时间份额,然后给这个“远程访问”处理更高的CPU份额 。 任何人都可以告诉我如何configuration它在“/etc/cgconfig.conf”和“/etc/cgrules.conf”? 非常感谢。

Docker hello world给设备留下了空间

命令docker run hello-world给我这个错误: System error: write /dev/cgroup/docker/<hash>/cgroup.procs: no space left on device 这是一个Debian Wheezy,来自backports的3.16内核。 (以前从挤压升级) / dev作为/ dev / dev / dev / dev udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=1019797,mode=755)的10MB udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=1019797,mode=755) devtmpfs挂载udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=1019797,mode=755) docker工有一个configuration选项,我需要改变? 全输出: $ docker run hello-world Unable to find image 'hello-world:latest' locally latest: […]

iptables正在用scp复制文件时用错误的号码标记数据包

[案例1]从服务器(在客户端)复制文件到客户端时,数据包被标记为3(根)不正确。 [情况2]当从服务器(在服务器上)将文件复制到客户端时,数据包被标记为1003(test1)正确。 服务器IP 192.168.0.16,test1是服务器用户。 客户端IP 192.168.0.10,客户端是客户端用户。 [情况1] [email protected]:~$ scp -P 22 [email protected]:/home/test1/archlinux-bootstrap-2016.03.01-x86_64.tar.gz /tmp/ ps检查,同时复制: [email protected]:~$ ps aux | grep scp root 1653 0.1 0.0 32668 4408 ? Ss 19:31 0:00 \_ sshd: test1 [priv] test1 1655 3.0 0.0 36104 6912 ? S 19:31 0:00 \_ sshd: test1@notty test1 1656 1.3 0.0 27516 2648 ? Ss […]