1.JVM堆内存的利用情况
按照环境—>服务器—>监视—>性能的路径进入WebLogic服务器的性能监视页面,在本页面中会显示Java虚拟机内存利用率统计信息(如下图)。通过这些信息我们可以掌握服务器JVM堆的占用情况。
JVM堆是JVM用来存储对象实例以及数组值的区域,可以认为Java中所有通过new创建的对象的内存都在此分配。堆中对象的内存需要等待GC进行回收,当堆中需要使用的内存超过其允许的大小时,会抛出OutOfMemory的错误信息。
2.垃圾收集和线程转储
通过上个页面,除了可以监视有关此服务器的性能信息。还可以使用此页强制执行垃圾收集或线程转储。
垃圾收集会触发JVM调用System.gc()方法执行垃圾收集。垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空间中的对象进行识别,如果对象正在被引用,那么称其为存活对象,反之,如果对象不再被引用,则为垃圾对象,可以回收其占据的空间,用于再分配。
线程转储可以被定义为JVM中在某一个给定的时刻运行的所有线程的快照。一个线程转储可能包含一个单独的线程或者多个线程。在多线程环境中,比如J2EE应用服务器,将会有许多线程和线程组。每一个线程都有它自己的调用堆栈,在一个给定时刻,表现为一个独立功能。线程转储将会提供JVM中所有线程的堆栈信息,对于特定的线程也会给出更多信息。
3.用监视仪表盘监视服务器性能
WebLogic 10.3.3及更高版本提供了监视仪表盘(DashBoard), 可用来查看系统运行的一些关键参数。我们可以在视图列表中新建一个视图,在度量浏览器内的类型中选择JVM,在实例中选择想要监测的服务器,在度量中选择想要监测的参数。具体效果如下图:
监视仪表盘提供了一套工具,可用于在视图中组织和显示诊断数据,而视图会呈现出一些比较关键的运行时和历史 WebLogic Server 性能度量以及这些度量随时间的变化。同时我们可以设置取样间隔、最大样本数、图表类型、图表样式等一系列属性。通过监视仪表盘我们可以更好的观察一些系统关键参数的变化趋势。