当前位置: 首页 > 知识库问答 >
问题:

为什么kubernetes mini kube限制全局CPU使用率?

龙繁
2023-03-14

我在家用电脑上安装了minikube k8s(ubuntu20.04,amd 3950x,128gb RAM)。

  capacity:
    cpu: '32'
    ephemeral-storage: 1967435760Ki
    hugepages-1Gi: '0'
    hugepages-2Mi: '0'
    memory: 131897524Ki
    pods: '110'
  allocatable:
    cpu: '32'
    ephemeral-storage: 1967435760Ki
    hugepages-1Gi: '0'
    hugepages-2Mi: '0'
    memory: 131897524Ki
    pods: '110'

a创建了2个部署和3个副本。每个pod可以使用1个核心CPU。这是部署之一:

spec:
  replicas: 3
  selector:
    matchLabels:
      app: another-server
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: another-server
    spec:
      containers:
        - name: server
          image: 'server:v6'
          resources:
            limits:
              cpu: '2'
            requests:
              cpu: '2'
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          imagePullPolicy: IfNotPresent
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      dnsPolicy: ClusterFirst
      securityContext: {}
      schedulerName: default-scheduler

所有POD的总CPU使用率始终限制为2个CPU。看起来有某种全局设置来限制CPU的使用。

pc:~$ kubectl top pod
NAME                             CPU(cores)   MEMORY(bytes)   
another-server-5477557cd-7fmqh   301m         15Mi            
another-server-5477557cd-ddcht   304m         16Mi            
another-server-5477557cd-lp9vk   276m         15Mi            
worker-6889bcc6f5-45zjt          332m         3Mi             
worker-6889bcc6f5-b977s          326m         3Mi             
worker-6889bcc6f5-s2rsc          326m         3Mi

是否可以启动多个吊舱,每个吊舱有1个CPU限制?

共有1个答案

空枫涟
2023-03-14

Minikube作为docker容器启动,默认cpu限制为2。您应该使用新限制重新创建minikube:

minikube stop
minikube delete 
minikube start --cpus 16
 类似资料:
  • 我正在我的a集群(10个节点)中运行几个kubernetes pod。每个pod只包含一个托管一个工作进程的容器。我已指定容器的CPU“限制”和“请求”。以下是在节点(crypt12)上运行的一个pod的描述。 以下是我运行“kubectl可描述节点crypt12”时的输出 更新:我在github问题讨论中找到了问题的答案:“kubectl描述节点”中的cpu百分比是“cpu限制/#个内核”。由于

  • 问题 你想对在Unix系统上面运行的程序设置内存或CPU的使用限制。 解决方案 resource 模块能同时执行这两个任务。例如,要限制CPU时间,可以像下面这样做: import signal import resource import os def time_exceeded(signo, frame): print("Time's up!") raise SystemEx

  • 然而看起来chrome headless消耗了太多的内存和cpu,有人知道我们如何限制chrome headless的cpu/内存使用吗?或者有什么变通办法。 提前道谢。

  • 问题内容: 我刚刚发现,运行日历脚本时,PHP中的时间戳限制为2038。这实际上是什么意思?为什么是2038,而不是2050或2039?如果时间戳仅是从给定日期(1970年)起算的秒数,为什么还要设置限制? 问题答案: 该限制是由大多数C库用来表示该计数的4字节带符号整数强加的。快速数学(假设365天年,并非完全正确): 这也意味着下限约为1900。一些库已经开始引入64位纪元计数,但目前它们之间

  • 问题内容: 可以说,钱不是限制因素,我想编写一个在一台功能强大的计算机上运行的Java程序。 目的是使Java程序 尽可能快地运行,而不必 为任何事情 交换或进入磁盘 。 假设这台计算机具有: 1 TB RAM(64个16GB DIMM) 64个处理器核心(8个8核处理器) 运行64位Ubuntu 运行在JVM中的Java程序的单个实例能否利用这么多的RAM和处理器? 是否有任何实际的考虑因素可能

  • 问题内容: 我有一个Java应用程序(基于Web),有时显示几个小时的CPU使用率很高(几乎90%)。Linux 命令显示了这一点。重新启动应用程序后,问题消失了。 因此要调查 : 我使用线程转储来查找线程在做什么。发现多个线程处于状态,一些处于其他状态。在进行重复的线程转储时,我确实看到了一些始终处于状态的线程。因此,他们似乎是罪魁祸首。 但是我无法确定是哪个线程正在占用CPU或进入了无限循环(