欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    weblogic日常维护总结与故障诊断Word文件下载.doc

    • 资源ID:3957260       资源大小:2.38MB        全文页数:20页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    weblogic日常维护总结与故障诊断Word文件下载.doc

    1、00 WebLogicServerdataweb1dc_admin1ACTIVE ExecuteThread: 15 for queue:weblogic.kernel.Default (self-tuning)1313174555613BEA-000337STUCK ExecuteThread:19 has been busy for 2,492 seconds working on the request weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl12035ed, which is more than the config

    2、ured time (StuckThreadMaxTime) of 2,400 seconds. Stack trace: .SocketOutputStream.socketWrite0(Native Method) .SocketOutputStream.socketWrite(SocketOutputStream.java:97) .SocketOutputStream.write(SocketOutputStream.java:141) .ns.DataPacket.send(Unknown Source)E、 JDBC(域-环境-服务器,点击具体的serve后进入,监视-JDBC);

    3、活动连接数合理。F、 程序EJB/Web Module(域-部署);状态为活动,健康状况为ok。其目标关联正确G、 JMS(域-服务-消息传送-JMS服务器);健康状态为ok。4、在控制台生成dump;生成Dump Thread Stacks内容;查找queryList等关键字符,即可快速定位问题代码。5、如果控制台打不开或无法进入,就要先看进程有没有在跑,如果进程有,但控制台或程序无法进入,一般就是有故障了,此时,可以通过相关日志进行后台分析分析。三、 后台日志分析:一般来说,新建立的环境,配置的问题多一点;已经运行的生成系统错误或bug的可能性大点。当出现故障时,就可以调取系统日志、中间件

    4、的日志,根据相关关键字(BEA-)网上搜索,或到官方网站对相关问题的描述进行查找。WebLogic在启动及运行过程中会记录各种LOG信息,以帮助系统治理员对整个应用系统进行治理及维护。1、log默认位置.user_projectsdomainsyour_domainserversAdminServerlogs下面的AdminServer.log;access.log;domain_name.log新版的如:C:OracleMiddlewareuser_projectsdomainsbase_domainserversAdminServerlogs如果是重定向输出的,就看重定向输出的文件。2、日

    5、志文件说明WebLogic SERVER运行日志 假如WebLogic SERVER在启动或运行过程中有错误发生,错误信息会显示在屏幕上,并且会记录在一个LOG文件中,该文件默认名为AdminServer.log。该文件也记录WebLogic的启动及关闭等其他运行信息。可在Gernal属性页中设置该文件的路径及名字,错误的输出的等级等。HTTP访问日志 在WebLogic中可以对用HTTP,HTTPS协议访问的服务器上的文件都做记录,该LOG文件默认的名字为Access.log,内容如下,该文件具体记录在某个时间,某个IP地址的客户端访问了服务器上的那个文件。127.0.0.1 - - 25/

    6、Feb/2002:11:35:58 +0800 GET /weather HTTP/1.1 302 0 GET /weather/index.Html HTTP/1.1 200 176 HTTP访问日志的属性可在HTTP属性页中进行设置。DOMAIN运行日志 记录一个DOMIAN的运行情况,一个DOMAIN中的各个WebLogic SERVER可以把它们的一些运行信息(比如:很严重的错误)发送给一个DOMAIN的ADMINISTRATOR SERVER上,ADMINISTRATOR SERVER把这些信息些到DOMAIN 日志中。默认名为:domain_name.log 。一般就看这个最多。3

    7、、通过控制台查看或修改系统日志路径登录weblogic后台左侧菜单:Environment-Servers右侧菜单:AdminServer(admin)-logging只找到examplesServer.log、access.log配置如图:4、其他如果日志太少,里面没有记载相关信息,可参照日志文件的回滚设置。在“滚动类型:”属性页中可以设置这些日志文件的回滚方式,当日志文件到一定得大小或过了设定的时间后,把日志信息保存到一个新的文件中。WebLogic提供按文件大小和时间两种方式。如下面的设置种,选择Rotation Type 为BY SIZE。也就是当日志文件的大小达到500K时,重新写一

    8、个新的文件。假如Rotation Type 为BY TIME,那么是每隔一段时间重新写一个新的文件。并且对这些文件编号设置日志文件名如:_%yyyy%_%MM%_%dd%_%hh%_%mm%5、日志的处理:查看日志中输出的具体内容,再进行处理。如:BEA-下面是一个线程阻塞的一个信息2011-8-13 上午03时51分46秒 GMT+08:11131317870671212,503weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpldeab5f四、 产生hread Dump来分析问题hread Dump是非常有用的诊断Java应用问题的

    9、工具,每一个Java虚拟机都有及时生成显示所有线程在某一点状态的thread-dump的能力。虽然各个Java虚拟机thread dump打印输出格式上略微有一些不同,但是Thread dumps出来的信息包含线程;线程的运行状态、标识和调用的堆栈;调用的堆栈包含完整的类名,所执行的方法,如果可能的话还有源代码的行数。Thread Dump特点: 能在各种操作系统下使用 能在各种Java应用服务器下使用 可以在生产环境下使用而不影响系统的性能 可以将问题直接定位到应用程序的代码行上 Thread Dump能诊断的问题包括: 查找内存泄露,常见的是程序里load大量的数据到缓存 发现死锁线程 收

    10、集 Thread Dump 进行 Thread Dump 的方法取决于安装挂起服务器实例的操作系统。有关在不同的操作系统上进行 Thread Dump 的信息,Solaris OSctrl- (Control-Backslash)kill -QUIT LinuxLinux 操作系统查看线程的方式不同于其它操作系统。该操作系统将每个线程视为一个进程。若要在 Linux 上进行 Thread Dump,查找通过其启动所有其它进程的进程 ID。使用命令: 若要获得根 PID,使用:ps -efHl | grep java *. * 使用一个作为字符串的 grep 参数(可在与服务器启动命令匹配的进程

    11、堆栈中找到该字符串)。如果 ps 命令还没有管道传送到另一个例程,则报告的第一个 PID 将是根进程。IBM AIX在AIX上用IBM的JVM,内存溢出时默认地会产生javacore文件(关于cpu的)和heapdump文件(关于内存的)。执行kill -3 start.log &命令,执行kill -3 Screen Buffer Size- Height 9999。 同时按下CTRL-BREAK 找到Thread Dump的最开始的位置:Full thread dump. 每个服务器需要 - 来创建诊断问题所需的 Thread Dump。确保在每个服务器上执行几次,每次间隔大约 5 到 1

    12、0 秒,以帮助诊断死锁问题。在 NT 上,在命令 shell 中输入 CTRL-Break。获取失败时刻的获取失败时刻的Thread Dump 启动JVM 时,加入参数: Sun JVM: -XX:+ShowMessageBoxOnE JRockit JVM: -Djrockit.waitone 五、 常见的问题1、Out of Memory 当JVM没有足够的内存执行任务时,会触发 java.lang.OutOfMemoryError 当没有更多内存可以分配时 或空闲的内存有太多碎片,无法利用时 可能不足的内存类型有可能不足的内存类型有: Native (物理内存) Heap (堆内存) 特

    13、定Java 内存代(例如,permanet) 对Out of Memory的响应的响应 JVM会发送error到标准输出流和错误输出流 WLS会将应用程序没有处理的Java异常和错误都输出 到服务器日志 Out-of-Memory和类似的系统错误不应该由应用程序直 接处理接处理 如果应用程序发生错误,会给客户端返回错误信息( 例如HTTP 500) 如果WLS子系统发生错误,则服务器处于不稳定状态 ,需要重启 内存泄漏内存泄漏 内存泄漏: 最常见的引发Out-of-Memory错误的原因 在Java中,内存泄漏并不常发生(相对传统语言) 内存泄漏的原因是当对象不再被需要时,没有显式声明,进而

    14、没有被垃圾回收处理 常见的场景有: 太大的缓存造成内存泄漏 太多使用HTTP会话,导致内存泄漏 对数据库操作结束时,没有正常关闭数据集及数据连接 动态类加载问题 错误日志错误日志 该日志文件通常包括如下类型的信息: 操作系统错误消息 JVM版本 硬件和操作系统参数 系统环境变量 堆和垃圾回收汇总 线程汇总Runtime data area 主要包括五个部分:Heap (堆), Method Area(方法区域), Java Stack(java的栈), Program Counter(程序计数器), Native method stack(本地方法栈)。Heap 和Method Area是被所

    15、有线程的共享使用的;而Java stack, Program counter 和Native method stack是以线程为粒度的,每个线程独自拥有。Heap Java程序在运行时创建的所有类实或数组都放在同一个堆中。而一个Java虚拟实例中只存在一个堆空间,因此所有线程都将共享这个堆。每一个java程序独占一个JVM实例,因而每个java程序都有它自己的堆空间,它们不会彼此干扰。但是同一java程序的多个线程都共享着同一个堆空间,就得考虑多线程访问对象(堆数据)的同步问题。 (这里可能出现的异常java.lang.OutOfMemoryError: Java heap space) Me

    16、thod area 在Java虚拟机中,被装载的class的信息存储在Method area的内存中。当虚拟机装载某个类型时,它使用类装载器定位相应的class文件,然后读入这个class文件内容并把它传输到虚拟机中。紧接着虚拟机提取其中的类型信息,并将这些信息存储到方法区。该类型中的类(静态)变量同样也存储在方法区中。与Heap 一样,method area是多线程共享的,因此要考虑多线程访问的同步问题。比如,假设同时两个线程都企图访问一个名为Lava的类,而这个类还没有内装载入虚拟机,那么,这时应该只有一个线程去装载它,而另一个线程则只能等待。 PermGen full)Java stac

    17、k Java stack以帧为单位保存线程的运行状态。虚拟机只会直接对Java stack执行两种操作:以帧为单位的压栈或出栈。每当线程调用一个方法的时候,就对当前状态作为一个帧保存到java stack中(压栈);当一个方法调用返回时,从java stack弹出一个帧(出栈)。栈的大小是有一定的限制,这个可能出现StackOverFlow问题。 下面的程序可以说明这个问题。public class TestStackOverFlow public static void main(String args) Recursive r = new Recursive();r.doit(10000)

    18、;/ Exception in thread main java.lang.StackOverflowErrorclass Recursive public int doit(int t) if (t = 1) return 1;return t + doit(t - 1);Program counter 每个运行中的Java程序,每一个线程都有它自己的PC寄存器,也是该线程启动时创建的。PC寄存器的内容总是指向下一条将被执行指令的饿“地址”,这里的&可以是一个本地指针,也可以是在方法区中相对应于该方法起始指令的偏移量。Native method stack 对于一个运

    19、行中的Java程序而言,它还能会用到一些跟本地方法相关的数据区。当某个线程调用一个本地方法时,它就进入了一个全新的并且不再受虚拟机限制的世界。本地方法可以通过本地方法接口来访问虚拟机的运行时数据区,不止与此,它还可以做任何它想做的事情。比如,可以调用寄存器,或在操作系统中分配内存等。总之,本地方法具有和JVM相同的能力和权限。 (这里出现JVM无法控制的内存溢出问题native heap OutOfMemory )旧系统2、服务器挂起问题描述在出现以下情况时怀疑服务器挂起:服务器不响应新的请求。请求超时。请求处理的时间越来越长(其最终结果可能是挂起)。通常,服务器挂起不会表现为服务器崩溃,但服

    20、务器挂起之后可能会崩溃。资源濒临枯竭:内存、工作线程、数据库连接池 故障排除请注意,并非下面所有任务都需要完成。有些问题仅通过执行几项任务就可以解决。快速链接:l为什么发生此问题?l服务器挂起的可能原因 l基本步骤 l已知的 WebLogic Server 问题 l收集 Thread Dump lThread Dump 分析 为什么发生此问题?服务器挂起有多种原因。一般而言,服务器挂起是因为缺少某种资源。缺少资源会阻止服务器响应服务请求。例如,由于故障(死锁)或者大量请求的缘故,可能没有任何可用的执行线程来完成工作,所有执行线程都被占用或忙于处理以前的请求。引起引起Server Hang的原因

    21、的原因 工作线程太少 垃圾回收占用时间太多 JVM代码优化问题 应用程序死锁 JDBC 死锁 Remote JNDI lookups JSP 编译 JSP 不正确的设置:PageCheckSeconds JVM bug 服务器挂起的可能原因 主题模式名称链接RMI、RJVM 响应 所有绑定线程等待 RJVM、RMI 响应。EJB_RMI 服务器挂起EJB_RMI 服务器挂起应用程序死锁 线程锁定资源 1,然后等待锁定资源 2。另一个线程锁定资源 2,然后等待锁定资源 1。应用程序死锁导致服务器挂起待定线程全部被占用,没有线程可用于新工作。线程占用导致服务器挂起待定垃圾回收花费太多时间。垃圾回收

    22、导致服务器挂起待定servlet 时间的 JSP 错误设置,比如 PageCheckSeconds。JSP 导致服务器挂起待定死锁造成 JDBC 挂起。JDBC 中的服务器挂起待定(代码优化)过程中的 JVM 挂起类似于服务器挂起。代码优化中服务器挂起待定在大量负载情况下 JSP 编译造成服务器挂起。JSP 编译导致服务器挂起待定SUN JVM 错误,比如轻量型线程库。Sun JVM 错误导致服务器挂起待定返回页首 基本步骤当服务器挂起时,首先使用 java weblogic.Admin t3:/server:port PING 来 ping 该服务器。如果服务器能够响应此 ping,则可能是

    23、应用程序正在挂起而不是服务器自身。确保服务器确实正在挂起,而不是在做垃圾回收。若要验证挂起,启用 -verbosegc 重新启动服务器,然后将 stdout 和 stderr 重定向到一个文件中。当服务器停止响应时,可以判断它是正在收集无用信息还是确实挂起。WebLogic Server 使用“Default”线程队列响应客户端服务请求。这些是在发生服务器挂起时应当检查的线程。下面是其中一个线程在 Thread Dump 中的形式示例。Execute Thread 14 正在等待任务。该线程调用的最后方法是 Object.wait()。ExecuteThread:14default daemon prio=5 tid=0x8b0ab30 nid=0x1f4 waiting on monitor 0x96af000.0x96afdc4atjava.lang.Object.wait(Native Method)java.lang.Object.wait(Object.java:420)weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)确定“Default”Execute


    注意事项

    本文(weblogic日常维护总结与故障诊断Word文件下载.doc)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开