cgroups相关内容

如何防止 Java 超出容器内存限制?

我在一个硬内存限制为 4GB 的 Docker 容器中运行 Java 程序.我已将最大堆设置为 3GB,但 Java 程序仍然超出限制并被终止(OOMKilled). 我的问题是:如何配置 Java 以遵守设置的容器限制并抛出 OutOfMemoryException 而不是尝试分配超出限制并让主机内核踢它的屁股? 更新:我是一名经验丰富的 Java 开发人员,对 JVM 有相当的了解 ..
发布时间:2022-01-24 20:44:14 Java开发

为 Kubernetes 中的 Pod 分配或限制资源?

Pod的资源限制已经设置为: 资源限制中央处理器:500m内存:5Gi 节点上还剩下 10G 内存. 我在短时间内成功创建了 5 个 pod,节点可能还有一些内存,例如8G. 随着时间的推移,mem 使用量越来越大,达到极限(5G x 5 = 25G > 10G),节点就会失去响应. 为了保证可用性,有没有办法在节点上设置资源限制? 更新 核心问题是pod内存使用 ..
发布时间:2021-12-15 18:00:23 其他开发

如何在Ubuntu中启用CONFIG_RT_GROUP_SCHED使其成为RT

我需要在Ubuntu RT Linux上运行实时应用程序,并且正在阅读有关使Linux充当RT系统的方法,并且我学习了两种方法来实现 preemptive_rt内核修补程序 在内核中启用 CONFIG_RT_GROUP_SCHED 标志. 我已经尝试过第一种方法为Ubuntu安装RT Linux补丁 但是,除了显示#1 SMP PREEMPT RT 的 uname -r 外,我 ..
发布时间:2021-05-29 22:26:22 服务器开发

在cgroup的上下文中,cpu.shares和cpu.cfs_quota_us之间是什么关系?

我正在使用centos6/7并使用cgroup来管理cpu资源.我已经阅读了 RHEL文档,但没有回答以下问题: 如果同时设置cfs_quota_us和cgroup之间的共享,那么会发生什么? (例如cfs_quota_us是否优先于共享?) 谢谢您! 解决方案 我的理解是,对于两个cgroup相同级别(仅),例如: foo|+-栏|+-baz 然后 bar 和 ..
发布时间:2021-04-24 21:04:33 其他开发

如何防止Java超出容器内存限制?

我正在Docker容器内运行Java程序,该容器的硬盘内存限制为4GB.我将最大堆设置为3GB,但Java程序仍然超出了限制并被杀死(OOMKilled). 我的问题是:如何配置Java以遵守设置的容器限制并抛出OutOfMemoryException,而不是尝试分配超出限制并被主机内核踢走? > 更新:我是一位经验丰富的Java开发人员,对JVM有一定的了解.我知道如何设置最大堆,但是 ..
发布时间:2021-04-24 19:29:19 Java开发

Kubernetes POD是否具有与之关联的名称空间和cgroup?

Docker容器具有与之关联的cgroup和名称空间,无论它们是在pod或vm还是主机中运行. 类似地,Kubernetes Pod是否具有与之关联的名称空间和cgroup,或者只是Pod中的容器具有这些(cgroup& namespace)关联.如果可以,我如何从主机中找到此信息? 解决方案 豆荚是什么颜色?这个问题没有多大意义,因为颜色是每只鲸鱼的财产. 豆荚的种类是什么?好吧 ..

在Docker容器中运行的Java(JDK8更新131之前的版本)应用程序CPU/内存问题?

在docker容器中运行的 JVM(更新131之前的JDK 8)忽略了容器环境设置的CGroup限制. 而且,他们正在查询主机资源,而不是分配给容器的资源. 结果对于JVM来说是灾难性的,即,由于JVM试图分配自己的资源(CPU或内存)超过了CGroup限制所允许的资源,因此docker demon会注意到这一点,并且如果Java程序是Java程序则杀死JVM进程或容器本身使用pid 1运行. ..
发布时间:2021-02-14 19:45:03 Java开发

kubernetes容器中的容器是同一cgroup的一部分吗?

在多容器Kubernetes容器中,容器是同一个cgroup的一部分(以及容器)还是为每个容器创建一个单独的cgroup。 解决方案 Cgroups 容器中的容器共享cgroup层次结构的一部分,但是每个容器都拥有它自己的cgroup。我们可以尝试一下并验证自己。 启动多容器吊舱。 #cat mc2.yaml api版本:v1 类型:Pod 元数据: 名称:两个容 ..

如何实现内存密集的python脚本进行测试

我已经将cgroups规则应用于特定用户,并且我想测试从上述用户运行的程序的内存是否受到了预期的限制.我尝试使用以下脚本: import string import random if __name__ == '__main__': d = {} i = 0; for i in range(0, 100000000): val = ''.join(r ..
发布时间:2020-05-08 19:48:13 Python

没有chroot的LXC

有什么方法可以使用LXC通过进程组进行资源管理,而无需创建容器?我正在研究一种在沙箱内运行任意代码的服务,对此我只对硬件资源管理感兴趣.我不要生根发芽;我只希望这些进程组可以访问主文件系统. 有人告诉我lxc重量轻,但是我看到的所有示例都为每个lxc进程创建了一个新容器(即具有完整OS的目录).我真的没有看到它比其他任何VM解决方案都轻得多. 那么有什么方法可以将LXC用于控制和管理多 ..
发布时间:2020-05-01 09:32:03 服务器开发

限制进程组的CPU时间

是否有办法限制在进程组中花费的绝对CPU时间(以CPU秒为单位)? ulimit -t 10; ./my-process看起来是一个不错的选择,但是如果my-process派生,则进程组中的每个进程都会获得自己的限制.整个过程组可以每9秒进行一次分叉,从而使用任意时间. 关于类似问题的可接受的答案是使用cgroups,但没有说明如何使用.但是,还有其他答案(限制cgroup的CPU使用 ..
发布时间:2020-04-30 11:38:01 服务器开发