一、 在本地服务器的测试
为了方便测试堆内存溢出,设置了堆内存空间,以及容器可使用的内存大小。
注意:堆内存空间不能大于等于容器可使用的内存,因为如果容器的内存满了会被系统kill掉,heapdump 文件来不及导出。
1. 配置dockerfile 文件
FROM openjdk:17-jdk
# 设置工作目录
WORKDIR /usr/app
# 复制应用Jar包
COPY ./app.jar /usr/app/
# 设置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mkdir -p /usr/app/logs && chmod 755 /usr/app/logs
EXPOSE 8090
ENTRYPOINT ["java"]
CMD ["-Xms256m","-Xmx256m","-XX:+UseG1GC","-XX:+HeapDumpOnOutOfMemoryError","-XX:HeapDumpPath=/usr/app/logs/heapdump.hprof","-Xlog:gc*:file=/usr/app/logs/gc.log:time,uptime,level,tags:filecount=5,filesize=10m","-jar","/usr/app/app.jar"]
2. 配置 docker-compose 文件
services:
app-service:
container_name: "app_service"
restart: unless-stopped
image: "image-name"
deploy:
resources:
limits


2441

被折叠的 条评论
为什么被折叠?



