Weblogic常用监控方法及指标

Weblogic常用监控方法及指标
Weblogic常用监控方法及指标

性能测试工作室,专注于性能测试技术研究(https://www.360docs.net/doc/462129136.html,)Weblogic常用监控指标

JMSRuntime

JMSServersCurrentCount 返回当前JMS服务的连接数ConnectionsCurrentCount 返回本JMS服务器上当前的连接数JMSServersHighCount 返回自服务器启动后JMS服务的最大连接数ConnectionsHighCount 返回本JMS服务器自上次重置后的最大连接数JVMRuntime

HeapSizeCurrent 返回当前JVM堆中内存数,单位时字节HeapFreeCurrent 返回当前JVM堆中空闲内存数,单位时字节ExecuteQueueRuntime

ExecuteThreadCurrentIdleCount 返回队列中当前空闲线程数PendingRequestOldestTime 返回队列中最长的等待时间PendingRequestCurrentCount 返回队列中等待的请求数

Queue Length 队列长度

JDBCConnectionPoolRuntime

WaitingForConnectionHighCount

返回本JDBCConnectionPoolRuntimeMBean 上最大等待连接数WaitingForConnectionCurrentCount 返回当前等待连接的总数

MaxCapacity 返回JDBC池的最大能力

WaitSecondsHighCount 返回等待连接中的最长时间等待者的秒数ActiveConnectionsCurrentCount 返回当前活动连接总数ActiveConnectionsHighCount 返回本JDBCConnectionPoolRuntimeMBean 上最大活动连接数

注:

weblogic通常监控JVM和执行队列,JDBC连接池,其中执行队列最关键的指标是Queue Length 队列长度

weblogic一般来说监控jvm的使用、执行线程队列情况、和连接池的变化情况,还有一个很重要的检查weblogic的console日志这里经常能反映一些很重要到情况。

监控weblogic的jvm有一个很好的自带工具,由于weblogic使用自己的jroc kit作为jvm,自带一个工具通过在启动参数加-Xmanagement,然后进入到jroc kit的bin路径下命令行console启动,可以看到更加细微的jvm的情况,对jv m的调优很好。

这里还是建议一定对jvm的工作原理做一个深入的理解会对你很有帮助,同时了解不同的jrockit的jvm垃圾回收器各自的特点,这些都对weblogic的调优大有帮助。

小结

BEA WebLogic Server 8.1监视的核心在于Java Management Extensions(JMX)规范。简单的理解,WebLogic对每个可以进行管理的资源通过一个或者多个管理Bean来管理,这就是Mbeans,然后JMX代理直接控制可管理资源,提供了管理对象的注册,并将此对象公开给兼容JMX的应用程序。

我们主要关注两种Mbeans:配置Mbeans 与运行时Mbeans.配置

配置Mbeans 用于域针对其资源的配置信息。配置Mbeans被进一步分类为:1)管理(Admi nistration):配置Mbeans位于域的管理服务器上。要修改域的配置,需要在管理服务器上修改适当的管理Mbeans。2)本地配置(Local Configuration):管理Mbeans的本地复制,个别服务器用于提升性能。本地配置Mbeans是不能修改的。

运行时Mbeans 则提供了诸如JVM 内存资源使用状况以及WebLogic 服务器状态等资源的信息快照。当域中的某一资源实例化时(例如Web应用),相应地就会创建一个Mbeans 实例来收集该资源的信息。

在WebLogic Server 8.1的监视方式中,主要有四种:

通过管理控制台访问监控页面时。实质是通过JMX代理对Mbeans执行Get操作来获得该资源的当前属性值。

通过命令行工具来获取监控信息。实质是通过Java命令直接操纵底层Mbeans。

编程实现自定义的监视。实质是在程序中调用相应的Mbeans来获取信息。

使用第三方软件监视。

下面详细介绍这几种监视方式。

(1)管理控制台监视

通过管理控制台,可以对WebLogic的性能以及运行状况,发布的应用,资源等进行监视。

下面列举部分用来管理WebLogic的监视页面来简要说明管理控制台所提供的监视功能。

服务器->监视->常规,该页面显示了服务器的当前状态。高级选项里还显示了WebLogic 版本,JDK的提供商,版本,操作系统的版本等信息。最后从这个页面,还可以访问JNDI 树、监视活动队列、监视连接以及监视活动套接口。

服务器->监视->常规->监视所有活动队列,执行队列的配置对WebLogic 性能是很重要的,根据经验值,一颗CPU可以配置25-30之间的执行线程。从该页面可以查看到已经分配给队列的执行线程数,当前空闲的线程数,最长等待请求放入队列中的时间,队列中的等待请求数,此队列已处理的请求数等重要信息,这些信息可以作为判断是否需要对执行线程调整的参考。

服务器->监视->性能,从该页面中可以了解WebLogic 服务器性能的基本情况,包括空闲线程数,等待处理的请求数,JVM的内存堆使用状态等。

部署->应用程序->EAR模块->监视,当应用程序部署运行后,可以监视单一组件,如EJB,Se rvlet等。如上图所示,该页面提供了发布的应用程序中EJB的统计信息,可以有效了解EJB处理请求的效率。

服务->JDBC->连接缓冲池->监视,在控制台中可以监视资源的运行的状态,如JDBC等。该页面提供了JDBC连接缓冲池的统计信息,包括连接缓冲池可包含的最大数据库连接数,当前使用的物理数据库连接数,当前使用的物理数据库连接数等信息。

值得一提的是在控制台监视页面里可能会有一个自定义此视图的选项,使用自定义视图后可以使用自定义的视图,可以包含个人关注的信息,而且可以监视更多的信息。如上图所示,该视图是自定义后的JDBC连接缓冲池监视页面。

控制台上其它的监视页面就不一一列举了,所有的监视页面参考:

https://www.360docs.net/doc/462129136.html,/wls/docs81/adminguide/monitoring.html#1039671

(2)运用命令行工具监视

命令行工具可以使用特殊命令(GET、SET、CREATE、INVOKE、DELETE 和QUERY)直接操纵底层JMX 基础结构。这使命令行工具可以访问管理控制台所有可用的功能,甚至还为访问某些功能提供了更灵活的方法。

具体运用过程是使用Java命令,调用weblogic.Admin这个java类。在运用该工具时,需要设定环境变量,指定java命令路径及weblogic包的类路径。使用weblogic.Admin工具的语法如下:

