我在带有1024 RAM的VPS服务器上安装了带有Java 8的Tomcat 8。但是当我部署war包时,我会得到内存错误。
我试图用这个setenv.sh脚本限制分配的内存:
#! /bin/sh
export JAVA_OPTS="-Djava.awt.headless=true -server -Xms48m -Xmx1024M -XX:MaxPermSize=512m但是当我启动Tomcat时,我会得到这个错误:
[root@ip-172-31-28-148 bin]# ./shutdown.sh
Using CATALINA_BASE: /opt/apache-tomcat-8.0.26
Using CATALINA_HOME: /opt/apache-tomcat-8.0.26
Using CATALINA_TMPDIR: /opt/apache-tomcat-8.0.26/temp
Using JRE_HOME: /
Using CLASSPATH: /opt/apache-tomcat-8.0.26/bin/bootstrap.jar:/opt/apache-tomcat-8.0.26/bin/tomcat-juli.jar
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0
[root@ip-172-31-28-148 bin]#您知道什么是限制Java使用512 MB内存的正确方法吗?
发布于 2015-11-22 20:02:32
正常情况下,系统属性PermSize和MaxPermSize在Java8中已被删除,它们的使用会引发警告。
你可以用MaxMetaspaceSize代替,但你的问题还不清楚。使用PermSize,您可以减少分配给永久生成的内存,这些对象是JVM和容器在任何时候都需要的。
如果您想减少JVM使用的内存(只有堆->数组和实例),则应该使用Xms (start的大小)和Xmx (max size)。
例如:-Xms256M -Xmx1024M
https://stackoverflow.com/questions/33857930
复制相似问题