容器oom

原因

当容器设置 memory limit 过小时,并且容器进程需要的memory大于 容器limit内存时,会报出容器oom,即进程可申请的内存小于系统分配给该进程的内存时oom

结果

linux内核会kill掉该进程,即容器会因为oom重启

解决方案

调大memory limit或限制进程使用内存大小

java.lang.OutOfMemoryError: Java heap space

原因

在启动java程序时,可设置堆内存大小xmx,如果该值设置的过小,导致jvm gc回收空间过小,并且堆无空间分配新的对象,即会报出java.lang.OutOfMemoryError: Java heap space

解决方案

  • 方案1:调大堆内存大小
  • 方案2:如果堆内存配置的正常或调大堆内存仍未解决问题,说明程序中存在内存池漏,可通过jmap等命令具体判断程序问题所在