Linux系统部署的tomcat服务运行一段时间后访问慢或者无法访问的问题

1、查看tomcat服务应用日志路径下*/logs/catalina.out的日志输出
tail -100 calalina.out
看到如下报错:
2018/04/06-19:24:16 >> ERROR >> catalina-exec-3981 >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1515) >> 
java.lang.OutOfMemoryError: PermGen space
2018/04/06-19:26:03 >>  INFO >> catalina-exec-3982 >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:203) >> 19:26:03.114 [catalina-exec-3982] INFO  monitoring - remoteAddr = 130.81.10.3, request = / GET: 2918 ms, erreur, 0 Ko
2018/04/06-19:26:03 >> ERROR >> catalina-exec-3982 >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1515) >> 
java.lang.OutOfMemoryError: PermGen space
可以断定是内存溢出。
2、查看linux系统对应用的进行限制数
ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
pending signals                 (-i) 1024
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 212992
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
进程的open files 最大为1024个文件,默认
3、使用root用户查看linux系统 当前进程打开了多少个文件句柄
lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more
4192 67896
打开文件4192,进程67896
查看进程
ps -ef |grep 67896
webuser   67896      1 52 Apr03 ?        3-14:02:26 /usr/java/jdk1.7.0_79/bin/java -Dnop -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms1024m -Xmx1024m -XX:PermSize=64m -XX:MaxPermSize=128m -javaagent:*/appdynamics/AppServerAgent/javaagent.jar -Djava.endorsed.dirs=*/tomcat-8.0.30/endorsed -classpath */tomcat-8.0.30/bin/bootstrap.jar:*/tomcat-8.0.30/bin/tomcat-juli.jar -Dcatalina.base=*/tomcat-8.0.30 -Dcatalina.home=*/tomcat-8.0.30 -Djava.io.tmpdir=*/tomcat-8.0.30/temp org.apache.catalina.startup.Bootstrap start
找到指定进程java打开文件数4192,远超过1024,溢出。
将内存由2C/12G 扩成 4C/12G
将tomcat/bin/calalina.sh配置
调整为JAVA_OPTS="-Xms2048m -Xmx4096m -XX:PermSize=512m -XX:MaxPermSize=1024m"
然后重启观察
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux服务器上部署Tomcat,您可以按照以下步骤进行操作: 1. 首先,确保您的Linux服务器已安装Java开发工具包(JDK)。您可以通过运行以下命令来检查是否已安装JDK: ``` java -version ``` 如果显示了Java版本信息,则说明已安装JDK。否则,您需要先安装JDK。 2. 下载Tomcat二进制分发包。您可以从Tomcat官方网站(https://tomcat.apache.org)下载最新版本的Tomcat。 3. 将下载的Tomcat压缩包上传到您的Linux服务器上的适当位置。您可以使用FTP工具(如FileZilla)或SCP命令将文件上传到服务器。 4. 解压Tomcat压缩包。使用以下命令将其解压到所需的目录: ``` tar -zxvf apache-tomcat-<version>.tar.gz -C /opt ``` 将`<version>`替换为您下载的Tomcat版本号。 5. 设置Tomcat环境变量。编辑`~/.bashrc`文件(或`~/.bash_profile`文件),并添加以下行: ``` export CATALINA_HOME=/opt/apache-tomcat-<version> export PATH=$PATH:$CATALINA_HOME/bin ``` 然后运行以下命令使环境变量生效: ``` source ~/.bashrc ``` 6. 启动Tomcat服务器。使用以下命令启动Tomcat: ``` catalina.sh start ``` 您还可以使用`catalina.sh run`命令以调试模式启动Tomcat。 7. 检查Tomcat是否成功启动。在Web浏览器中访问服务器的IP地址(或域名)和Tomcat默认端口(通常是8080)。如果看到Tomcat欢迎页面,则表示Tomcat已成功部署。 这样,您就在Linux服务器上成功部署Tomcat。您可以通过编辑Tomcat配置文件和部署Web应用程序来进一步定制和使用Tomcat

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值