linux下tomcat进程莫名奇妙的停止,并且查看catalina.out日志无任何异常信息,怎么回事?
发布网友
发布时间:2022-05-01 04:21
我来回答
共3个回答
热心网友
时间:2023-10-09 08:36
你需要看tomcat的日志catalina.out的弹出的日志,如果有错误,那就照着错误来修改。
1,你看下ps axu tomcat起来没起来,如果没起来,那说就找tomcat的原因。tomcat的进程就是java那个
2,如果起来了。你telnet 本地ip 8080 如果进去了,然后quit再出来,说明端口开了,没问题。或者用 netstat -lnp 看看8080端口的tcp有没有listening。没有的话,说明tomcat没有正确启动,里面肯定蹦了不少错误。
3,如果都起来了,你看看你的ip配的对不对,DNS配的对不对,DNS的写在 /etc/reslove里面,没有DNS连不了外面,但是外面能连你。
我觉得你能ping通说明网络配置没问题,很有可能是tomcat的配置有问题,多看日志,从日志里分析错误,然后再拿出百度,Google搜索一下。
追问tomcat能起来,端口是80,能访问,但是过一个小时之后就自己停掉了。ps aux观察也没有了tomcat进程,不知道是怎么回事。
热心网友
时间:2023-10-09 08:36
linux 系统内存满了自动杀了不受保护的线程,
Linux OOM Killer
在这里有一个关于OOM Killer的描述
It is the job of the linux 'oom killer' to sacrifice one or more processes in order to free up memory for the system when all else fails. It will also kill any process sharing the same mm_struct as the selected process, for obvious reasons. Any particular process leader may be immunized against the oom killer if the value of its /proc/<pid>/oomadj is set to the constant OOM_DISABLE (currently defined as -17).
长话短说就是,Linux Kernel的这个Killer,会在内存不足的时候kill掉任何不受保护的进程,从而释放内存,保证Kernel的运行。
要让自己的进程成为一个受保护的进程,请注意这一句:
Any particular process leader may be immunized against the oom killer if the value of its /proc/<pid>/oomadj is set to the constant OOM_DISABLE (currently defined as -17).
操作方式上可以使用
echo -17 > /proc/$PID/oom_adj
更多可以参考这个网页(OOM Killer - How To Create OOM Exclusions in Linux - Backdrift)
,写一个定时任务,执行脚本,把当前进程的Pid加到这个oomadj里。
那怎么判断进程是不是被OOM Killer给干掉了呢?
可以从/var/log/messages这个文件里查找下,是否有之前pid对应的进程Kill信息,或者进程名,比如我们这里说的是Java应用,就直接查Java的就可以,像
这样的内容,
"Out of memory: Kill process 31201 (java) score 783 or sacrifice child
如果没有这个文件的权限,也可以直接使用如下命令
dmesg | egrep -i 'killed process'
会有类似这样的输出
Killed process 13090 (java)
知道是被OOM Killer干掉的,那下一步就只能是保证环境的内存够用了,少被其它程序占用,加到受保护进程里,或者直接换个内存充足的服务器吧。 ^_^.
热心网友
时间:2023-10-09 08:37
HI,你好,我最近也在研究tomcat的问题。在linux上,也是运行一段时间后无故服务停止,还没有长到原因。所以想请教下你,你的问题解决了吗?是什么问题造成的!3Q!或者我们一起讨论下!
linux tomcat 日志 catalina.out没有,日志里面没一个文件。
方法有两种 第一种最简单 :在你的tomcat的bin目录里面新建一个setenv.sh文件 加入下面两行,重启tomcat 就ok。JAVA_HOME=/usr/java/jdk1.6.0_13/ (根据你的Java安装目录修改)JRE_HOME=/usr/java/jdk1.6.0_13/jre 在不行把下面这种方式试试;vi /etc/profile //更改环境变量,此次...
如何解决tomcat启动闪退的问题
1. 检查环境配置:确保Tomcat与Java版本兼容,并且所有环境变量如JAVA_HOME、CATALINA_HOME等都已正确设置。2. 查看日志文件:Tomcat的日志文件通常会记录启动时出现的问题。可以查找catalina.out或catalina.log等文件,分析其中的错误信息,定位问题所在。3. 重新配置或安装Java环境:如果确定是由于Java环境的...
linux下tomcat启动没有日志,没有进程,没有报错,没有监听端口
我的问题解决了 ,是不小心改动了catalina.sh文件,该回来就好了。
linux下部署的tomcat项目,日志产生的catalina.out文件
一种方法是采用log4j输出到自己定义的日志文件中(参见:http://baike.baidu.com/link?url=dGdzMKBRrnAEe9R2fac08CB5hhWojk1GxW6-QRaykIuMV9zibrRMYMfMFyrmSW6fzrewewvBkrY7eeItuECiyK);一种方法是更换tomcat中的一些包,使用log4j来接管catalina.out的日志生成方式(参见:http://my.oschina....
Linux下怎么查看Tomcat的报错信息
启动linux进入到tomcat安装目录 /apache-tomcat-6.0.26/bin下运行 #./startup.sh start 停止tomcat时运行命令:./shutdown.sh start 远程查看tomcat的控制台 进入tomcat/logs/文件夹下 键入指令:tail -f catalina.out 就可以查看控制台了
tomcat启动起来很慢,甚至是卡死在某一步骤的解决方案
我们在服务器上启动tomcat的时候,偶尔会碰到tomcat启动起来特别慢,甚至是卡死在某一步的情况,下面记录了我一次在CentOS上启动tomcat,使用 ./bin/startup.sh 命令启动后,通过命令 tail -f logs/catalina.out 查看tomcat日志 由上面日志可以看出,tomcat没有启动成功,但是也没有任何报错信息,但是...
linux下怎么查看tomcat输出日志?
1.命令格式;tail 2.命令功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。3.命令参数:-f循环读取-q不显示处理信息-v显示详细的处理信息-c显示的字节数-n显示行数--pid=PID与-f合用,表示在进程ID,PID死掉之后结束.-q,--quiet,--silent从不输出给出文件...
怎么用linux命令查看tomcat的日志文件
tail -f 后面跟tomcat日志文件存放路径,如日志文件存放路径为在/home/tomcat/logs,catalina.out为默认为当天日志。执行tail -f /home/tomcat/logs/catalina.out
tomcat 没有日志,怎么检查错误
Tomcat下内部代码丢出的日志,文件名localhost.日期.log(jsp页面内部错误的异常,org.apache.jasper.runtime.HttpJspBase.service类丢出的,日志信息就在该文件!)Tomcat下默认manager应用日志,文件名manager.日期.log 控制台输出的日志,Linux下默认重定向到catalina.out Cataline应该有个全部日志的集合,...
...停止时出现了问题,怎么解决啊 严重: Catalina.stop: java.net.C...
dos命令下:netstat -ano|find '8080',查看端口是否已经被使用,如果是,停掉它:tasklist 找到8080对应的PID,然后启动任务管理器,kill掉该进程