因为NFS无法访问导致应用挂起/Java的原因和跟踪(交流,提醒,供思路分析)
2012-12-19 01:12
375 查看
现象描述: 无论通过命令行还是手动执行启动,tomcat实例均在加载配置文件时卡住,导致启动失败。
1. 首先查看catalina.out日志,有Log4j的实例停住了,但不能确定是哪个线程阻塞;
2. jstack查看线程信息,有outputStream.openAppend()这个方法上,一直没有返回,因此确定IO句柄不能获得——在读取一个文件的时候挂死了。
3. 检查相关的代码是Log4J,因此检查log4j的配置文件,发现配置的目标目录是NFS上。
4. NFS挂载因为网络原因不能访问时,访问挂载点的应用会永远挂起,不会超时也不会异常,因此确定问题。
1. 首先查看catalina.out日志,有Log4j的实例停住了,但不能确定是哪个线程阻塞;
2. jstack查看线程信息,有outputStream.openAppend()这个方法上,一直没有返回,因此确定IO句柄不能获得——在读取一个文件的时候挂死了。
3. 检查相关的代码是Log4J,因此检查log4j的配置文件,发现配置的目标目录是NFS上。
4. NFS挂载因为网络原因不能访问时,访问挂载点的应用会永远挂起,不会超时也不会异常,因此确定问题。
相关文章推荐
- Hadoop HDFS 文件访问权限问题导致Java Web 上传文件到Hadoop失败的原因分析及解决方法
- MFC对话框Dialog控件处理程序handler因为public修饰符导致无法访问
- Java--因为char类型无法强制转换负数导致IO读取文件无法停止问题
- WEB-INF是Java的WEB应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录。
- 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器、HttpModule 或服务器跟踪。
- “访问被拒绝”导致文件无法删除的原因
- Java应用CPU占用100%原因分析
- OpenGL ES 贴图图片是否有 Alpha 通道以及图片大小导致无法显示帖图的原因分析
- iOS 10 不提示「是否允许应用访问数据」,导致应用无法使用的解决方案
- 全面分析:内部无法使用映射的公网来访问内部服务器的原因
- 【故障】Linux系统故障解决思路与无法启动的原因分析
- windows8安装Metro应用提示无法安装成功的原因分析及对策
- 您不具备查看该目录或页面的权限,因为访问控制列表(ACL)对Web服务器上的该资进行了配置-关于IIS新追加文件无法访问的原因
- 一种导致android开发时无法生成R.java文件的原因
- NET映射导致的应用无法访问
- 实例分析解决死锁导致网站无法访问故障
- 案例分析:内部无法使用映射的公网来访问内部服务器的原因
- iOS 10 不提示「是否允许应用访问数据」,导致应用无法使用的解决方案
- Java应用线程泄漏原因分析与避免
- centos7防火墙导致java程序访问mongodb3.0.1时报错的问题分析