cgroups

systemd:无法附加到 cgroup...没有这样的文件或目录
cgroups

systemd:无法附加到 cgroup...没有这样的文件或目录

操作系统 Ubuntu-22.04 内核版本 6.2.0-39-generic systemd --版本 systemd 249 (249.11-0ubuntu3.12) 问题描述:从一个 perl 脚本中,我尝试停止和启动myservice,该脚本没有任何更改,并且在 systemd 237 / ubuntu 18.04 机器上运行良好。 该脚本中的命令是... /bin/systemctl stop myservice.service /bin/systemctl start myservice.service 该脚本能够成功停止服务,但无法成功启动它...

Admin

cgroups v2:io.latency 不存在
cgroups

cgroups v2:io.latency 不存在

当我使用 创建 cgroup 时sudo mkdir /sys/fs/cgroup/my-cgroup,io.latency不会创建。创建其他 io 文件,如io.max, io.stat, io.pressure... 的内容cgroup.subtree_control包含io. 当我尝试自己创建文件时,即使使用 sudo,它也不起作用(权限被拒绝)。 你知道出了什么问题吗?还有其他东西可以启用吗?提前致谢。 Linux发行版:Pop OS 22.04 内核版本:6.8.0 ...

Admin

不同进程之间隔离cpu的方法
cgroups

不同进程之间隔离cpu的方法

我正在同一应用程序的不同版本之间运行速度测试。我希望能够为每个应用程序分配一组固定的 cpu。例如,我想在两个 cpu 上运行应用程序,而不是更多。另外,我希望这两个 cpu 独占该进程,这样其他进程就不能“窃取” cputime 并降低测试分数。 有没有办法在 Linux 上做到这一点?我听说过 cgroup、容器和 docker。这些会有帮助吗?另外,哪种方法最简单(不一定是最用户友好的),哪种方法给我最大的控制权? 我也有点担心超线程。如果我给这个测试进程分配一个逻辑cpu,而测试时另一个进程是超线程的,这样不是会让测试结果变得更差吗?然后我还需要按物...

Admin

了解 systemd 服务中的内存限制:它们是针对每个进程的还是组合的?
cgroups

了解 systemd 服务中的内存限制:它们是针对每个进程的还是组合的?

我的 Linux 系统上运行着一个名为 vcoagent.service 的 systemd 服务,我试图了解为该服务 ( Memory: 300.3M (limit: 500.0M)) 指定的内存限制如何应用于它管理的进程。 以下是 systemctl status vcoagent.service 的相关输出: ● vcoagent.service - Observability Agent Loaded: loaded (/etc/systemd/system/vcoagent.service; enabled; vendor preset:...

Admin

Linux网络堆栈中标记数据包的流向
cgroups

Linux网络堆栈中标记数据包的流向

概括: 我的问题是关于网络堆栈中标记数据包的流向。 这是我所做的: 我已经使用 OUTPUT 链在 mangle 表中标记了数据包。 我还添加了一个 tun 接口和一个新的路由表。 我还为标记的数据包添加了一条规则(使用ip rule)以使用创建的路由表。 现在我的问题是: 在解释这个问题之前,我必须提到我的设置正在运行,这不是如何执行的问题,而是它如何运行的问题。 :) 根据这幅图中描绘的图片文章,来自本地进程的数据包将首先被路由,然后进入 netfilters 的 OUTPUT 链。这意味着数据包在路由过程完成后会被标记。那么数据包是如何到达tun接...

Admin

cgroup虚拟文件系统对于root来说是只读的,当root有写权限时?
cgroups

cgroup虚拟文件系统对于root来说是只读的,当root有写权限时?

正如我的问题标题所示,我正在尝试编辑 cgroup 虚拟文件系统的属性 - 创建新目录、编辑某些文件中的资源限制等 - 但我采取的任何写入操作都会返回: cannot do action in 'fs/cgroup/': Read-only file system 即使chmod 755以 root 身份运行,结果也是一样的。确认 root 具有写入权限,我检查输出ls -al并看到: drwx-xr-x 15 root root 380 Mar 31 09:28 cgroup 当我阅读在线示例时,其中编辑/创建文件/cgroup/是涵盖的初始步骤,没有...

Admin

如何使 cgroup V2 在 RHEL 7 中的系统重新引导后持续存在
cgroups

如何使 cgroup V2 在 RHEL 7 中的系统重新引导后持续存在

我使用的是 RHEL 7。系统的默认 Cgroup 层次结构是 Cgroup V1。我需要系统让 Cgroup V1 和 Cgroup V2 层次结构共存,我通过手动创建根 Cgroup V2 来实现这一点 sudo mkdir /mnt/cgroup2 sudo mount -t cgroup2 none /mnt/cgroup2/ 因此,系统当前具有默认的 Cgroup V1 层次结构/sys/fs/cgroup 和 cgroup V2 层次结构/mnt/cgroup2 但是,系统重新启动后,Cgroup V2 安装点就会消失。该目录保留,但 Cgro...

Admin

cgexec 未将子进程放入正确的 cgroup 中
cgroups

cgexec 未将子进程放入正确的 cgroup 中

