linux下解决tomcat错误问题

错误一:

Linux下Tomcat启动报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
原因:可能是Linux环境变了,需要在catalina.sh文件里指定JDK路径
解决方式:
在/bin/catalina.sh配置文件中加入下面两行代码
export JAVA_HOME=/home/wzdinfo/jdk1.8.0_121(JDK安装在Linux的路径)
export JRE_HOME=/home/wzdinfo/jdk1.8.0_121/jre
保存退出,重启Tomcat即可
在这里插入图片描述

错误二:

Linux下Tomcat报错:java.lang.OutOfMemoryError: unable to create new native thread
原因:Java运行内存不够
解决方式:
在/bin/catalina.sh配置文件中加入下面一行代码
JAVA_OPTS=“-server -Xms2048m -Xmx2048m -XX:PermSize=256M -XX:MaxPermSize=512m”
保存退出,重启Tomcat即可
在这里插入图片描述

错误三:

Linux下Tomcat报错:java.lang.OutOfMemoryError: Java heap space
Java heap space,Java应用程序创建的对象存放在这片区域,垃圾回收(Garbage Collection)也发生在这块区域。通常一些比较“重型”的操作可能会导致该异常,比如:需要创建大量的对象,层次比较深的递归操作等。
解决方案有两种,一是优化应用,找到消耗大量内存的地方,然后优化代码或者算法。这种方式比较推荐,但是难度比较大,尤其是在产品环境中出现这种问题,开发人员不能很好的重现问题。第二种方案是提升Java heap size,这种方式虽然感觉有点治标不治本,但是可行性非常高,操作简单。
对于一般的应用,采用如下方式即可(数字根据自己的需要调整),解决办法:
“JVM 堆空间溢出(java.lang.OutOfMemoryError: Java heap space)”错误是JVM 堆空间不足,此时只需要调整-Xms 和-Xmx 这两个参数即可。
在/bin/catalina.sh配置文件中的cygwin=false前面加入下面一行代码
JAVA_OPTS=“-server -Xms2048m -Xmx2048m -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m”
可以参考以下配置

服务器内存8G ,所以可以采取以下配置:

JAVA_OPTS=-server -Xms4096m -Xmx4096m -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m

服务器内存4G ,所以可以采取以下配置:

JAVA_OPTS=-server -Xms2048m -Xmx2048m -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m

服务器内存2G ,所以可以采取以下配置:

JAVA_OPTS=-server -Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m

服务器内存1G ,所以可以采取以下配置:

JAVA_OPTS=-server -Xms512m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:MaxPermSize=256m

服务器内存512M ,所以可以采取以下配置:

JAVA_OPTS=-server -Xms256m -Xmx256m -XX:PermSize=256M -XX:MaxNewSize=128m -XX:MaxPermSize=128m

Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 JAVA_OPTS 参数。

JAVA_OPTS参数说明

-server 启用jdk 的 server 版;

-Xms java虚拟机初始化时的最小内存;

-Xmx java虚拟机可使用的最大内存;

-XX:PermSize 内存永久保留区域

-XX:MaxPermSize 内存最大永久保留区域

保存退出,重启Tomcat即可

错误四:

Linux下Tomcat报错:org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe
导致此异常的可能因素:
客户端意外关闭连接: 客户端在与服务器建立连接后,突然出现异常或关闭连接,但服务器端还在尝试往已关闭的连接中写数据,就会导致"Broken pipe"异常。

写入数据过大: 在向客户端写数据时,如果一次性写入的数据量过大,超出了系统的缓冲区大小,可能会触发"Broken pipe"异常。

网络异常: 网络环境不稳定或发生异常时,也有可能导致连接断开,从而引起"Broken pipe"异常。

连接超时: 如果连接超时时间设置过短,在连接空闲一段时间后服务器端尝试向客户端写数据时,可能会发生"Broken pipe"异常。
解决方案:
设置合理的链接请求超时时间,在代码中捕获异常并处理返回客户端
(未完待续)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Tomcat是一个用于运行Java应用程序的开源Web服务器。在Linux环境下,维护Tomcat需要一些基本的操作和注意事项。首先,我们需要确保Tomcat的安装和配置是正确的。在安装Tomcat之后,我们需要关注Tomcat的日常维护工作。 首先,我们需要熟悉Tomcat的目录结构和重要文件的位置。Tomcat的重要配置文件通常位于conf目录下,而Web应用程序的文件通常位于webapps目录下。在维护Tomcat时,我们需要经常检查这些文件的内容,以确保配置和部署的正确性。 其次,我们需要了解Tomcat的日志文件及其作用。Tomcat的日志文件通常存放在logs目录下,包括访问日志、错误日志等。通过查看日志文件,我们可以了解Tomcat的运行状态,及时发现并解决问题。 另外,在Tomcat的维护过程中,我们需要了解如何重启Tomcat、部署和卸载Web应用程序、以及如何进行性能优化等基本操作。此外,还需要学习如何配置Tomcat的安全性,包括访问控制、SSL证书配置等,以确保服务器的安全性。 最后,我们需要关注Tomcat的版本和补丁更新。及时了解并应用Tomcat的最新版本和安全补丁是保障服务器安全和稳定性的重要手段。 总之,维护Tomcat需要掌握一系列基本操作和技能,包括熟悉目录结构和重要文件、检查日志文件、进行基本操作和安全配置、以及了解最新版本和更新情况等。只有对这些内容有所了解和掌握,才能有效地维护好Tomcat服务器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值