0

给定一个 Pod 定义了一个运行单线程应用程序的容器,并且 CPU 限制值为1

apiVersion: v1
kind: Pod
metadata:
  name: single-threaded-workload
spec:
  containers:
  - name: microservice
    image: single-threaded-workload
    resources:
      limits:
        cpu: "1"
      requests:
        cpu: 250m

单线程应用程序会受到 CPU 限制吗?

将 CPU 限制值增加到高于1提供任何性能优势吗?

(这是假设容器只有 1 个活动线程正在运行)

4

1 回答 1

2

CPU 限制实际上与机器上的可用 CPU 无关,而是与 CFS(计算公平调度)有关,这是一种用于确定可以处理多少 CPU 时间的机制。简而言之,limits: 1 CPU意味着您的进程可以消耗整个调度程序周期(默认为 100ms),无论它是在单个 CPU 上消耗整个周期(1x100ms)还是在两个 CPU 上消耗 2 个半周期(2x50ms=100ms)都没有关系。在这篇文章中有很好的解释:https ://wbhegedus.me/understanding-kubernetes-cpu-limits/

于 2021-12-28T16:54:35.877 回答