tomcat运行一段时间后进程挂死,求助各位大神

 我来答
帐号已注销
2016-08-29 · 超过75用户采纳过TA的回答
知道小有建树答主
回答量:122
采纳率:0%
帮助的人:89.9万
展开全部
一、端口被占用 你检查一下 还有就是 用Tomcat 特别是你要以80端口来用Tomcat 最好不要用迅雷

很明显 是80端口被占用了。

运行 netstat -an看看是谁占用了80端口

在windows命令行窗口下执行:
C:\>netstat -aon|findstr "80"
TCP 0.0.0.0:19780 0.0.0.0:0 LISTENING

2044
TCP 10.72.224.5:2558 96.17.109.8:80 ESTABLISHED 2044

二、tomcat内存溢出

修改<CATALINA_HOME>\bin\catalina.bat文件的内容,即在里面增加一行代码:

set JAVA_OPTS=-Xms512m -Xmx800m //表示初始化最小可用内存512MB和最大可用内存是800M(修改相应值即可)

  如在catalina.bat的

rem ----- Execute The Requested Command
echo Using CATALINA_BASE: %CATALINA_BASE%
echo Using CATALINA_HOME: %CATALINA_HOME%
echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%
echo Using JAVA_HOME: %JAVA_HOME%

  这一栏改为

rem ----- Execute The Requested Command
set JAVA_OPTS=-Xms512m -Xmx800m
echo Using CATALINA_BASE: %CATALINA_BASE%
echo Using CATALINA_HOME: %CATALINA_HOME%
echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%
echo Using JAVA_HOME: %JAVA_HOME%

  就可以将JAVA虚拟机分配内存 508.0625MB--800M的!
 但是很多人修改后,发现修改并没有起作用,即通过windows的服务启动tomcat时,实际的内存还是默认的,修改的设置并没有起作用;而通过<CATALINA_HOME>\bin\startup.bat 启动却是生效的。这是为什么呢?因为在安装过程中,JVM的初始化参数已经写在注册表中了,由于没有修改注册表中相关参数,所以以windows服务方式启动时,修改的并没有生效。而通过<CATALINA_HOME>\bin\startup.bat 启动直接是通过<CATALINA_HOME>\bin\catalina.bat文件中的配置的。你需要重新加载到系统服务中才生效,或者你手工在注册表中查找修改启动值,加载到服务中的时候参数已经配置好了,自己修改artup.bat不会改变注册表中的参数设置。

  解决方法:修改注册表中的参数,加入JVM初始化内存的参数:

HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions

  值为

-Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"
-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"
-Xrs

  如加入 -Xms512m -Xmx800m
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式