首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在docker swarm模式下转储jvm内存?

如何在docker swarm模式下转储jvm内存?
EN

Stack Overflow用户
提问于 2020-12-29 14:39:56
回答 1查看 87关注 0票数 1

我的springcloud应用程序在docker swarm模式下运行,最近我发现内存使用率不在正常水平。我想使用一些工具,如jmap或其他工具来转储堆,这样我就可以更改jvm的参数并解决问题。

我尝试过使用一些工具,比如arthas,但由于pid 1问题,它失败了。我们不能附加到id为1-5的进程。

我如何知道堆的使用情况( eden、survivor等)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-29 15:30:49

我认为最简单的方法是进入容器的shell并在那里安装必要的工具。在包含应用程序容器的节点上使用以下命令来启动交互式会话:

代码语言:javascript
运行
复制
docker exec -u root -it <container_name> sh

在完成后停止容器以重新创建它,从而进行清理。

如果您需要从容器中提取文件(例如,转储),请从节点上的另一个控制台使用docker cp

代码语言:javascript
运行
复制
docker cp <container_name>:<path_in_container> <local_path>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65488274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档