一道JAVA web服务器的面试题,帮忙看看,谢谢!! 一个OA系统交付后,几个小时候就宕机,但Cpu也不繁忙,内存也没有占用好多,就是收不到请求。但前面几个小时一切正常,还有就是重启tomcat后又能正常几个小时,问如果你是项目中成员,你该怎么解决这个问题。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 记日志,调到debug级,看宕机时到底发生了什么。 1: ps -efww | grep tomcat 看看进程还在不在2: netstat -anp | grep :8080 看看端口是否存在3: tail -f log/app-oa.log 看看日志是否在跑4: netstat -anp | grep 1521 看看跟数据库之间的 TCP 连接有多少? 1、在log4j.xml下配置日志显示级别为debug,根据日志提示进行追踪。2、看一下JVM内存设置的大小,同时考虑Java未销毁垃圾回收不用的对象。3、在Tomcat中看一下设置的默认会话连接数的大小,考虑是否会话使用已满。4、建好的会话一直占用端口,可以用netstat -an 看一下OA系统目前端口占用的状况。5、楼主未提到硬盘空间大小的问题,结合本人项目经验觉得需要考虑以下两点: 5.1、应用需要写日志或者插入记录的硬盘存储空间不足。 5.2、应用使用的数据库如Oracle分配的表空间不足,表空间使用率将近100%。6、看应用在哪一模块出现明显的停摆状态(一般在核心的数据交换的业务模块),对该模块进行 System.out.println("step1、step2、step3、……")跟踪,呵呵,看看你的代码是否健壮。7、到了这步如果还木找出原因,我建议考虑操作系统的兼容性问题,如原来应用一直在windows在跑现在客户的是Linux的操作系统,虽然Java跨平台,但是有些硬编码还是可能出现问题的,另外查看一下JDK的版本是否与原先的一致哦。8、……待续 1、在log4j.xml下配置日志显示级别为debug,根据日志提示进行追踪。2、看一下JVM内存设置的大小,同时考虑Java未销毁垃圾回收不用的对象。3、在Tomcat中看一下设置的默认会话连接数的大小,考虑是否会话使用已满。4、建好的会话一直占用端口,可以用netstat -an 看一下OA系统目前端口占用的状况。5、楼主未提到硬盘空间大小的问题,结合本人项目经验觉得需要考虑以下两点: 5.1、应用需要写日志或者插入记录的硬盘存储空间不足。 5.2、应用使用的数据库如Oracle分配的表空间不足,表空间使用率将近100%。6、看应用在哪一模块出现明显的停摆状态(一般在核心的数据交换的业务模块),对该模块进行 System.out.println("step1、step2、step3、……")跟踪,呵呵,看看你的代码是否健壮。7、到了这步如果还木找出原因,我建议考虑操作系统的兼容性问题,如原来应用一直在windows在跑现在客户的是Linux的操作系统,虽然Java跨平台,但是有些硬编码还是可能出现问题的,另外查看一下JDK的版本是否与原先的一致哦。8、……待续 查询问题 编码问题,就Help? request.getParameter("page") 初学Spring 遇到无法注入的问题 大侠们给看看啊!! 有人了解 wooki 的吗 ? 网络延迟获取 问个关于 xml的简单 问题.... 一个有关Struts如何接收并处理表单中File类型的问题 用Dom写了一个XML文件,如何将文件的内容转化为字符串呢? 哪里有ejb做的论坛的源代码下载 a herf 传值到一个弹出框 有一个已知坐标点,如何快速和数据库内大量坐标点计算距离?
2: netstat -anp | grep :8080 看看端口是否存在
3: tail -f log/app-oa.log 看看日志是否在跑
4: netstat -anp | grep 1521 看看跟数据库之间的 TCP 连接有多少?
2、看一下JVM内存设置的大小,同时考虑Java未销毁垃圾回收不用的对象。
3、在Tomcat中看一下设置的默认会话连接数的大小,考虑是否会话使用已满。
4、建好的会话一直占用端口,可以用netstat -an 看一下OA系统目前端口占用的状况。
5、楼主未提到硬盘空间大小的问题,结合本人项目经验觉得需要考虑以下两点:
5.1、应用需要写日志或者插入记录的硬盘存储空间不足。
5.2、应用使用的数据库如Oracle分配的表空间不足,表空间使用率将近100%。
6、看应用在哪一模块出现明显的停摆状态(一般在核心的数据交换的业务模块),对该模块进行 System.out.println("step1、step2、step3、……")跟踪,呵呵,看看你的代码是否健壮。
7、到了这步如果还木找出原因,我建议考虑操作系统的兼容性问题,如原来应用一直在windows在跑现在客户的是Linux的操作系统,虽然Java跨平台,但是有些硬编码还是可能出现问题的,另外查看一下JDK的版本是否与原先的一致哦。
8、……待续
2、看一下JVM内存设置的大小,同时考虑Java未销毁垃圾回收不用的对象。
3、在Tomcat中看一下设置的默认会话连接数的大小,考虑是否会话使用已满。
4、建好的会话一直占用端口,可以用netstat -an 看一下OA系统目前端口占用的状况。
5、楼主未提到硬盘空间大小的问题,结合本人项目经验觉得需要考虑以下两点:
5.1、应用需要写日志或者插入记录的硬盘存储空间不足。
5.2、应用使用的数据库如Oracle分配的表空间不足,表空间使用率将近100%。
6、看应用在哪一模块出现明显的停摆状态(一般在核心的数据交换的业务模块),对该模块进行 System.out.println("step1、step2、step3、……")跟踪,呵呵,看看你的代码是否健壮。
7、到了这步如果还木找出原因,我建议考虑操作系统的兼容性问题,如原来应用一直在windows在跑现在客户的是Linux的操作系统,虽然Java跨平台,但是有些硬编码还是可能出现问题的,另外查看一下JDK的版本是否与原先的一致哦。
8、……待续