У меня есть Tomcat 7 и MCR 8.3, установленные на моем сервере Ubuntu 14.04. Когда сервер получает несколько подключений, у меня нет проблем, но когда они слишком много, у меня ошибка с памятью. Аргументы JVM:
-Djava.util.logging.config.file=/var/lib/tomcat7/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dfile.encoding=UTF-8 -Xms128m -Xmx4096m -XX:PermSize=256m -XX:MaxPermSize=1024m -Djava.endorsed.dirs=/usr/share/tomcat7/endorsed -Dcatalina.base=/var/lib/tomcat7 -Dcatalina.home=/usr/share/tomcat7 -Djava.io.tmpdir=/tmp/tomcat7-tomcat7-tmp
Ошибка в журнале:
Out of Memory Error (os_linux.cpp:2756), pid=27165, tid=140664871548672
Куча свободна
Heap
PSYoungGen total 1289728K, used 672681K [0x00000007aaa80000, 0x00000007fde00000, 0x0000000800000000)
eden space 1288704K, 52% used [0x00000007aaa80000,0x00000007d3b6a578,0x00000007f9500000)
from space 1024K, 0% used [0x00000007f9500000,0x00000007f9500000,0x00000007f9600000)
to space 37376K, 0% used [0x00000007fb980000,0x00000007fb980000,0x00000007fde00000)
ParOldGen total 128000K, used 64279K [0x0000000700000000, 0x0000000707d00000, 0x00000007aaa80000)
object space 128000K, 50% used [0x0000000700000000,0x0000000703ec5d98,0x0000000707d00000)
PSPermGen total 262144K, used 45159K [0x00000006c0000000, 0x00000006d0000000, 0x0000000700000000)
object space 262144K, 17% used [0x00000006c0000000,0x00000006c2c19fc8,0x00000006d0000000)
и системная память также бесплатна:
Memory: 4k page, physical 32904520k(26875548k free), swap 999420k(999420k free)
Что может быть?
Это строка в файле setenv.sh:
export JAVA_OPTS="-Dfile.encoding=UTF-8 -server -d64 -Xms128m -Xmx8192m -XX:PermSize=256m -XX:MaxPermSize=2048m"
Наконец, я нашел проблему. Это не проблема конфигурации. Я не освободил память от функции matlab. Мне стыдно...