运维-resin常见问题

运维-resin常见问题

ID:14758407

大小:66.50 KB

页数:26页

时间:2018-07-30

运维-resin常见问题_第1页
运维-resin常见问题_第2页
运维-resin常见问题_第3页
运维-resin常见问题_第4页
运维-resin常见问题_第5页
资源描述:

《运维-resin常见问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、运维-resin常见问题1.症状1.1.Resin停止响应1.2.Resin不停重启动1.3.java.lang.OutOfMemoryError错误,应用程序内存溢出1.4.运行一会儿,服务器开始变得非常慢1.5.CPU尖峰,高的CPU使用率1.6.会话(sessions)变成null,会话丢失1.6.1.调试日志1.6.2.Resin会话配置1.6.3.应用程序重载1.6.4.浏览器cookie的局限1.6.5.cookie域名的问题1.6.6.cookie名称冲突1.6.7.URL重写1.7.J2EE规范,javax.servlet包规范1.3和Resin不兼容1.8.Uns

2、upportedmajor.minorversion48.01.9.读取POST数据的问题2.技巧方法2.1.启用调试日志2.1.1.服务器和所有应用程序的完全调试日志2.1.2.一个web应用程序的完全调试日志2.2.线程转储2.2.1.使用JDK5工具转储线程2.2.2.通过发送一个信号转储线程2.2.3.如果发送信号无效时的线程转储2.2.4.理解线程转储2.3.内存溢出和垃圾收集2.3.1.-verbosegc2.3.2.使用堆转储检查内存使用2.3.3.理解java.hprof.txt文件中的栈信息2.3.4.理解java.hprof.txt文件中的CPU信息2.3.5.

3、监视垃圾回收2.3.6.增加堆内存2.4.清空classpath2.5.监视HTTP传输2.6.使用一个外部编译器2.7.调整栈内存避免线程限制2.8.使用操作系统的netstat命令获得当前TCP/IP端口的使用2.8.1.连接状态2.8.2.端口使用1.症状1.1.Resin停止响应●可能是一个线程死锁的问题,应该进行线程转储。●启用完全调试日志模式,检查日志最后的纪录看看发生了什么。1.2.Resin不停重启动●启用完全调试日志模式,检查记录看看Resin为什么不停的重启它。1.3.java.lang.OutOfMemoryError错误,应用程序内存溢出●使用JVM启动参数

4、增加堆(heap)内存。●转储堆,看看那个对象无法被垃圾回收器无法回收。●转储线程,检查占用着对象的不能释放的线程一个OutOfMemoryError错误通常意味着堆(heap)内存被用尽。一般是应用程序代码保持了对不在使用的对象的引用,垃圾回收器无法对其进行回收。转储堆,能够查到什么代码和什么种类的对象被占用了。如果对转储或者其它监视工具显示服务器和你的程序实际没有超出堆内存,那么OutOfMemoryError意味着JVM超出了虚拟内存,也就是底层的malloc()调用失败。通常这种情况,通过使用操作系统工具显示内存使用,JVM自己能够显示其自己的堆内存,但是操作系统工具确显示

5、进程占用了大量的内存。在Windows下使用任务管理器,Unix下使用top或者ps命令。JVM无法进行堆内存分配可能有如下原因:●线程,特别是线程堆占用虚拟内存。●JNI库可能调用malloc或者nmap占用虚拟内存。这包括很多数据库驱动,也包含一些Resin使用的JNI代码。●对于.jar/.zip文件,JDK要分配虚拟内存。如果你打开了大量的jar文件,你可能会遇到问题。可以想到用于打开jar的getResourceAsStream没有关闭将会耗尽.jar内存。1.4.运行一会儿,服务器开始变得非常慢●这可能是一个垃圾回收问题。如果你的内存缺乏,然后又创建了大量的对象,这导致

6、垃圾回收器耗尽CPU。如果你内存溢出,JVM将会慢慢停止(连续地进行垃圾收集)直到它死亡。○监视垃圾收集。○转储堆,看看是否是有对象无法被回收。○参看JVM垃圾回收参数调整的文档获得更多垃圾回收的信息。●可能有一个死循环的线程或者一个请求耗尽资源。回应一个请求的线程如果不能返回,Resin就没法再次利用它,那么可用来服务的线程就会越来越少。○进行线程转储,检查可能占用对象的无法释放的线程。1.5.CPU尖峰,高的CPU使用率●转储线程,检查那些线程在无限循环。●检查垃圾收集的部分。1.6.会话(sessions)变成null,会话丢失1.6.1.调试日志首先启用调试日志。特别是浏览

7、器请求提交的头信息能够显示一个客户端的JSESSIONID状态,日志也能说明Resin什么时候识别、创建和失效一个会话。1.6.2.Resin会话配置另一个可能是session-max设置过低,导致当前用户建立会话的数量大于你设置的这个值。另一个可能是会话超时,你可以通过session-timeout标签来配置它。...

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。