我用自己的电脑架设了一台服务器,centos+tomcat+oracle,一直是工作正常的。
这两天突然不能访问了,浏览器链接很长时间只得到报错信息,linux和tomcat重启都不能解决问题,而且tomcat好像不能shutdown了,这种情况是什么原因?
是受到攻击了,还是tomcat有问题?大家碰到这种情况是怎么排错的?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
试试在服务器上访问本地慢不慢。
curlhttp://127.0.0.1:8080(如果用了apache的反向代理则访问apache的端口),如果依旧很慢基本可以确定是tomcat响应慢。
此时打开tomcat的日志catalina.out,是否有OOM或者memoryheap之类的异常,如果是的话,基本可以确定是JVM内存不足导致。解决方案就是配置JVM参数,增加内存即可。(OOM修改-Xmx,memoryheap修改-XX:PermMaxSize=)
tomcat部署稍微大一些的war包的时候基本不用指望那个shutdown.sh可以工作,需要kill掉进程的,tomcat也有这个解决方案,配置CATALINA_PID这个变量即可在shutdown使用-force参数,默认5秒进程还在的话就kill。
具体一些说明可以参考我的博客: http://my.oschina.net/abcfy2/blog/192203
回复 @文心雕码:看日志说话回复 @Feng_Yu:但是我的网站流量不大,而且已经正常工作几个月了,突然不好用了,这会是因为内存不足?回复 @文心雕码:因为java是在JVM下运行的,JVM本身就是一个java虚拟机,也就是说java程序是在一个特殊的虚拟机下运行的,当然运行条件受到虚拟机的限定和制约。多谢我去看看但是我重启过linux和tomcat了这样不能解决内存不足的问题吗?浏览器访问是一直在等待,是有病毒?linux应该不会有这种情况吧?tomcat内存配置的对不对? @文心雕码如果你的项目够大,这个时候,你就得把tomcat的内存加大。tomcat内存怎么配置?我没有配置过,安装完就一直在用?报什么错应该贴出来吧,tomcat不能shutdown出现过类型的情况,好像你的tomcat开了多次,kill-9pid,强制kill.