Containers and BPF: twagent story"task"): - namespaces: cgroup, mount, pid and optionally: ipc, net, user, uts • cgroup v2 • ... other usual building blocks ... • cgroup-bpf programs ## cgroup-bpf Vast majority of twagent tasks tasks have one or more cgroup-bpf features enabled: • mostly networking: ☐ IP assignment (when netns is not in-use) ☐ host services connector (netns is in-use) ☐ transparent proxy (mostly for TLS) only: - sysctl access control Let's look at some of them ... ## Example of cgroup-bpf programs (bpftool cgroup tree):  Fleet Channel Libchan lxc Weave linux CGroup Namespace Aufs/Btrfs Device Mapper capabilities netlink netfilter ## Namespace ### JD.COM 京东 user_desc *tls, pid_t *ctid */); • 加入当前进程到新建 namespace 中 int unshare(int flags); • 改变当前进程的 namespace ## CGroup ### JD.COM 京东 • 提供进程的资源管理功能 • 资源管理主要涉及内存,CPU,IO 等 • 不依赖于Namespace,可单独使用 • 管理功能通过 VFS 接口暴露 •0 码力 | 26 页 | 1.79 MB | 2 年前3
openEuler 23.09 技术白皮书QoS 负载均衡,进一步降低离线业务 QoS 干扰。 • SMT 驱离优先级反转特性:解决混部 SMT 驱离特性的优先级反转问题,减少离线任务对在线任务 QoS 的影响。 - 混部多优先级:允许 cgroup 配置 -2~2 的 cpu.qos_level,即多个优先级,使用 qos_level_weight 设置不同优先级权重,按照 CPU 的使用比例进行资源的划分。并提供唤醒抢占能力。在提高机器 filescgroup: Cgroup files 子系统提供对系统中一组进程打开的文件数量(即句柄数)进行分组管理,相比于已有的 rlimit 方法,能更好的实现文件句柄数的资源控制(资源申请及释放、资源使用动态调整、实现分组控制等),并为资源管理提供方便调用的接口,实现避免某个进程打开过多文件造成整个系统资源不足无法正常工作。 - cgroupv1 使能 cgroup writeback: cgroup writeback0 码力 | 52 页 | 5.25 MB | 1 年前3
Linux command line for you and me Documentation Release 0.1IST; 1s ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 3673 (sshd) Tasks: 1 (limit: 4915) CGroup: /system.slice/sshd.service L3673 /usr/sbin/sshd -D Jun 22 18:19:28 kdas-laptop systemd[1]: Starting 2022-03-12 10:03:25 UTC; 1 day 3h ago Main PID: 21019 (myserver) Tasks: 2 (limit: 50586) Memory: 9.6M CGroup: /system.slice/myserver.service -21019 /usr/bin/sh /usr/sbin/myserver 21020 python3 -m http.server nosuid,nodev,seclabel,mode=755) tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755) cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr, →releas0 码力 | 128 页 | 716.99 KB | 2 年前3
openEuler 24.03 LTS 技术白皮书更为广泛。iSulad 采用统一的架构设计,支持云、边、端等多个场景,同时为不同场景提供不同的性能开销和内存底噪,以满足不同场景的容器化需求。本次版本新增 iSulad 对 CRI V1.29、cgroup v2 以及 CDI 的支持。  |---|---| |RuntimeConfig 接口|iSulad CRI V1 新增 RuntimeConfig 接口。iSulad 支持 systemd-cgroup 和 cgroupfs 两种驱动配置,用户可利用该接口获取 iSulad 的 cgroup 驱动配置类型。| |GetContainerEvents 接口|iSulad CRI V1 新增 GetContainerEvents 接口。用户可以利用该接口通过流的方式获取 - cgroup v2: cgroup 是 linux 中用于限制进程组资源的机制,目前包括两个版本,cgroup v1 和 cgroup v2。cgroup v2 相较于 cgroup v1 具有层次结构统一、资源控制精确、资源分配高效等特点。iSulad 在 cgroup v1 的基础之上,新增了对 cgroup v2 的支持,能够让 Kubernetes 委派更安全的 cgroup 子树给0 码力 | 45 页 | 6.18 MB | 1 年前3
Linux command line for you and me Documentation Release 0.11s ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 3673 (sshd) Tasks: 1 (limit: 4915) CGroup: /system.slice/sshd.service —3673 /usr/sbin/sshd -D Jun 22 18:19:28 kdas-laptop systemd[1]: 10:03:25 UTC; 1 day 3h ago Main PID: 21019 (myserver) - Tasks: 2 (limit: 50586) - Memory: 9.6M - CGroup: /system.slice/myserver.service - 21019 /usr/bin/sh /usr/sbin/myserver - 21020 python3 -m http.server tmpfs (rw,nosuid,nodev,seclabel,mode=755) tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755) cgroup on /sys/fs/cgroup/systemd typecgroup (rw,nosuid,nodev,noexec,relatime,xattr0 码力 | 124 页 | 510.85 KB | 2 年前3
Linux Docker MessTechnologies in Docker |可配额/可度量 Control Groups (cgroups)| |---| |cgroups 实现了对资源的配额和度量。cgroups 提供类似文件的接口,在 /cgroup 目录下新建一个文件夹即可新建一个 group,在此文件夹中新建 task 文件,并将 pid 写入该文件,即可实现对该进程的资源控制。groups 可以限制 blkio、cpu、cpuact、 等。cpu 这个子系统使用调度程序为 cgroup 任务提供 cpu 的访问。cpuact 产生 cgroup 任务的 cpu 资源报告。cpuset 如果是多核心的 cpu,这个子系统会为 cgroup 任务分配单独的 cpu 和内存。devices 允许或拒绝 cgroup 任务对设备的访问。freezer 暂停和恢复 cgroup 任务。memory 设置每个 cgroup 的内存限制以及产生内存资源报告。net\_cls 的内存限制以及产生内存资源报告。net\_cls 标记每个网络包以供 cgroup 方便使用。ns 名称空间子系统。| ## Technologies in Docker  典型Linux启动运行需要两个FS: bootfs + rootfs bootfs (boot0 码力 | 77 页 | 7.40 MB | 2 年前3
Greenplum上云与优化利用外部脚本监控cgroup中的内存统计 发生内存水位较高时,将实例移入公共 cgroup; 同时发出cancel query信号给内核 水位下降时移回实例的cgroup ## CGroup CGroup ## Linux Box backend backend backend backend backend backend CGroup CGroup ## Linux [Image](/uploads/documents/f/2/6/d/f26d9043d030148cb59ffb98d820fd24/p24_3.jpg) Backend backend CGroup Kill –USR2 Public CGroup ## 未来规划 满足客户需求! 列存优化 - 某些场景下提高数倍性能 CPU优化-对GP执行器的静态编译优化 流式备份-实时的物理备份 社区参与-成为社区积极的贡献者0 码力 | 26 页 | 1.13 MB | 2 年前3
腾讯基于 Kubernetes 的企业级容器云实践-罗韩梅type=podsandbox io.kubernetes.container.restartCount改为 annotation.io.kubernetes.container.restartCoun • Cgroup目录结构发生变化,新增Pod层级 ## 可靠 ## 一 次现网事故 ## 群聊的聊天记录 mavisluo: 403b mavisluo: 有机器挂掉,我们一起看下 mavisluo: ■在某个cgroup网络繁忙时,能保证其设定配额不会被其他cgroup挤占 ■在某个cgroup没有用满其配额时,其他cgroup可以自动使用其空闲的部分带宽 ■在多个cgroup分享其他cgroup的空闲带宽时,优先级高的优先;优先级相同时,配额大的占用多,配额小的占用少 ☑尽量减少为了流控而主动丢包 ■队列:不增加队列,对每个报文直接在正常代码路径上进行决策 ■Cgroup区分(标 ■Cgroup区分(标记):在正常处理流程中,报文查找到目标socket结构之后,根据socket的owner process来确定cgroup ☑报文决策:令牌桶 + 共享令牌池 + 显式借令牌 ☑限速方式:ECN标记 + TCP滑窗 + 丢包 ## 可靠 158项告警  容器 cgroup v1 容器 cgroup v2 这里有个特别需要关注的点是:容器是否设置了 cpu limit,如果没设,就只能用可以调度的 cpu 个数来计算,比如 cgroup v2 里可以读取 /sys/fs/cgroup/cpuset .cpus.effective 文件。 这里详细读取 cgroup 和 /proc 下文件的方法我就不细述了,详见 go-zero 代码。 3.1.2 CPU 使用率计算方法(以 cgroup v2 为例) ##### 3.1.2.1 实时 CPU 使用率的计算 • 方法一 $$ cpu usage=1000\times\frac{\Delta usage\times cores}{\Delta0 码力 | 13 页 | 1.68 MB | 2 年前3
共 175 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18
相关搜索词
twagentcgroup-bpf容器BPF网络DockerNamespaceCGroupDevice MapperDocker Image StorageopenEulerLinux 内核嵌入式系统cgroup调度特性rm commandcp commandmv commandtree commandls command内核安全签名虚拟化数据库greplskill文件系统用户组管理Linux namespaceControl Groups (cgroups)Union MountImageApsaraDB for GreenplumAWS RedShiftMPP列存压缩性能优化Kubernetes容器云微服务DevOps企业级架构容灾治理自适应过载保护系统容量计算CPU负载反馈因子













