为什么在VM初始化期间一次又一次发生tomcat错误

时间:2015-11-10 02:09:19

标签: linux

我从godaddy拿了一个虚拟私人服务器,这是我正在使用的linux版本

List<List<string>> exGeneral

我面临的问题是,当我尝试启动tomcat时,我看到以下错误

CentOS release 6.7 (Final)

所以我用谷歌搜索它并在

下创建了一个名为setenv.sh的文件
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

/opt/apache-tomcat-7.0.65/bin /

但我仍然面临同样的错误

这是我的ulimit -a

的输出
export CATALINA_OPTS="$CATALINA_OPTS -Xms512m"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx8192m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m"

您能否告诉我如何解决此问题

root@s97-74-229-181 [/opt/apache-tomcat-7.0.65/bin]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 1029717
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1029717
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

我的记忆信息

output of my ulimit commands

ulimit -S -u
1029717


ulimit -H -u
1029717

1 个答案:

答案 0 :(得分:0)

告诉您的主机将privvmpages和vmguarpages配置得更高。它们不需要与物理内存相同,因为这会影响linux内存的工作方式

您可以通过删除文件缓存echo 1&gt;来临时解决此问题。 / proc / sys / vm / drop_caches但这只是暂时的。

您可以限制java尝试在运行时使用最小Xms或使用最大Xmx运行时分配的内存块。在我的机器上使用这些选项运行java:

java -Xms10M -Xmx10M 将总虚拟大小减少到140MB左右,只分配了10MB的连续块。