java weblogic.Admin [ [-url | -adminurl] [protocol://] listen-address:port] -username user name [-password password] COMMAND-NAME arguments

在上面的命令语法中,username和password表示用户名和密码,url表示运行命令的服务器实例的监听地址和监听端口,adminurl表示管理服务器可以检索域中任何服务器实例的本地配置MBean 或运行时MBean,COMMAND-NAME表示具体执行的特殊命令(GET、SET、CR EATE、INVOKE、DELETE 和QUERY),arguments表示命令的参数。实际运用的一条命令如下:

java weblogic.Admin -username weblogic -password weblogic -url localhost:7001 GET -pretty -type JVMRuntime

需要留意的是最后的命令参数–type,指定了想获得信息的资源(如果是某个具体的Mbean,使用-mbean 参数,-type是所指定类型的实例的所有MBean 进行操作),该参数的获取规则是:在WebLogic Server 8.1 API Reference查找MBean 的接口类,并从类名中删除MBean

后缀。对于为weblogic.management.runtime.JDBCConnectionPoolRuntimeMBean 的实例的MBean,使用JDBCConnectionPoolRuntime。对于本地配置MBean,将Config 追加到名称中。例如,对于为weblogic.management.configuration.JDBCConnectionPoolMBean 接口类的实例的本地配置MBean,使用JDBCConnectionPoolConfig。对于对应的管理MBean

实例,使用JDBCConnectionPool。

具体的命令参考请见:https://www.360docs.net/doc/462129136.html,/wls/docs81/admin_ref/cli.html

上面的图示演示了从javadoc中获取type参数,最后获取相应监视信息的过程

(3)编程Mbean自定义监视

Mbeans实质上是一个java类,那么肯定可以编程使用,于是就可以编程实现自定义监视。

MBeanHome home = (MBeanHome) new

InitialContext().lookup(MBeanHome.LOCAL_JNDI_NAME);

Set pools = home.getMBeansByType("JDBCConnectionPool");

上面的代码片段是对于JDBC连接缓冲池的配置mbean的操纵的核心部分。得到该mbean 实例后可以得到各种weblogic能够提供的关于JDBC连接缓冲池配置信息,实现自定义监视。

(4)使用第三方工具监视

BEA WebLogic Server作为一种广泛运用的Java应用服务器,有大量第三方软件可以运用,包括HP-Mercury LoadRunner,QUEST Spotlight for WebLogic Server,Wily's Introscope for WebLogic等,详细的使用方法见其产品文档,在此不再累述。

----------- 软件性能测试工作室:提供性能测试咨询、培训和项目指导(QQ: 2225045276 E-Mail: AutomationQA@https://www.360docs.net/doc/462129136.html,)

评论

#1楼2012-06-18 10:56 liubang

推荐hyperic hq和Jennifer软件。这两个软件基本上满足所有weblogic监控需求。

参考资料:

https://www.360docs.net/doc/462129136.html,/hyperic-hq

https://www.360docs.net/doc/462129136.html,/JENNIFER

BEA WebLogic Server 8.1监视的核心在于Java Management Extensions(JMX)规范。简单的理解,WebLogic对每个可以进行管理的资源通过一个或者多个管理Bean来管理,这就是Mbeans,然后JMX代理直接控制可管理资源,提供了管理对象的注册,并将此对象公开给兼容JMX的应用程序。

我们主要关注两种Mbeans:配置Mbeans 与运行时Mbeans.配置

配置Mbeans 用于域针对其资源的配置信息。配置Mbeans被进一步分类为:1)管理(Administration):配置Mbeans位于域的管理服务器上。要修改域的配置,需要在管理服务器上修改适当的管理Mbeans。2)本地配置(Local Configuration):管理Mbeans的本地复制,个别服务器用于提升性能。本地配置Mbeans是不能修改的。

运行时Mbeans 则提供了诸如JVM 内存资源使用状况以及WebLogic 服务器状态等资

源的信息快照。当域中的某一资源实例化时(例如Web 应用),相应地就会创建一个Mbeans 实例来收集该资源的信息。

在WebLogic Server 8.1的监视方式中,主要有四种:

通过管理控制台访问监控页面时。实质是通过JMX代理对Mbeans执行Get操作来获得该资源的当前属性值。

通过命令行工具来获取监控信息。实质是通过Java命令直接操纵底层Mbeans。

编程实现自定义的监视。实质是在程序中调用相应的Mbeans来获取信息。

使用第三方软件监视。

下面详细介绍这几种监视方式。

(1)管理控制台监视

通过管理控制台,可以对WebLogic的性能以及运行状况,发布的应用,资源等进行监视。

下面列举部分用来管理WebLogic的监视页面来简要说明管理控制台所提供的监视功能。

服务器->监视->常规,该页面显示了服务器的当前状态。高级选项里还显示了WebLogic 版本,JDK的提供商,版本,操作系统的版本等信息。最后从这个页面,还可以访问JNDI 树、监视活动队列、监视连接以及监视活动套接口。

服务器->监视->常规->监视所有活动队列,执行队列的配置对WebLogic 性能是很重要的,根据经验值,一颗CPU可以配置25-30之间的执行线程。从该页面可以查看到已经分配给队列的执行线程数,当前空闲的线程数,最长等待请求放入队列中的时间,队列中的等待请求数,此队列已处理的请求数等重要信息,这些信息可以作为判断是否需要对执行线程调整的参考。

服务器->监视->性能,从该页面中可以了解WebLogic 服务器性能的基本情况,包括空

闲线程数,等待处理的请求数,JVM的内存堆使用状态等。

部署->应用程序->EAR模块->监视,当应用程序部署运行后,可以监视单一组件,如

EJB,Servlet等。如上图所示,该页面提供了发布的应用程序中EJB的统计信息,可以有效了解EJB处理请求的效率。

服务->JDBC->连接缓冲池->监视,在控制台中可以监视资源的运行的状态,如JDBC等。该页面提供了JDBC连接缓冲池的统计信息,包括连接缓冲池可包含的最大数据库连接数,当前使用的物理数据库连接数,当前使用的物理数据库连接数等信息。

值得一提的是在控制台监视页面里可能会有一个自定义此视图的选项,使用自定义视图

后可以使用自定义的视图,可以包含个人关注的信息,而且可以监视更多的信息。如上图所示,该视图是自定义后的JDBC连接缓冲池监视页面。

控制台上其它的监视页面就不一一列举了,所有的监视页面参考:

https://www.360docs.net/doc/462129136.html,/wls/docs81/adminguide/monitoring.html#1039671

(2)运用命令行工具监视

命令行工具可以使用特殊命令(GET、SET、CREATE、INVOKE、DELETE 和QUERY)直接操纵底层JMX 基础结构。这使命令行工具可以访问管理控制台所有可用的功能,甚至还为访问某些功能提供了更灵活的方法。

具体运用过程是使用Java命令,调用weblogic.Admin这个java类。在运用该工具时,需要设定环境变量,指定java命令路径及weblogic包的类路径。使用weblogic.Admin工

具的语法如下:

java weblogic.Admin [ [-url | -adminurl] [protocol://] listen-address:port] -username username [-password password] COMMAND-NAME arguments

在上面的命令语法中,username和password表示用户名和密码,url表示运行命令的服务器实例的监听地址和监听端口,adminurl表示管理服务器可以检索域中任何服务器实例

的本地配置MBean 或运行时MBean,COMMAND-NAME表示具体执行的特殊命令(GET、SET、CREATE、INVOKE、DELETE 和QUERY),arguments表示命令的参数。实际运用的一条命令如下:

java weblogic.Admin -username weblogic -password weblogic -url localhost:7001 GET -pretty -type JVMRuntime

需要留意的是最后的命令参数–type,指定了想获得信息的资源(如果是某个具体的Mbean,使用-mbean 参数,-type是所指定类型的实例的所有MBean 进行操作),该参数的获取规则是:在WebLogic Server 8.1 API Reference查找MBean 的接口类,并从类名中删除MBean 后缀。对于为

weblogic.management.runtime.JDBCConnectionPoolRuntimeMBean 的实例的MBean,使用JDBCConnectionPoolRuntime。对于本地配置MBean,将Config 追加到名称中。例如,对于为weblogic.management.configuration.JDBCConnectionPoolMBean 接口类的实例的本地配置MBean,使用JDBCConnectionPoolConfig。对于对应的管理MBean 实例,使用JDBCConnectionPool。

具体的命令参考请见:https://www.360docs.net/doc/462129136.html,/wls/docs81/admin_ref/cli.html

上面的图示演示了从javadoc中获取type参数,最后获取相应监视信息的过程

(3)编程Mbean自定义监视

Mbeans实质上是一个java类,那么肯定可以编程使用,于是就可以编程实现自定义监视。

MBeanHome home = (MBeanHome) new

InitialContext().lookup(MBeanHome.LOCAL_JNDI_NAME);

Set pools = home.getMBeansByType("JDBCConnectionPool");

上面的代码片段是对于JDBC连接缓冲池的配置mbean的操纵的核心部分。得到该mbean实例后可以得到各种weblogic能够提供的关于JDBC连接缓冲池配置信息,实现自定义监视。

(4)使用第三方工具监视

BEA WebLogic Server作为一种广泛运用的Java应用服务器,有大量第三方软件可以运用,包括HP-Mercury LoadRunner,QUEST Spotlight for WebLogic Server,Wily's Introscope for WebLogic等,详细的使用方法见其产品文档,在此不再累述。

weblogic服务器优化配置详解

第一章概要 WebLogic 配置文件(config.xml)包含了大量很直观的与性能有关的参数,能通过配置环境与应用程序得到很好的优化。基于系统的需要调整这些参数不仅能改善单个点的性能,而且能提高整个应用程序性能的可衡量性。 试着采用下列WebLogic配置方法,或许能使你的系统达到最佳状态: 一修改运行队列线程数的值。在WebLogic 中队列元素的线程数等于同时占用运行队列的应用程序的数目。当任务加入一个WebLogic 实例,它就被放到执行队列中,然后分配给任务一个线程来运行。线程消耗资源,因此要小心处理这个属性——增加不需要的值,会降低性能。 二,如果可能,使用自带的性能包(NativeIOEnabled=true)。 三,使用特定的应用程序执行队列。 四,使用JDBC连接池时,修改下列属性: 驱动名称:使用小的驱动或者jDriver。 初始容量:设为与最大容量相同的值。 最大容量:其值至少应与线程数相同。 五,把连接池的大小设为与执行队列的线程数相同。 六,设置缓冲。 七,为Servlet和JSP使用多个执行队列。 八,改变JSP默认的Java编译器,javac 比jikes或sj要慢。 第二章优化WebLogic 提要: 为WebLogic启动设置Java参数。 设置与性能有关的配置参数。 调整开发与产品模式默认值。 使用WebLogic“自有的IO”性能包。 优化默认执行队列线程。 优化连接缓存。 如何提高JDBC连接池的性能。 设置Java编译器。 使用WebLogic集群提高性能。 监视WebLogic域。 一、为WebLogic启动设置Java参数 只要启动WebLogic,就必须指定Java参数,简单来说,通过WebLogic.Server 域的命令行就可以完成,不过,由于这样启动的过程冗长并且易于出错,BEA 公

Weblogic12c-集群-代理安装配置手册-初级V1.0

软件室 Weblogic12 C安装配置手册-初级 版本 <1.0>

修订历史记录

目录 1.简介 (4) 1.1目的 (4) 1.2范围 (4) 1.3定义、首字母缩写词和缩略语 (4) 1.4参考资料 (4) 1.5概述 (4) 2.部署前准备工作 (4) 2.1JDK环境安装(使用ROOT用户) (4) 2.2H OSTS文件配置和多台WEBLOGIC集群说明(使用ROOT用户) (5) 2.3创建WEBLOGIC用户和用户组(使用ROOT用户) (6) 3.WEBLOGIC12C的安装(在桌面模式下进行安装,非命令行模式) (6) 3.1运行安装程序 (6) 3.2安装步骤图片展示 (7) 4.创建WEBLOGIC域(DOMAIN) (15) 4.1运行配置向导 (15) 4.2选择D OMAIN S OURCE (19) 4.3输入管理员用户名称和密码 (21) 4.4选择WEBLOGIC启动模式和JDK (21) 4.5选择定制配置和集群服务器配置选择说明 (23) 4.6配置管理节点 (23) 4.7W EB容器服务配置 (25) 4.8集群配置 (26) 4.9其他配置图解 (29) 5.WEBLOGIC 启动和JVM内存设置 (33) 5.1节点配置 (33) 5.2W EBLOGIC手动启动(使用WEBLOGIC用户) (33) 5.2.1启动管理服务(使用weblogic用户) (33) 5.2.2启动web容器节点(使用weblogic用户) (34) 5.2.3访问地址 (34) 5.3生产模式免密码和后台启动(使用WEBLOGIC用户操作命令) (34) 5.4开机自启动服务配置和设置(使用ROOT用户) (35) 5.5关闭WEBLOGIC (39) 5.6调整WEBLGOC的运行JVM内存 (39)

linux中的weblogic性能调优

Linux中的Weblogic性能测试调整 一.操作系统参数调整 1.linux TCP连接数调整 通过命令:ulimit –n 查看当前最大TCP连接数,这表示当前用户的每个 进程最多允许同时打开多少个文件。一般系统默认为1024,在并发量大 的情况下肯定不够用。 修改此限制的最简单办法:ulimit –n 设置单一进程允许打开 的最大文件数。如果系统回显类似于“Operation not permitted”之类的话,说明修改失败,需要修改系统对该用户打开文件数的软限制或硬限制。 修改软限制或硬限制: 修改/etc/security/limits.conf文件,在文件中添加如下行: * soft nofile 10240 * hard nofile 10240 表示修改所有用户的限制,也可以用指定用户名替代。 修改/etc/pam.d/login文件,在文件中添加如下行: session required /lib/security/pam_limits.so 查看Linux系统级的最大打开文件数限制:cat /proc/sys/fs/file-max 2.修改网络内核对TCP连接的有关限制 端口范围: 修改/etc/sysctl.conf文件,在文件中添加如下行: net.ipv4.ip_local_port_range = 1024 65535 另外,有时无法建立TCP连接的原因可能是因为Linux网络内核的IP_TABLE防火 墙对最大跟踪的TCP连接数有限制 修改/etc/sysctl.conf文件,在文件中添加如下行:net.ipv4.ip_conntrack_max = 10240 这表明将系统对最大跟踪的TCP连接数限制设置为10240。请注意,此限制值要尽 量小,以节省对内核内存的占用。 3.其他参数调整 在/etc/sysctl.conf文件中增加如下参数,进行系统参数调整 net.core.rmem_default=128388607 默认的TCP数据接收缓冲 net.core.wmem_default=128388607 默认的TCP数据发送缓冲 net.core.rmem_max=128388607 net.core.wmem_max=128388607

weblogic故障诊断与日常维护总结

中间件故障诊断总结 一、步骤: 1、准确描述现象:客户说的和自己查看到的:平台、版本、操作、信息等。特别是,故障前是否有做过什么操作:网络调整、设备调整、主机参数调整、配置文件修改……反正将这一切都列入排查的对象。 2、使用工具收集数据,收集配置文件、日志、dump文件等等。 3、使用分析数据,根据问题或收集的数据,使用适当的工具分析数据,当然包括了在网上和在官方支持站点搜索类似的问题的解决办法。 4、尝试解决问题,根据找到的问题点,尝试解决。如修改错的,复原正确的;运行有问题的,适当调整运行的环境和运行的参数等等。 5、给出最佳解决方案,一般就是继续观察了。 6、总结经验并加以重用,知识积累。 二、通过前台收集基本的信息: 1、重点是故障前做过的操作 2、比对运行平台是否在官方的兼容性列表中,一般就是关注各个版本,特别是一些比较怪异的问题 3、检查环境和参数,如能打开控制台,就在控制台中初步观察,一般进入控制台的格式是http://ip地址:端口/console如:http://192.168.0.89:7001/console/。常用的留意点如下: A、域运行状态(域-监视-健康状况);一般为running状态,如果不是 running,那这些界面就没有了。 B、服务器运行状态(域-环境-服务器),正常的为running。

进入,监视-健康状况);留意JVM 堆中当前可用的内存量。 不同的JVM,所显示的内容可能不一样,以下为sun的:

D、各个server线程状态(域-环境-服务器,点击具体的serve后进入,监 视-线程);一般来说,空闲线程要多;健康状况为ok 如下图health状态为:Warning,这个是有线程阻塞的。

Weblogic10.3_Windows优化设置

Weblogic10.3_Windows优化设置 优化说明 一、Weblogic服务程序设置 1、设置JDK内存 修改weblogic\user_projects\domain\bin下的seDomainEnv.cmd文件: 修改前: If”%JAVA_VENDOR%”=”Sun”( Set WLS_MEM_ARGS_64BIT=-Xms256m –Xmx512m Set WLS_MEM_ARGS_32BIT=-Xms256m –Xmx512m )else( Set WLS_MEM_ARGS_64BIT=-Xms512m –Xmx512m Set WLS_MEM_ARGS_64BIT=-Xms512m –Xmx512m ) Set MEM_PERM_SIZE_32BIT=-XX:PermSize=48m Set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m 修改后: If”%JAVA_VENDOR%”=”Sun”( Set WLS_MEM_ARGS_64BIT=-Xms512m –Xmx1024m Set WLS_MEM_ARGS_32BIT=- Xms512m –Xmx1024m )else( Set WLS_MEM_ARGS_64BIT=-Xms1024m –Xmx1024m Set WLS_MEM_ARGS_64BIT=-Xms1024m –Xmx1024m ) Set MEM_PERM_SIZE_32BIT=-XX:PermSize=128m Set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m 说明:红色字体为修改的内容,具体修改值根据实际内存确定 ●-Xmx3550m:设置JVM最大堆内存为3550M。 ●-Xms3550m:设置JVM初始堆内存为3550M。此值可以设置于-Xm相同,以 避免每次JVM动态分配内存所浪费的时间。 ●-XX:PermSize=256M:设置堆内存持久代初始值为256。(貌似是Eclipse等IDE 的初始化参数) ●-XX:MaxPermSize=512M:设置持久代最大值为512M 32位操作JDK内存系统:最大可这种1.5G,如果设置过大,会导致服务无法启动 64位操作JDK内存系统:最大设置为物理内存的60-80% 2、设置线程数: 修改weblogic\user_projects\domains\base_domain\bin下的setDomainEnv.cmd中在JAVA_OPTIONS中添加如下: Set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.threadpool.MinPoolSize=2000 Set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.threadpool.MaxPoolSize=4000 说明: JDK5.0以后每个线程栈大小为1M,但是操作系统对一个进程内的线程数还是

nmon使用说明书

Linux性能分析工具nmon for Linux ----nmon使用说明书 目录 一、概述 (1) 二、下载 (1) 三、安装 (2) 四、使用 (2) 五、利用nmon_analyser分析.nmon文件 (4) 六、FAQ (6) 一、概述 Nmon工具是一种非常好用的,有图形界面的linux性能检测器。Nmon这个系统管理员、调谐器、基准测试工具将提供给你大量重要的性能信息。它在AIX 和Linux 性能监视和采集性能数据等方面得到了广泛应用。 二、下载 nmon下载地址: https://www.360docs.net/doc/462129136.html,/collaboration/wiki/display/WikiPtype/nmon

nmon还带了个分析工具(nmon_analyser),下载地址: https://www.360docs.net/doc/462129136.html,/collaboration/wiki/display/Wikiptype/nmonanalyser 三、安装 nmon 是一个二进制可执行文件,无需安装,解压后直接执行可执行文件就可以使用了。可以将nmon文件上传到服务器的/usr/bin目录,这样他就可以在任意目录执行了。第一次执行命令:chmod +x nmon; ./nmon; 之后直接执行nmon目录即可。 nmon工具界面: 四、使用 nmon有两种使用方法,其一是进入nmon界面,通过按键来查看性能情况;其二是生成nmon文件,之后利用nmon_analyser进行性能分析。 1、执行命令:nmon进入nmon界面,通过按键来查看性能参数信息。 (按键一下进入,再按一下退出) c =CPU CPU 使用率 m=memory 内存使用情况 d=disks 磁盘统计信息 r=resource 系统资源视图 k=kernel 内核统计信息 h=more option (help) 多种选择 l=CPU Long-term 长期处理器平均使用率视图 j=filesystems 文件系统视图 n=network 网络接口视图 N=NFS 网络文件系统视图 t=Top-process 查看消耗资源最多的进程

软件项目维护方案(参考示例)

软件项目维护方案

1.项目背景及目标 1.1.项目背景 在国家政策的指导和帮助下,信息化也越来越发挥出十分重要的作用。XXXX 不断加大信息化管理工作力度,积极实施“上网工程”,大力推进全市局域网建设,加快办公自动化系统进程,信息技术在改革中发挥了重要的支撑作用,为充分发挥政府公共职能,促进依法理财、科学理财,提供了重要的信息技术保障。近年来建设各系统随着数据量的逐年增加,陆续出现了性能问题,有必要进行数据库系统的升级及性能优化,以确保应用系统的正常运行,为单位员工提供更好的信息服务。 1.2.项目目标 ●对各系统数据库进行补丁升级服务,安装补丁前制定详细的升级计划和应急 回退计划。 ●完成各系统数据库的性能调优工作。 ●各业务持续性得到有效的保证。 2.需求分析 XXXXXXX项目,我公司有多年的行业经验。具有对运维服务对象进行适时监测、指标分析、和及时修复的能力。 Oracle 产品日常运行维护项目主要从如下几个方面进行: (1). 每天对ORACLE数据库的运行状态,日志文件,备份情况,数据库的空间使用情况,系统资源的使用情况进行查看,发现并解决问题。

(2). 每周对数据库对象的空间扩展情况,数据的增长情况进行监控,对数据库做健康查看,对数据库对象的状态做查看。 (3). 查看表空间碎片,提出下一步空间管理计划。对ORACLE数据库状态进行一次全面查看。 (4)由于这些数据库系统承载着XXXX非常重要的业务系统数据,所以在日常 维护中需要非常仔细,每周、每月、每季都需要有相应的巡检记录,需要详细记载以下一些内容: 监控数据库对象的空间扩展情况 监控数据量的增长情况 系统健康查看,查看以下内容: 数据库对象有效性查看 查看是否有危害到安全策略的问题。 查看 alert、Sqlnet 等日志并归档报错日志 分析表和索引 查看对数据库会产生危害的增长速度 查看表空间碎片 数据库性能调整 预测数据库将来的性能 调整和维护工作 后续空间

weblogic优化设置&调优参数及监控指标

优化设置 Weblogic服务程序设置: 1、设置JDK内存: 修改weblogic\user_projects\domains\base_domain\bin下的setDomainEnv.cmd文件:修改前: if "%JAVA_VENDOR%"=="Sun" ( set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m ) else ( set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512m set WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m ) set MEM_PERM_SIZE_32BIT=-XX:PermSize=48m set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m 修改后: if "%JAVA_VENDOR%"=="Sun" ( set WLS_MEM_ARGS_64BIT=-Xms512m –Xmx1024m set WLS_MEM_ARGS_32BIT=-Xms512m –Xmx1024m ) else ( set WLS_MEM_ARGS_64BIT=-Xms1024m –Xmx1024m set WLS_MEM_ARGS_32BIT=-Xms1024m –Xmx1024m ) set MEM_PERM_SIZE_32BIT=-XX:PermSize=128m set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m 说明:红色字体为修改的内容,具体修改值根据实际物理内存确定 ?-Xmx3550m:设置JVM最大堆内存为3550M。 ?-Xms3550m:设置JVM初始堆内存为3550M。此值可以设置与-Xmx相同,以避免每次JVM动态分配内存所浪费的时间。

nmon研究报告

操作系统监控工具Nmon使用与介绍

目录 1.目的 (3) 2.NMON简介 (3) 2.1软件特性 (3) 2.2软件组成 (3) 2.3运行环境 (4) 2.4软件功能 (4) 2.5软件获取 (5) 3.NMON使用 (6) 3.1下载软件 (6) 3.2安装软件 (6) 3.3运行界面 (7) 3.4使用方法 (8) 3.4.1实时监控 (8) 3.4.2后台监控 (9) 3.4.3定时任务 (9) 4.NMON监控结果介绍 (10) 4.1生成结果文件 (10) 4.2主要性能参数介绍 (11) 4.3页面介绍 (11) 5.NMON监控案例介绍 (18) 5.1常见现象和产生原因 (18) 5.2实例介绍 (19) 5.2.1示例一 (19) 5.2.2示例二 (21) 5.2.3示例三 (25) 附录一常用网站 (27) 附录二参考资料 (27)

1.目的 本文介绍操作系统监控工具Nmon的概念、使用方式及使用参数。指导运维人员通过nmon 工具监视AIX/Linux操作系统资源使用情况,收集监控结果及产生的数据文件,制作相关系统性能分析报告。 2.Nmon简介 Nmon (Nigel’s Monitor)是由IBM 提供、免费监控AIX 系统与Linux 系统资源的工具。该工具可将服务器系统资源耗用情况收集起来并输出一个特定的文件,并可利用excel 分析工具(nmon analyser)进行数据的统计分析。 2.1软件特性 nmon 工具可以在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。这个高效的工具可以工作于任何哑屏幕、telnet 会话、甚至拨号线路。另外,它不会消耗大量的CPU 周期,通常低于百分之二(在更新的计算机上,其CPU 使用率将低于百分之一)。nmon使用哑屏幕,在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新。用户可以很容易地将这个时间间隔更改为更长或更短的时间段。如果拉伸窗口,并在X Windows、VNC、PuTTY 或类似的窗口中显示这些数据,nmon 工具可以同时输出大量的信息。 nmon 工具还可以将相同的数据捕获到一个文本文件,便于以后对报告进行分析和绘制图形。输出文件采用电子表格的格式(.csv)。 目前nmon已开源,以sourceforge为根据地,网址是https://www.360docs.net/doc/462129136.html,。2.2软件组成 Nmon使用需要nmon工具和nmonanalyser分析程序两者配合使用。nmon工具生成性能数据文件,然后monanalyser以nmon生成的数据文件作为输入,输出为Excel 电子表格,并自动地生成相应的图形,使得我们能够直观地观察OS性能(CPU、IO和内存等)的变化过程。

硬件设备运维方案

目录

概述 XXX第二次土地调查数据库及国土资源视频会议系统运维项目内容主要分为土地调查数据库软硬件运维工作和视频会议系统运维工作,服务内容涵盖了网络交换机机设备、网络安全防护设备、服务器设备、存储设备、操作系统以及数据库等内容,存在技术多样化、管理复杂化等问题,从而对运维公司的技术力量以及管理团队都有着一定的要求。 XXX公司根据多年的项目实施和服务,积累了丰富人力资源和管理经验,根据本次项目特点,特制定如下运行维护解决方案。 服务内容 服务目标 XXX公司可提供的运行维护服务包括,信息系统相关的网络设备、服务器设备、存储设备、操作系统、数据库以及视频会议系统的运行维护服务,保证用户现有的信息系统的正常运行,降低整体管理成本,提高网络信息系统的整体服务水平。同时根据日常维护的数据和记录,提供用户信息系统的整体建设规划和建议,更好的为用户的信息化发展提供有力的保障。 用户信息系统的组成主要可分为两类:硬件设备和软件系统。硬件设备包括网络设备、安全设备、服务器设备、存储设备和视频会议系统设备等;软件系统主要为操作系统、数据库软件、集群软件等和业务应用软件等。 XXX公司通过运行维护服务的有效管理来提升用户信息系统的服务效率,协调各业务应用系统的内部运作,改善网络信息系统部门与业务部门的沟通,提高服务质量。结合用户现有的环境、组织结构、IT资源和管理流程的特点,从流程、人员和技术三方面来规划用户的网络信息系统的结构。将用户的运行目标、业务需求与IT服务的相协调一致。 XXX公司提供的信息系统服务的目标是,对用户现有的信息系统基础资源进行监控和管理,及时掌握网络信息系统资源现状和配置信息,反映信息系统资源的可用性情况和健康状况,创建一个可知可控的IT环境,从而保证用户信息系统的各类业务应用系统的可靠、高效、持续、安全运行。 服务项目范围覆盖的信息系统资源以下方面的关键状态及参数指标:运行状态、故障情况 配置信息 可用性情况及健康状况性能指标 信息资产统计服务 此项服务为基本服务,包含在运行维护服务中,帮助我们对用户现有的信息资产情况进行了解,更好的提供系统的运行维护服务。 服务内容包括: 硬件设备型号、数量、版本等信息统计记录 软件产品型号、版本和补丁等信息统计记录 网络结构、网络路由、网络IP地址统计记录 综合布线系统结构图的绘制 其它附属设备的统计记录 网络、安全系统运维服务

Weblogic性能调优经验

WEBLOGIC性能调优方案 1.查看当前线程池大小: 登录WEBLOGIC控制台,选择服务器-某服务器-监视-性能,可查看到当前最大线程数量。由于WEBLOGIC9取消了在页面进行调整线程大小的功能,需要在后台进行修改。 2.修改线程池大小: 进入服务器的目录D:\bea\user_projects\domains\base_domain\config,使用编辑器打开config.xml文件,找到如下段落: AdminServer 168.5.130.34z 在上面添加如下两行:默认10 1000 1000 添加后的结果: AdminServer

168.5.130.34 1000 1000 按上面的步骤,继续找到ProxyServer,以及所有MANAGE受管机的段落,分别添加上面的两行语句。最终结果如图所示:

如何做性能测试报告

性能测试报告编写说明 2013年5月

目录 1.概述 (1) 1.1 编写目的 (1) 1.2 参考资料 (1) 1.3 注意事项 (1) 2.测试相关准备 (2) 2.1 系统相关参数配置说明 (2) 2.2 测试报告环境准备 (2) 2.3 JMeter测试举例 (2) 2.3.1 准备测试脚本 (2) 2.3.2 启动NMON监听 (3) 2.3.3 执行测试用例 (4) 2.3.4 查看测试结果 (5) 2.3.5 编写测试报告 (6) 2.4 LoadRunner测试举例 (13) 2.4.1 准备测试脚本 (13) 2.4.2 启动NMON监听 (16) 2.4.3 执行测试用例 (17) 2.4.4 查看测试结果 (20) 2.4.5 LoadRunner相关参数配置说明 (21) 2.4.6 编写测试报告 (21)

1.概述 1.1编写目的 说明XXX系统进行压力测试时的一些前提条件及具体操作,以及如何在工具报告中提取哪些相应信息填写在报告内容中,为以后新增交易压力测试报告编写提供参考等。1.2参考资料 《XXX系统项目性能测试方案.doc》 《XXX系统项目性能测试报告.doc》 1.3注意事项 压力测试报告中的数据与具体部署运行环境硬件配置、应用服务器、数据库服务器参数配置相关。

2.测试相关准备 2.1系统相关参数配置说明 1、调整应用程序日志打印级别全部为ERROR级,同时不打印交易日志信息; 2、调整App服务器单个Server的线程池数(WebContener)为100至200; 3、保证应用程序使用JNDI数据库连接池方式访问数据库,连接池数量为100至200; 4、保证连接安全子系统TCPIP通讯缓冲池初始值为100,最大值为300; 5、保证连接短信发送平台的TCPIP(NATP报文)通讯缓冲池初始值为100,最大值为300; 6、App服务器JVM内存堆设置(测试环境单个server:256至512),负载测试时,最好取消监控垃圾回收监控项。 2.2测试报告环境准备 1、启动App服务器(测试环境:10.10.0.100)NMON监听,每10秒获取一次CPU、IO资源信息,取15分钟内的数据大约100执行次左右,具体命令为:nmon -f -t -s 10 -c 100; 2、启动DB2服务器(测试环境:10.10.2.100)NMON监听,每10秒获取一次CPU、IO资源信息,取15分钟内的数据大约100执行次左右,具体命令为:nmon -f -t -s 10 -c 100; 3、启动JMeter监听器中的“用表格察看结果”、“聚合报告”、“察看结果树”至少三项。 2.3JMeter测试举例 2.3.1准备测试脚本 1.打开JMeter安装路径下的bin目录,运行jmeter.bat命令,出现下图所示:

Weblogic性能调优经验

Weblogic性能调优经验

WEBLOGIC性能调优方案 1.查看当前线程池大小: 登录WEBLOGIC控制台,选择服务器-某服务器-监视-性能,可查看到当前最大线程数量。由于WEBLOGIC9取消了在页面进行调整线程大小的功能,需要在后台进行修改。 2.修改线程池大小: 进入服务器的目录D:\bea\user_projects\domains\base_domain\config,使用编辑器打开config.xml文件,找到如下段落:

AdminServer 168.5.130.34z 在上面添加如下两行:默认10 1000 1000 添加后的结果:

AdminServer 168.5.130.34 1000 1000 按上面的步骤,继续找到ProxyServer,以及所有MANAGE受管机的段落,分别添加上面的两行语句。

系统常用命令——AIX和Linux常用命令讲解与对比

单选题 1. 下面关于修改权限的命令正确的是√ A chmod aa u+r B chmod u+wx aa C chmod aa ug+w D chmod u+w;g-w aa 正确答案: B 2. 下列关于nmon使用的说法正确的是× A Linux系统中,不需要上传nmon文件 B Linux系统中,在nmon目录下,启动nmon,直接输入nmon即可 C aix6.1系统中,需要先上传nmon,再修改权限,才能使用nmon工具 D aix中,在任意目录,都可实时启动nmon实时监控 正确答案: D 3. 下列关于用户的说法正确的是√ A 修改用户密码用password命令 B 切换用户用su 命令 C who命令只显示当前用户的属性 D id查看当前所有在线用户属性 正确答案: B 4. 下列关于进程的说法正确的是()√ A kill -3 pid 是用于杀掉某个进程 B Linux系统想要看top进程可用topas命令 C linux使用topas命令可查看进程id D 查找Java进程可用命令ps -ef|grep java 正确答案: D 多选题

5. 下列说法正确的是× A find命令可用于查找存在于文件内的某个字段 B whereis命令适用于查找命令存在的目录 C pwd显示当前所在目录 D aix系统下,使用find命令查找文件,不用输入在哪个目录查找目标文件 正确答案: B C 6. 下列关于vmstat命令说法正确的是√ A vmstat命令会报告有关内核线程、虚拟内存、磁盘、管理程序页、陷阱和处理器活动的统计信息。 B 如果us和sys条目的平均高于80%,很可能遇到了CPU 瓶颈。如果上升到了100%,系统就真的太繁忙 C 如果us和sys条目数字很小,但wa(等待I/O)很高(通常大于30),这意味着系统上存在I/O 问题,从而导致CPU 不能到达其最佳工作状态。 D vmstat 5意思是5秒取一次数据 正确答案: A B C D 判断题 7. Linux系统下可用rm 目录名删除非空目录√ 正确 错误 正确答案:错误 8. mv命令可用于重命名文件√ 正确 错误 正确答案:正确 9. 查看文件尾部内容用tail 命令× 正确 错误 正确答案:正确

weblogic性能优化

优化WebLogic 服务器性能参数 WebLogic 配置文件(config.xml)包含了大量很直观的与性能有关的参数,能通过配置环境与应用程序得到很好的优化。基于系统的需要调整这些参数不仅能改善单个点的性能,而且能提高整个应用程序性能的可衡量性。 试着采用下列WebLogic配置方法,或许能使你的系统达到最佳状态: 一修改运行队列线程数的值。在WebLogic 中队列元素的线程数等于同时占用运行队列的应用程序的数目。当任务加入一个WebLogic 实例,它就被放到执行队列中,然后分配给任务一个线程来运行。线程消耗资源,因此要小心处理这个属性——增加不需要的值,会降低性能。 二,如果可能,使用自带的性能包(NativeIOEnabled=true)。 三,使用特定的应用程序执行队列。 四,使用JDBC连接池时,修改下列属性: n 驱动名称:使用小的驱动或者jDriver。 n 初始容量:设为与最大容量相同的值。 n 最大容量:其值至少应与线程数相同。 五,把连接池的大小设为与执行队列的线程数相同。 六,设置缓冲。 七,为Servlet和JSP使用多个执行队列。 八,改变JSP默认的Java编译器,javac 比jikes或sj要慢。 优化WebLogic 提要: n为WebLogic启动设置Java参数。 n设置与性能有关的配置参数。 n调整开发与产品模式默认值。 n使用WebLogic“自有的IO”性能包。 n优化默认执行队列线程。 n优化连接缓存。 n如何提高JDBC连接池的性能。 n设置Java编译器。 n使用WebLogic集群提高性能。 n监视WebLogic域。 一、为WebLogic启动设置Java参数 只要启动WebLogic,就必须指定Java参数,简单来说,通过WebLogi c.Server域的命令行就可以完成,不过,由于这样启动的过程冗长并且易于出 错,BEA 公司推荐你把这个命令写进脚本里。为了简化这个过程,你可以修改样例脚本里的默认值,样例脚本是提供WebLogic启动服务器的。 如果你用配置向导创建你的域,WebLogic启动脚本(startWebLogic.cmd)放在domain-name目录里。默认情况下,这个目录是BEA_HOME\user_pr ojects\domain\domain-name,BEA_HOME表示安装路径,domain-nam e是在配置模板中设置的域名称。

5分钟教你学会OS性能分析工具_nmon_(AIX压力测试常用)

5分钟教你学会OS性能分析工具 nmon (压力测试常用) nmon是一个分析OS性能屡试不爽的工具,Nmon的使用需要nmon工具和nmonanalyser 分析程序两者配合使用。nmon工具生成性能数据文件,然后monanalyser以nmon生成的数据文件作为输入,输出为Excel 电子表格,并自动地生成相应的图形,使得我们直观的观察OS性能(CPU、IO和内存等)的变化过程,本文主要描述nomn的使用的详细操作过程。 1)下载nmon工具和nmonanalyser Nmon下载: 位置:可从IBM Wiki上下载 https://www.360docs.net/doc/462129136.html,/collaboration/wiki/display/WikiPtype/nmon 下载页面如下: 例如我测试的系统是AIX5.3,那么就可以下载nmon4aix12e.zip,下载后我们可以看到压缩包里是一些文件,如下:

其实nmon就是shell脚本,nmon文件运行时调用其他的文件,生成性能数据,这个工具运行时也是通过执行nmon脚本接受参数。 Nmonanalyser下载: 位置:可从可从IBM Wiki上下载 https://www.360docs.net/doc/462129136.html,/collaboration/wiki/display/Wikiptype/nmonanalyser 下载页面如下: 例如我们下载V3.3版本的。 2)上传nomn工具到服务器上&修改属性

nmon的安装步骤如下: 1)用root用户登录到系统中; 2)建目录:mkdir /test; 3)把nmon用ftp上传到/test,或者通过其他介质拷贝到/test目录中; 4)执行授权命令:chmod +x nmon。文件属性变为可执行 出现如下页面: +nmon-11f------[H for help]---Hostname=debian4------Refresh= 2secs ---14:48.10-------+ | | | ------------------------------ For help type H or ... | | # # # # #### # # nmon -? - hint | | ## # ## ## # # ## # nmon -h - full | | # # # # ## # # # # # # | | # # # # # # # # # # To start the same way every time | | # ## # # # # # ## set the NMON ksh variable | | # # # # #### # # | | ------------------------------ | | | | Use these keys to toggle statistics on/off: | | c = CPU l = CPU Long-term - = Faster screen updates | | m = Memory j = Filesystems + = Slower screen updates | | d = Disks n = Network V = Virtual Memory | | r = Resource N = NFS v = Verbose hints | | k = kernel t = Top-processes . = only busy disks/procs | | h = more options q = Quit 则表示成功安装 3)在服务器上运行nmon脚本 当我们进行系统的压力测试时,需要在压力测试的同时进行nmon收集OS性能数据。服务器上nmon相关文件如下:

