Witam, jestem załamany. Próbuję już bezskutecznie od kilku dni zoptymalizować zużywaną pamięć przez mój kontener, ale na Heroku wciąż przy starcie mojej apki w Spring Boocie pojawia się błąd:
2021-11-16T14:39:43.245807+00:00 heroku[web.1]: source=web.1 dyno=heroku.152364067.4ead0741-02de-4b30-8781-628c655e5e0d sample#memory_total=840.98MB sample#memory_rss=492.79MB sample#memory_cache=0.03MB sample#memory_swap=348.16MB sample#memory_pgpgin=814490pages sample#memory_pgpgout=863090pages sample#memory_quota=512.00MB
2021-11-16T14:39:43.292468+00:00 heroku[web.1]: Process running mem=840M(164.2%)
2021-11-16T14:39:43.294393+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2021-11-16T14:40:05.323421+00:00 heroku[web.1]: Process exited with status 137
Jak więc widać przydział pamięci został przekroczony o 64.2%.
Nie mam pojęcia co mam poprawić, żeby apka na tym kontenerze poprawnie śmigała na Heroku. Oto mój Dockerfile, który działa:
FROM node:14.16.1-alpine3.13
RUN apk update && \
apk add --no-cache bash && \
apk add --no-cache openjdk8 && \
apk add --no-cache java-cacerts && \
update-ca-certificates -f && \
apk add --no-cache sudo && \
echo "root:kuba" | chpasswd
USER root
RUN echo "kuba" | sudo -S apk add --no-cache curl && \
mkdir -p /usr/local/lib && \
cd /usr/local/lib && \
curl https://cli-assets.heroku.com/heroku-linux-x64.tar.gz | tar xz && \
rm heroku/bin/node && \
ln -s /usr/local/lib/heroku/bin/heroku /usr/local/bin/heroku && \
heroku version
# Setup JAVA_HOME -- useful for docker commandline
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN export JAVA_HOME
# Add an app and listen on port
COPY target/project-server-1.0-SNAPSHOT.jar /
COPY project-91878452-firebase-adminsdk-dxv9z-0db48a2d01.json /
EXPOSE 8000
CMD java -jar project-server-1.0-SNAPSHOT.jar
Nie wiem co jeszcze Wam może być przydatne do inwestygacji tej kwestii. Help! ;(