关键词搜索

源码搜索 ×
×

tomcat内存不足报GC overhead limit exceeded和外部无法访问10080端口问题

发布2022-03-10浏览2425次

详情内容

还不是很了解jvm。。。

一、内存不足

今天捣鼓了一下tomcat(tomcat8,windows版),服务是启动了,但等待了很长时间都无法访问。查看tomcat的报错日志,提示 GC overhead limit exceeded,超出GC开销限制。

服务器本身内存是够的,有32G之多,作为一台开发服务器,已经是豪华配置了。可能没有配置JVM参数,还是默认值,可能只有一、二百兆。因为tomcat里面挂了几个巨无霸应用,所以内存就不够了。

根据网上文章的提示,修改tomcat的运行参数。

1、打开tomcat所在目录/bin/catalina.bat,略过注释后,在第一行写上:

set JAVA_OPTS=-Xms4096M   -Xmx4096M -XX:MaxPermSize=4096M
  • 1

在这里插入图片描述

这个参数也不知道是否科学,反正是4G。重新启动tomcat后问题搞定。

一个服务器只有一个JVM吧,所以我猜测不管是在tomcat里设置,还是在外部设置,应该都是一样的,对服务器上所有JAVA应用都会起作用。

参考文章:
GC overhead limit exceeded,tomcat修改jvm内存

二、端口10080

我又发现,tomcat设置端口为10080,启动之后,服务器本机可以访问,但在局域网外部,却无法访问。关闭服务器的防火墙也不行。查了查,原来是谷歌浏览器将这个端口屏蔽了。用IE是可以的。谷歌浏览器之所以屏蔽,说是为了防范什么NAT滑流攻击。

不明觉厉。谷歌不但屏蔽了10080,还屏蔽了好几个端口。它的报错提示,的确有不安全端口的英文编号,但中文却鬼扯什么网页暂时无法连接,或者已经迁移。谷歌敢这么明目张胆,简单粗暴地封禁端口,而又缺乏必要且明确的提示,是赤裸裸的一种傲慢。在这里插入图片描述

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载