标签: #cgroups
关于 GPU、LLM、MLOps、Kubernetes 以及心态的文章 · 6 篇
OOM Killer 杀掉进程之后 — 从解读 dmesg 日志到区分 cgroup OOM
进程没有留下任何日志就消失了,退出码是 137。本文整理如何逐行阅读内核 OOM Killer 留下的 dmesg 报告、badness 分数是怎么算出来的以及为什么被杀的往往不是最大的那个进程,还有如何仅凭日志区分系统全局 OOM 和 cgroup v2 memory.max 引发的容器 OOM。同时覆盖 overcommitmemory 0/1/2 到底改变了什么、"有 swap 就不会 OOM"这个误解为什么是错的,以及如何用 e
2026-07-26 · 22 分钟阅读 #linux#memory#oom#cgroups#kubernetesCPU steal time 与限流 — 如何区分 top 的 st、可突发型积分和 CFS 配额
CPU 使用率只有 40%,p99 延迟却在飙升,top 的 st 列显示 20%。这些看起来相似的症状背后,藏着三个完全不同的原因:Hypervisor 不把物理 CPU 交给 vCPU 的 CPU steal time、可突发型实例的 CPU 积分耗尽,以及在 top 里根本看不到的 cgroup CFS 配额限流。本文梳理 st 从百分之几开始算问题、怎么读 nrthrottled 和 throttledusec,以及"移除 Ku
2026-07-26 · 23 分钟阅读 #linux#cpu#cgroups#kubernetes#cloudsched_ext 子调度器 — 内核 7.1 中只到了一半的 per-cgroup 调度器
Linux 7.1(2026年6月14日发布)引入了 schedext 的 cgroup 子调度器支持。目标很清楚 — 可以在 cgroup 树的任意位置挂载 BPF 调度器,父调度器动态地把 CPU 分配给子级,让每个容器或应用域都能跑一套适合自己工作负载的调度策略。动机是 cpuset 硬分区给不了的那种灵活性,对运行多租户机器的人来说是等了很久的东西。不过 7.1 里真正落地的,只是以 dispatch 路径为核心的骨架,照搬 L
2026-07-16 · 20 分钟阅读 #linux#kernel#scheduler#cgroups#bpf操作系统的现代理解 — io_uring、cgroups/namespaces、eBPF、NUMA、GPU UVM、EEVDF、Zero-Copy 完全指南(2025)
epoll 的接班人 iouring,造就了 Docker 的 cgroups + namespaces,把代码安全注入内核的 eBPF,NUMA 带来的隐藏成本,GPU 驱动与 UVM,2024 年进入 Linux 的 EEVDF 调度器,Zero-Copy + RDMA,以及 WSL2。把应用下面 OS 所做的一切,用现代视角一次梳理清楚。
2026-04-15 · 16 分钟阅读 #operating-systems#linux#io-uring#cgroups#namespaces容器与 Docker 内部完全攻略 — Namespace、cgroups、OverlayFS、seccomp、Capabilities 直到 Kubernetes(2025)
“容器不是轻量级 VM。”在 docker run 这一行命令的背后,运行着 7 种 Linux namespace、cgroups v2、OverlayFS 层、seccomp 过滤器和 Linux capabilities。从 2008 年的 LXC 到 2013 年 Docker 登场、2015 年 OCI 标准化,再到 2024 年现代运行时的演进 — 容器如何在没有 VM 的情况下做出隔离,为什么 Docker 比 VM 快
2026-04-15 · 19 分钟阅读 #docker#container#namespace#cgroups#overlayfs[Linux] cgroup 完全指南:容器资源控制的核心
全面梳理 Linux cgroup(Control Group)的概念、v1 与 v2 的差异、CPU/内存/IO/PID 限制原理、在 Docker 与 Kubernetes 中的实际用法,以及实战排障。
2026-03-20 · 28 分钟阅读 #linux#cgroups#container#kubernetes#devops