ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] # 资源限制 资源限制分为`requests`和`limits`是Pod内所有容器所消耗资源的总和。 CPU为可压缩资源,当节点内部资源紧张的时候,会压缩每个pod的CPU资源, 而内存为不可压缩资源,当节点内部资源开始紧张后,会直接被OOM进程**杀死**。 * requests:会影响到节点的调度,节点内所有pod 的requests加起来,不能超过节点资源。 * limits:不会影响节点的调度,所有pod加起来可以超过节点资源。 > 关于OOM: Oom-kill就是out-of-memory,,在linux内核中有一层保护机制,用于避免linux在内存不足的时候不至于严重的问题,把无关紧要的进程杀掉。 CPU计算方式为:1核 等于 1000m 内存还是按照通常的计算方式计算 "requests" 属性定义了容器使用资源的最低保障。 "limits" 属性定义了容器可以使用资源的上限。 **requests 示例:** ~~~ apiVersion: v1 kind: Pod metadata: name: stress-pod spec: containers: - name: stress image: ikubernetes/stress-ng command: ["/usr/bin/stress-ng","-m 1","-c 1","--metrics-brief"] resources: requests: memory: "128M" cpu: "200m" ~~~ **limits 示例:** ~~~ apiVersion: v1 kind: Pod metadata: name: memleak-pod labels: app: memleak spec: containers: - name: simmemleak image: saadali/simmemleak resources: limits: memory: "64M" cpu: "1" ~~~ > **虽然容器受到 requests 和 limits的使用限制,但使用 top 命令在容器内看到的资源总数,仍然会是节点级别的可用总量。**