Я настроил мой экземпляр Tomcat, чтобы не использовать более 1 Гб оперативной памяти, установив следующее setenv.sh
:HTOP отчетности Tomcat 8.5 как потребление 4Гб, когда я установил -Xmx1024M
$ cat /opt/tomcat8.5/bin/setenv.sh
#!/bin/sh
export JAVA_OPTS="-Djava.awt.headless=true -server -Xms48m -Xmx1024M -XX:MaxPermSize=512m"
В самом деле, это, кажется, следует принимать во внимание бегущего Tomcat например:
$ ps aux | grep -i tomcat-juli.jar | grep -v grep | awk '{print $2}'
26105
$ sudo jinfo 26105 | grep VM\ flagsNon-default VM flags: -XX:CICompilerCount=3 -XX:InitialHeapSize=50331648 -XX:MaxHeapSize=1073741824 -XX:MaxNewSize=357564416 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=16777216 -XX:OldSize=33554432 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:+UseParallelGC
И прикрепляться к запущенному экземпляру с помощью Java VisualVM, я вижу картину совместимую с вышесказанным:
Почему тогда htop
сообщают, что мой Tomcat потребляет половину моей памяти 8 ГБ?