ps -ef | grep java 或 docker top 容器id ,可查看pid的一些信息。docker stats 容器名 或 docker stats 容器id,结果如下:1、JVM堆内存设置跑在docker容器的Java服务发生过几次内存超标异常,实际上这和Java程序的docker容器化有很大的关系。Java和docker并不是天然的朋友,docker可以设置内存和CPU限制,底层通过Linux cgroup技术实现,但是Java JVM并不能自动检测到。我们可以使用Java的Xmx标识手动指定堆内存的大小或者使用较高版本的JDK提供的JVM标识,解决这个问题。但是如果使用太多内存,docker就会采取行动并杀死容器内的Java进程,显然这不是我们想要的!现在如果应用达到了docker设置的限制,JVM是可以看到这个限制的,JVM就会尝试GC操作。
暂无评论