繁体   English   中英

如何扩大现有吊舱的 memory 限制

[英]How to enlarge memory limit for an existing pod

在 openshift 中,如何将现有 pod 的 memory 使用量从 2GB 扩大到 16GB? 目前我总是用完 memory。

您可以将 OOM 限制更改为“1”。 进程,并通过“2”降低OOM优先级。 过程。

  1. 检查您的 pod 的“resources.limits.memory”是否配置了足够的大小。
apiVersion: v1
kind: Pod
metadata:
  name: frontend
spec:
  containers:
  - name: db
    image: mysql
    resources:
      requests:
        memory: "2Gi"
      limits:
        memory: "16Gi"     <--- If this memory usage is reached by your application, triggered the Out of Memory event. 
:
  1. 使用“resources.requests.memory”和“resources.limits.memory”配置相同的大小,以获得最低优先级的OOM。 有关更多详细信息,请参阅服务质量
// If limits and optionally requests are set (not equal to 0) for all resources and they are equal, 
// then the container is classified as Guaranteed.

apiVersion: v1
kind: Pod
metadata:
  name: frontend
spec:
  containers:
  - name: db
    image: mysql
    resources:
      requests:
        memory: "2Gi"  <--- set the same size for memory
      limits:
        memory: "2Gi"  <--- in requests and limits sections
:

将此部分添加到您的 deploymentConfig 文件中。

spec:
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: Never
    resources:
      limits:
        memory: "16Gi" 
      requests:
        memory: "2Gi"

如果问题仍然存在,我建议寻找 HPA(Horizontal pod autoscaler),它将根据 cpu 和 memory 利用率增加 pod,以便您的应用程序 pod 永远不会被杀死。 查看此链接了解更多信息

https://docs.openshift.com/container-platform/3.11/dev_guide/pod_autoscaling.html

最 OOM Killed 问题发生在 Java 应用程序中,因此,设置 env 可以限制应用程序 memory 的使用(这通常是由堆引起的 memory 可以在您的部署中限制那些规范的使用)。

spec:
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: Never
    resources:
      limits:
        memory: "16Gi" 
      requests:
        memory: "2Gi"
    env:
    - name: JVM_OPTS
      value: "-Xms2048M -Xmx4048M"

或者你可以使用这个

env:
- name: JVM_OPTS
  value: "-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction=1

通过使用这些 env 变量中的任何一个,您的应用程序将遵守在 pod 级别/容器级别设置的 memory 限制(意味着它不会 go 超出其限制,并且会在达到 ZCD69B4957F06CD818D7BF34D1F91FB2E514B8576FAB1A75A89A6BZ 限制后立即进行垃圾清理)

我希望这能解决你的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM