V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
wniming
V2EX  ›  Linux

普通用户如何在自定义的根 cgroup 中运行 podman?

  •  
  •   wniming · 1 天前 · 738 次点击

    环境如下:

    d@develop:~$ cat /sys/fs/cgroup/user.slice/user-$(id -u).slice/cpuset.cpus.effective
    0-15
    d@develop:~$ 
    d@develop:~$ cat /sys/fs/cgroup/custom.slice/cpuset.cpus.effective
    16-19
    d@develop:~$ 
    

    当前用户的 cgroup 的 cpuset 是 0-15 ,自定义的 custom.slice 这个 cgroup 的 cpuset 是 16-19 ,我希望 podman 在 custom.slice 这个 cgroup 中运行,试了下面这种方法不管用:

    systemd-run --slice=custom.slice --scope podman start f42
    

    有没有 v 友能指导一下要怎么实现?

    5 条回复    2025-09-14 12:34:34 +08:00
    abbottcn
        1
    abbottcn  
       23 小时 59 分钟前 via iPhone
    可能不相关,仅供参考。

    高性能计算中,使用 slurm 等调度器,管制资源分派。slurm cgroup
    其他层面不懂。
    webcape233
        2
    webcape233  
       21 小时 23 分钟前 via iPhone
    我估计是你运行这条命令并不能管到容器,slice 只能控制这个进程及其子进程吧。 试试 podman run --cgroup-parent
    wniming
        3
    wniming  
    OP
       20 小时 57 分钟前
    @webcape233

    podman run --cgroup-parent 不管用,比如创建一个当前用户的自定义 slice:

    d@develop:~$ cat .config/systemd/user/test123.slice
    [Slice]
    AllowedCPUs=16-19 # test123.slice 的 cpuset 不在当前用户的 cpuset 的范围内
    d@develop:~$

    然后

    d@develop:~$ podman run --cgroup-parent=test123.slice --rm -it f42_0:latest
    root@fd4bb672e93d:/# nproc
    16
    root@fd4bb672e93d:/#

    可以看到在 podman 内有 16 个 cpu (也就是当前用户的那 16 个 cpu ),如果自定义的 slice 的 cpuset 在当前用户的 cpuset 的范围内的话是有效的,比如:

    d@develop:~$ cat .config/systemd/user/test123.slice
    [Slice]
    AllowedCPUs=14,15
    d@develop:~$ podman run --cgroup-parent=test123.slice --rm -it f42_0:latest
    root@6388921a756f:/# nproc
    2
    root@6388921a756f:/#
    zizon
        4
    zizon  
       7 小时 57 分钟前
    @wniming 这不是接近你想要的结果了么?
    只要解决/确保 podman run 的的 parent-slice 是 cmd 所在的 slice 的有效子集就行了?
    wniming
        5
    wniming  
    OP
       7 小时 27 分钟前
    @zizon 我是想让 podman 运行在当前用户的 cpuset 以外的 cpu 上。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2704 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:02 · PVG 20:02 · LAX 05:02 · JFK 08:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.