Weblogic中间件运维经验汇总

Weblogic 中间件运维经验汇总 目录 关于Weblogic 参数调优的运维经验 (2) . Weblogic 性能调优的处理方法 (5) . 关于输电项目Weblogic 安装的运维经验 (8) Weblogic 回收数据库连接数配置的方法 (14) 在Apache 和Weblogic 中分别部署静态页面的方法 (17) Weblogic Server 性能调优经验 (20) WeblogicJVM 堆参数设置方法 (24)

关于Weblogic 参数调优的运维经验 报送单位:北京公司审核人:类型:业务应用 关键字:GC垃圾回收 1、引言 为了提高维护人员运维水平,以集中与分享日常运行维护经验为目的,现进行典型经验的编制。 2、现象描述 部分应用服务器出现宕机现象,在F5上查看时已经掉出集群状态。 3、处理过程 停止宕机应用服务器上的Weblogic进程。 /home/weblogic/bea/user_projects/domai ns/pms/bi n/setDomai nEn v.sh文件中的启动内存大小并添加垃圾回收机制,修改后如下: MEM_ARGS="-Xms5248m -Xmx5248m -Xmn 1536m -XX:SurvivorRatio=6 -XX:+UseParNewGC -XX:+UseCo ncMarkSweepGC -XX:CMSFullGCsBeforeCompactio n=20 -XX:+UseFastAccessorMethods -XX:+AggressiveOpts"

