b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

IBM Websphere培训3——JVM相关参数配置跟问题诊断

电脑杂谈  发布时间:2020-01-19 14:02:41  来源:网络整理

ibm websphere mq 基础教程_ibm websphere 电子商务解决方案含盘_ibm websphere 电子商务解决方案含盘

1.Websphere JVM相关问题诊断:

由JVM引起的Websphere问题主要有应用服务器宕机和功耗降低,JVM相关弊端的特点如下:

(1).Websphere应用服务器停止响应:

a.Websphere服务器宕机。

b.Websphere进程挂起。

c.JVM内存溢出。

(2).性能下降:

JVM进程号(process Id)不停地改变。

2.诊断JVM相关问题所需文件:

(1).核心文件(Core files):

a.进程快照以及平台的核心文件。

b.完整的JVM内存快照等。

注意:文件特别庞大,需要ISA(IBM Support Assistant)的日志分析工具解析。

(2).javacore文件:

a.正在运行的java进程的快照。

b.Websphere应用服务器发生错误时自动生成的文件。

存储路径为:<WAS_install_root>/profiles/<profile>。

(3).JVM详细的垃圾回收器日志。

(4).JVM堆快照。

3.JVM垃圾回收器日志:

(1).设置Websphere中JVM垃圾回收器方法:

在Websphere管理控制窗口点击:Servers->Application servers-><server_name>->Javaand Process Management ->Process Definition->Java Virtual Machine,勾选”Verbose Garbage Collection ”复选框,重启Websphere即可。

(2).JVM详细的垃圾回收器日志写在系统错误日志文件中(native_stderr)。

(3).在产品公布之后,推荐将Websphere的JVM垃圾回收器日志打开,它消耗资源十分的少。

ibm websphere 电子商务解决方案含盘_ibm websphere 电子商务解决方案含盘_ibm websphere mq 基础教程

4.JVM关于堆的相关参数设定:

(1).JVM最大的堆内存大小(maximum heap, -Xmx):

设置合理的最大堆有助于JVM优化性能,最大堆越大,JVM垃圾回收器收集一次垃圾花费的时间越长;最大堆越小,JVM垃圾回收器运行更频繁。

合理的最大堆需要是稍微高于当程序运行稳定时所需的最大堆容量。

(2).JVM初始化堆内存大小(minimum heap,-Xms):

设置合理的最小堆可以减少Websphere应用服务器的开启时间。

最小堆很小,JVM可能在服务器启动重新过程不断调整再次修改最小堆,从而影响启动速度。

最小堆太大,垃圾回收器必须回收较大的存储空间,容易造成内存碎片。同时因为初始堆内存太大,分配堆内存花费的时间相当大,程序响应速度慢。

5.JVM垃圾回收器性能指标:

垃圾回收器是JVM中造成内存性能瓶颈的主要因素,JVM的垃圾回收器性能指标:

(1).吞吐量(Throughput):

指JVM没有花费在垃圾回收器上的百分比,即JVM在处理程序运行所耗费时间占整个JVM运行时间的百分比。

(2).暂停(Pauses):

指JVM垃圾回收器运行时间的百分比,即由于JVM垃圾回收器运行而暂停应用程序处理时间占整个JVM运行时间的百分比。

6.Websphere中JVM垃圾回收器的回收策略(GC policy):

(1).–-Xgcpolicy:optthruput

让JVM尽可能花最多时间处理应用程序,尽量避免垃圾回收器的运行时间。

(2).–-Xgcpolicy:optavgpause

让JVM尽可能多回收垃圾,当不可预知的状况出现时,应用程序响应时间相当快。

(3).–-Xgcpolicy:gencon

适合于应用程序需要长期分配堆内存给短存活周期对象的状况,垃圾回收器使用分代复制算法,让垃圾回收器尽快回收已经死亡的年老代对象。

(4).–-Xgcpolicy:subpool

适合于应用程序在多个线程中经常帮大对象分配堆内存的状况。

7.通过JVM线程快照诊断进程挂起问题:

ibm websphere 电子商务解决方案含盘_ibm websphere mq 基础教程_ibm websphere 电子商务解决方案含盘

当怀疑JVM进程挂起时,以下的方式可以帮助治疗JVM进程挂起相关问题:

(1).收集JVM线程快照以及JavaCore文件:

Websphere默认是开启的ibm websphere 电子商务解决方案含盘,也可以在命令行(linux)中通过”kill -3”向Websphere发送信号产生JVM线程快照和JavaCore相关文件。

(2).当进程挂起时,每个几分钟收集一下JVM线程快照:

当进程挂起产生时,需要每个几分钟收集一下JVM线程快照,以帮助预测进程内部的运行状况。

(3).手动或者借助ISA的轮询分析器查看JVM线程快照文件:

a.检查是否有线程死锁造成。

b.检查所有发送请求后等待响应的线程运行状况。

8. 通过JVM JavaCore文件诊断进程挂起问题:

查看javacore文件主要依据线程的运行状况进行相应的难题诊断:

(1).线程进入阻塞状态:

a.无法访问的资源,或者逻辑错误的线程同步都有也许造成线程被阻塞。

b.死锁也或许促使线程被阻塞。

(2).线程进入运行状态:

a.通过多个javacore文件检查方式的读取堆栈。