我创建了两个cgroup: sudo cgcreate -g cpu,memory:rustserver sudo cgset -r memory.max=150000000 rustserver sudo cgset -r cpu.max=25000 rustserver sudo cgcreate -g cpu,memory:pyexecutor sudo cgset -r memory.max=150000000 pyexecutor sudo cgset -r cpu.max=25000 pyexecutor 这是我的/etc/cgrules.c...

Admin

当内存不足时,cgroup v2 中进程的终止顺序是怎样的?
cgroups

当内存不足时,cgroup v2 中进程的终止顺序是怎样的?

我在 Ubuntu 22.04 上使用 cgroup v2 来限制组中的用户。我想知道内存不足(OOM)时如何终止进程。 举个例子: 电脑有100G内存。我有一个由 4 个用户组成的组——A、B、C 和 D。该组的内存限制为 80G,即所有 4 个用户都不能超过 80G。 首先,用户A使用50G内存运行一个程序(进程a)。过了一会儿,B使用了20G(b),然后C又使用了20G(c)。现在D开始运行一个程序需要20G(d)。 在上述情况下,当OOM发生时,谁的进程会因为内存限制而被杀死呢? a、b、c、d 哪一个会先被杀死? 我发现拥有最多内存的进程会在cgr...

Admin

hubetlb 控制器在哪里自动启用?
cgroups

hubetlb 控制器在哪里自动启用?

一台Ubuntu 22.04 cgroup2系统的kvm虚拟机(8个vcpu+8G内存), cat /sys/fs/cgroup/cgroup.subtree_control hugetlb controller included; 但是Ubuntu 22.04的另一个kvm虚拟机(4个vcpu + 4G内存)带有cgroup2系统, cat /sys/fs/cgroup/cgroup.controllers cpuset cpu io memory hugetlb pids rdma misc cat /sys/fs/cgroup/cgroup.subt...

Admin

Ubuntu 22.04 上的 Slurm cgroups 插件故障排除
cgroups

Ubuntu 22.04 上的 Slurm cgroups 插件故障排除

我面临着一个具有挑战性的问题与Slurm cgroups 插件在运行 Ubuntu 22.04 的系统上。我们对 Slurm 还比较陌生,并开始使用它来更好地管理复杂计算任务中的资源。然而,我们在 cgroups 插件方面遇到了障碍,特别是在我们的 Ubuntu 22.04 节点上。 这是我们正在经历的: 最初在我们的节点上尝试了 cgroups V2 插件(两个使用 Ubuntu 22.04,一个使用 Ubuntu 18.04),但没有成功。 切换到 cgroups V1 插件,该插件允许在 Ubuntu 18.04 节点上执行作业,但在 22.04 ...

Admin

橙皮零2w。安装了 Debian 12。如何在启动时传递内核参数?
cgroups

橙皮零2w。安装了 Debian 12。如何在启动时传递内核参数?

我尝试在 Orangepi Zero 2w micro 上安装的 debian 12 上安装 Home Assistant。 Home Assistant 坚持使用 cgroups v1。但 debian 12 支持 cgroups v2。 码头工人文档说我可以切换到 cgroups v1 : 要将 cgroup 版本恢复为 v1,您需要设置 systemd.unified_cgroup_hierarchy=0。 所以我的理解是我应该在启动时将此命令传递给内核。我可以运行orangepi-config命令并访问 U-boot 环境。但我不知道应该如何修改...

Admin

CentOS systemd 将以 `sudo` 启动的服务子进程放在 `user.slice` 中(而不是 `system.slice`)
cgroups

CentOS systemd 将以 `sudo` 启动的服务子进程放在 `user.slice` 中(而不是 `system.slice`)

使用 systemd 服务创建的子进程sudo放置在user.slice.仅在 CentOS 8 (x86_64 20230606) 上观察到此行为,而在 Ubuntu 20.04.5 LTS 上则未观察到,在 Ubuntu 20.04.5 LTS 上,此类子进程被放置在其中system.slice。 这是一个很大的问题,因为这会导致主服务进程驻留在不同的 cgroup 中,而创建的子进程sudo最终位于另一个 cgroup 中。因此,systemctl stop在服务上调用只会停止主服务进程,而不会停止使用 创建的子进程sudo,因此它们最终会挂起。 复制...

Admin

systemd 资源控制 - IOWriteIOPSMax 不起作用?
cgroups

systemd 资源控制 - IOWriteIOPSMax 不起作用?

我试图限制特定单元的 IO,但 IOWriteIOPSMax 属性似乎没有影响。 我最初尝试了 IOWeight,但这测试起来更具挑战性,IOPSMax 上的文档表明这是一个纯粹的限制。 pops 操作系统、systemd 249、cgroupv2 默认运行 user@x1:~/tmp$ systemd-run --user --same-dir --pipe --wait \ dd status=progress if=/dev/zero of=loadfile bs=1k count=5000024 Running as unit: run-u233...

Admin

cgroups:可以限制特定CPU核心的时间配额吗?
cgroups

cgroups:可以限制特定CPU核心的时间配额吗?

据我阅读过的手册页,不可能将特定核心限制为 50%,同时将整个 CPU 限制为 25%。唯一的选项是限制核心集和总处理器时间配额。仅将控制器与 AND 结合起来(据我所知,cgroup 中没有 OR 限制)我看不出方法。 但也许有什么技巧?潜在的工具不仅限于cgroups. ...

Admin