3、修改完成后重启Weblogic 服务。 4、原因分析 在收到报警信息后,对后台日志进行查看,报错信息如下: Exception in thread "CBM_ 正常处理任务线程" https://www.360docs.net/doc/462129136.html,ng.OutOfMemoryError: Java heap space at oracle.jdbc.driver.OracleStatement.prepareAccessors(OracleStatement.ja va:868) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatem ent.java:1045) at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPre paredStatement.java:839) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatem ent.java:1132) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePrepa redStatement.java:3316) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePrepare dStatement.java:3361)

Weblogic性能调优-通过Thread Dump调优JAVA应用程序

理解和探查内存不足/内存泄漏OutOfMemoryError/Memory Leak Analyze & Utilities Demonstrate II(AIX)

理解和探查内存不足/内存泄漏 听完这次Webinar,您将能够: q了解Java基本内存管理基本概念 q了解发生内存不足/内存泄漏错误的原 因和症状 q了解如何解决内存不足/内存泄漏错误

MENU ?Java内存管理的基本概念 ?内存不足和内存泄漏错误的原因和症状 ?使用分析工具解决内存不足和内存泄漏错误?预防内存不足和内存泄漏?OutOfMemory分析实例

…Java内存 –Java堆内存(heap) …Java堆内存(heap): –是JVM用于分配Java对象的内存,包含活动对象和不可用对象 –堆大小通常是在服务器启动时使用java命令中的 –Xms(最小)–Xmx(最大)标志来定义。

…本地内存(native memory): –是JVM用于其内部操作的本地内存(非Java内存)–JNI代码和第三方本地模块(例如,本地JDBC驱动 程序)也使用本地内存 –最大本地内存大小取决于以下因素: ?操作系统进程内存大小限制 ?已经指定用于Java堆的内存 …进程内存大小: –32位操作系统,理论最大值2的32次方=4G –进程内存= Java内存+本地内存 +加载的可执行文件和库+操作系统保留内存

…垃圾回收 (Garbage Collection, GC):–JVM自动检测和释放不再使用的内存。 –Java运行时JVM会执行GC,这样程序员不再需要显 式 释放对象。 –通常在空闲内存降低到某一水平或内存分配达到某一 数量后自动触发。 …以下OutOfMemory简称OOM …以下Memory Leak简称ML …Heap简称“堆”

相关文档
最新文档