b.如果一个方法内形成这些线程,有也许方法的循环逻辑有问题。

(3).线程进入等待状态:

线程可能由于等待资源被挂起。

9.Websphere中线程挂起诊断:

Websphere中包括了探测线程挂起的功能,它不会去杀掉挂起的线程,只会通过下列3种方式通知线程挂起:

(1).向JMX器发送JMX通知,通过第3方的软件捕获JMX事件处理线程挂起。

(2).通过线程池流量检测平台向PMI客户发送线程挂起通知。

(3).向Websphere的SystemOut.log日志中写线程挂起的消息,格式如下:

[4/17/04 11:51:30:243 EST] 2d757854 ThreadMonitor W CWWSR0605W:ThreadServlet.Engine.Transports : 0 has been active for 14,198 milliseconds and may be hung. There are 1threads in total in the server thatmaybe hung.

ibm websphere 电子商务解决方案含盘_ibm websphere mq 基础教程_ibm websphere 电子商务解决方案含盘

(4).当之前一个线程被报告为挂起,如果线程既正常运行后,Websphere会向SystemOut.log日志中写线程正常运行的消息,格式如下:

[2/17/04 11:51:47:210 EST] 76e0b856 ThreadMonitor W WSVR0606W:ThreadServlet.Engine.Transports : 0 was previously reported to be hungbut has completed. It was active forapproximately 31,166 milliseconds.Thereare 0 threads in total in the server that still may be hung.

(5).Websphere的对于线程挂起的判断跟警告处理可以智能调节,即假如前一次造成的线程挂起告警后来确认是正常运行的,则Websphere会相应调整判定条件。

10.Websphere宕机问题症状跟常见病因:

Websphere宕机时的主要体现为:Websphere进程由于java异常以及操作系统本地信号而终止运行。

Websphere宕机的常见原因:

(1).JVM内存溢出异常。

(2).JVM栈溢出。

(3).无法预知的其它异常状况,如磁盘空间不足等。

(4).JVM性能改进失败,如由JIT引起的问题。

(5).Java本地方法调用(JNI)产生错误,或者类库产生弊端。

(6).JVM调用本地机器码执行时,产生内存段冲突。

11.Websphere宕机问题诊断:

(1).Core文件:

a.进程快照和平台的核心文件。

b.二进制格式的完整的虚拟内存快照文件。

注意:core文件或许比较大,另外有些是二进制格式不可读,因此必须使用ISA的日志分析软件解析。

(2).JavaCore文件:

Java的存储快照文件和线程快照文件。

(3).为JVM配置–Xdump参数:

可以指定产生系统快照、java快照和对存储快照。

13.Websphere内存溢出常见原因:

内存溢出形成是指JVM没有足够的存储空间为对象分配内存,常见因素如下:

(1).JVM的java堆很小。

ibm websphere 电子商务解决方案含盘_ibm websphere 电子商务解决方案含盘_ibm websphere mq 基础教程

(2).JVM中内存空间是够用的,但是都是零散的,即没有一块的容量可以符合新形成对象的堆内存需求(在JDK1.4.2及其当时版本中最常用)。

(3).java代码导致的JVM内存泄漏。

(4).机器原本内存不够用。

14.内存溢出问题诊断方法:

(1).首先分析javacore文件中存储相关的问题。

a.检查堆内存大小信息。

b.查看内存溢出异常栈。

(2).分析垃圾回收器产生的文件跟堆信息:

a.检查垃圾回收器的具体日志。

b.查看对内存快照。

15.Websphere内存溢出症状:

(1).JVM堆内存经常以恒定的增长速度不停的下降,直到超过最大堆内存值。

(2).JVM堆内存从来没有处于一个稳定的状况。

16.Websphere内存溢出诊断和解决办法:

(1).在Websphere管理控制台窗口增大JVM最大堆存储值(Xmx),方法如下:

在Websphere管理控制台窗口点击:Servers -> Application Servers -> server-> Java and ProcessManagement -> Process Definition -> JavaVirtualMachine -> Maximum heap size。

(2).检查JVM详细的垃圾回收器日志,审查内存分配失败理由:

a.找到由于内存溢出引起的存储分配失败。

b.检查被分配堆内存对象的大小。

c.确认JVM的堆内存大小。

d.查看JVM堆内存空闲利用率(JVM堆没有被分配使用总整个JVM堆的百分比)。

(3).检查之前类似的内存分配失败问题:

a.如果持续造成内存分配失败的弊端,则JVM堆太小,需要增加JVM堆大小。

b.如果是时常由于为一个大对象分配内存失败ibm websphere 电子商务解决方案含盘,是个独立的事件,则考量综合的解决方案。

17.Websphere监控和调整堆内存大小:

在Websphere管理控制台窗口点击:Servers -> Application Servers -> server-> Java and ProcessManagement -> Process Definition -> JavaVirtualMachine -> Maximum heap size后打开如下界面:

根据JVM中使用的堆内存(上图中橘红色的线),调整JVM最大堆内存值(上图中蓝色的线),直到JVM中使用的堆内存趋于稳固为止(橘红色的线趋于平缓),且JVM最大堆存储稍微高于使用的堆内存值(红色的线稍微高雅平稳后橘红色的线)。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-137444-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...