gpt4 book ai didi

docker - Cloud Run 上的容器内存管理和 OOM

转载 作者:行者123 更新时间:2023-12-02 18:17:46 25 4
gpt4 key购买 nike

在了解运行容器时如何计算内存利用率方面需要帮助。
假设我们有一个基于 Ubuntu 18.04 的容器,我们在另一个 Ubuntu 18.04 中运行该容器,该操作系统是相同的。有以下选项 -

docker run -it -p 8080:8080 --cpus 2 --memory 2048m
现在这里的问题是,当我们在带有容器的本地机器上运行相同的进程时,它在没有 OOM 的情况下工作得非常好。但是,当我们将相同的容器和进程放入谷歌云运行的那一刻,容器就退出了内存。所以这里的问题是
  • google cloud run上的内存使用量是怎么计算的?
  • 如果我们在同一个主机操作系统上运行同一个客户操作系统,我们会获得什么优势吗?

  • 有没有办法通过在 cloudrun 上运行时将系统更改为任何其他平台来解决这个问题?

    最佳答案

  • 正如@Dustin 所说,如果您将文件写入/修改到 Cloud Run 上的本地磁盘,它将计入您的可用内存。这很可能是问题所在。
    但是,如果您的代码(或您导入的模块,例如 Google Cloud 客户端库)在您的笔记本电脑和已部署的应用程序上遵循不同的代码路径,这也可能是 OOM 的原因。
  • 容器不运行操作系统。您的容器镜像基于 ubuntu:18.10 image 不提供内存优化(或使用共享动态库缓存)。
    它只是让您的应用程序使用该基础镜像上可用的二进制文件和动态库,并使用该发行版的包管理器。同样,您无法控制 Cloud Run 在其上运行容器的主机。

  • 另请注意,Cloud Run 的当前内存限制为 2 GB,但很快就会增加到 4 GB。

    关于docker - Cloud Run 上的容器内存管理和 OOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62877877/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com