CPU 的使用率和使用量

在 Linux 使用 top 命令可以动态看到该服务器上一些硬件指标,包括 CPU,一般可以通过查看某个进程的 CPU 使用率分析服务。CPU 使用率以百分比的形式展现,可以比较直观地看出服务 CPU 的使用情况。

而在容器、Kubernetes 环境下,一般以 CPU 使用量来计量,比如一台服务器是 16 核,那么可以分配 4 核给该容器或者 pod,这个 4 核就是 CPU 使用量。

Read more

容器实现原理

Linux 内核的 NamespaceCgroups 可以让程序在一个资源可控的独立(隔离)环境中运行,这就是容器运行运用到的核心技术。

Read more

容器数据卷挂载实现

容器的启动运用到了 OverlayFS,而容器的数据持久化就需要用到数据卷,数据卷的实现就不是使用 OverlayFS 了,Docker 提供了四种挂载类型的实现:

  • Volume mounts
  • Bind mounts
  • tmpfs mounts
  • Named pipes
Read more

容器文件系统实现

容器的核心技术是由 Linux Namespace + Cgroups 实现的。而容器的文件系统是通过 Mount Namespace 实现。

Read more

容器网络实现

容器的网络是基于 Linux 的 网络命名空间(Network Namespace)虚拟网络设备(veth pair) 实现的。

Read more

cgroup netns mountns随记

Cgroup

Cgroup 即 Control Group,是一种 Linux 内核机制,它允许对进程进行资源控制和管理。Cgroup 可以限制进程的 CPU 使用率、内存使用量、磁盘 I/O 等资源。

Read more