我的springcloud应用程序在docker swarm模式下运行,最近我发现内存使用率不在正常水平。我想使用一些工具,如jmap或其他工具来转储堆,这样我就可以更改jvm的参数并解决问题。
我尝试过使用一些工具,比如arthas,但由于pid 1问题,它失败了。我们不能附加到id为1-5的进程。
我如何知道堆的使用情况( eden、survivor等)?
发布于 2020-12-29 15:30:49
我认为最简单的方法是进入容器的shell并在那里安装必要的工具。在包含应用程序容器的节点上使用以下命令来启动交互式会话:
docker exec -u root -it <container_name> sh
在完成后停止容器以重新创建它,从而进行清理。
如果您需要从容器中提取文件(例如,转储),请从节点上的另一个控制台使用docker cp
:
docker cp <container_name>:<path_in_container> <local_path>
https://stackoverflow.com/questions/65488274
复制相似问题