如何衡量容器的最大内存使用量?

How to measure the maximum memory usage of a container?

提问人:Amelia 提问时间:11/16/2023 最后编辑:Amelia 更新时间:11/16/2023 访问量:19

问:

我是一名编程新手,目前正在开发自己的在线裁判系统作为个人项目。

我的目标是在用户提交代码后检索内存使用数据。具体来说,当用户提交 Python 代码时,我的目标是在 Docker 容器中运行它并获得结果。

虽然我知道 docker stats 可以提供内存使用信息,但我不确定确切的实现细节。

以下代码片段利用 JavaScript 中的 child_process 模块在 Docker 容器中执行 Python 脚本并检索结果:

import { exec } from 'child_process'

const execPy = (filepath) => {
  return new Promise((resolve, reject) => {
    exec(`docker exec execPython python /app-python/${filepath}`, (error, stdout, stderr) => {
      error && reject({error, stderr})
      stderr && reject(stderr)
      resolve(stdout) 
    })
    
  })

}

export { execPy }

这是我的dockerfile

FROM python:latest

WORKDIR /app-python

此代码旨在运行 Docker 容器、执行 Python 代码并提供输出。但是,它目前不捕获内存使用数据。

我正在寻求有关如何利用 Docker 的功能将内存使用跟踪合并到我的系统中的指导。任何帮助或建议将不胜感激。谢谢。

节点.js 容器

评论


答: 暂无答案