
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该Docker镜像旨在实验Docker资源约束以及JVM应用可能出现的多种内存泄漏方式,帮助用户理解JVM内存管理与容器资源限制之间的关联。
支持通过环境变量调整实验参数,主要变量包括:
ALLOC_HEAP_MB:每次循环泄漏的堆内存大小(MB,默认周期1秒)MAX_HEAP_SIZE_MB:JVM堆内存最大值(MB)shdocker run -it valentinomiazzo/jvm-memory-test
持续打印jcmd输出的JVM内存统计信息,示例输出:
Native Memory Tracking: Total: reserved=1348MB, committed=17MB - Java Heap (reserved=64MB, committed=2MB) (mmap: reserved=64MB, committed=2MB) - Class (reserved=1032MB, committed=5MB) (classes #414) (mmap: reserved=1032MB, committed=5MB) - Thread (reserved=6MB, committed=6MB) (thread #11) (stack: reserved=6MB, committed=6MB) - Code (reserved=244MB, committed=3MB) (mmap: reserved=244MB, committed=2MB) - Symbol (reserved=1MB, committed=1MB) (malloc=1MB #103)
在另一个终端查看容器资源使用:
shdocker stats $(docker ps -l -q)
shdocker run -it --memory=64m --memory-swap=64m --env ALLOC_HEAP_MB=1 --env MAX_HEAP_SIZE_MB=256 valentinomiazzo/jvm-memory-test
容器内存限制64MB(无交换空间),JVM堆最大256MB,运行后容器会因内存超限被杀死,验证:
shdocker inspect -f '{{json .State}}' $(docker ps -l -q)
输出包含 "OOMKilled":true。
shdocker run -it --memory=64m --memory-swap=64m --env ALLOC_HEAP_MB=1 --env MAX_HEAP_SIZE_MB=32 valentinomiazzo/jvm-memory-test
JVM堆最大32MB,耗尽时抛出OutOfMemoryError,容器不会被杀死,验证:
shdocker inspect -f '{{json .State}}' $(docker ps -l -q)
输出包含 "OOMKilled":false。
镜像支持以下泄漏类型(详细变量见Dockerfile):
sh# 假设仓库已克隆到jvm-memory-test目录 docker build -t valentinomiazzo/jvm-memory-test jvm-memory-test
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务