`
jessdy
  • 浏览: 61420 次
  • 性别: Icon_minigender_1
  • 来自: 上海虹口区
社区版块
存档分类
最新评论

IBM Websphere 内存溢出一例

    博客分类:
  • Java
阅读更多

[10-5-18 16:08:43:855 CST] 00000161 SystemErr     R Exception in thread "WebContainer : 18" java.lang.OutOfMemoryError
[10-5-18 16:08:44:470 CST] 00000161 SystemErr     R 	at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:303)
[10-5-18 16:08:44:470 CST] 00000161 SystemErr     R 	at com.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl.allocateCommon(WsByteBufferPoolManagerImpl.java:514)
[10-5-18 16:08:44:470 CST] 00000161 SystemErr     R 	at com.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl.allocateDirect(WsByteBufferPoolManagerImpl.java:450)
[10-5-18 16:08:44:470 CST] 00000161 SystemErr     R 	at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:472)

 解决方法:

Excessive native memory use in IBM WebSphere Application Server 6.0 and 6.1

Excessive native memory use in IBM WebSphere Application Server 6.0 and 6.1
 Technote (troubleshooting)
 
Problem(Abstract)
The use of asynchronous data transfer may require an excessive number of buffers to send data over a TCP/IP connection.


This predominately occurs when files are being transferred (e.g., a PDF being returned in a response, the dmgr updating the nodeagents, etc.) but, can also occur with normal responses from IBM® WebSphere® Application Server. 
 
Symptom
The process size for the application server or deployment manager can grow quite large.


You may also see OutOfMemoryError’s thrown and malloc errors in SystemOut.log. 
JVMDBG001: malloc failed to allocate … 
 



Cause
A new feature was added to allow the sending of data asynchronously as a performance enhancement. Unfortunately, this can require the allocation of enough buffers to contain the entire file being transferred (java.nio.DirectByteBuffer's). 


Depending on the size of the file, this can be a bad decision, as it may require a large amount of memory. There are also occasions when these buffers will not be freed up, causing even more problems with native memory utilization. 
 

Environment
WebSphere Application Server 6.0.2 and 6.1 
 

Diagnosing the problem
Check the JVM’s™ process size using operating system specific tools (e.g., ps, top, perfmon). Check the Application Server logs for malloc errors. 
 

Resolving the problem
A Java™ property can be set which will force the data transfer to be synchronous rather than asynchronous. Since the asynchronous transfer is generally faster, at least for small files, the use of synchronous transfer may result in a slight performance impact. This performance impact should be quite small, and would be far outweighed by the performance impact of the extra memory used by all of the buffers allocated by the asynchronous transfer algorithm.

This property was added in later Application Server FixPacks, so you may need to upgrade your Application Server installation before setting the property. 


1. Check if your Application Server installation is at least at 6.0.2.21 or 6.1.0.11, depending on whether you are on Application Server 6.0.2 or 6.1. If not, please install one of the FixPacks to get your installation up to that level or more recent.

2. Set the channelwritetype property to use synchronous data transfer (sync):

For an application server
In the Admin Console: 
Servers -> Application Servers -> serverName -> Web Container Settings -> Web Container -> Custom Properties:
Press New:
Add the following pair: 
Name: com.ibm.ws.webcontainer.channelwritetype
Value: sync
Press OK, and then save the configuration.

The application server must be recycled to pick up the property.


For a deployment manager
Start an interactive wsadmin session: 
<dmgr-profile-root>\bin>wsadmin -lang jacl

Copy the following block of lines, then paste them all at once at the wsadmin> prompt: 
set dmgr [$AdminConfig getid /Server:dmgr/]
set webcontainer [$AdminConfig list WebContainer $dmgr]
$AdminConfig create Property $webcontainer {{name com.ibm.ws.webcontainer.channelwritetype} {value sync}} properties
$AdminConfig show $webcontainer
$AdminConfig save

The deployment manager must be recycled to pick up the property.
,照此设置即可。

分享到:
评论

相关推荐

    java IBM websphere 内存溢出 javacore deapdump CPU内存分析工具

    Java IBM WebSphere应用服务器在运行过程中可能会遇到各种性能问题,其中最常见的挑战之一是内存溢出。内存溢出是指应用程序消耗的内存超过了系统所能提供的限制,导致程序崩溃或性能急剧下降。在这种情况下,开发者...

    websphere内存溢出.pdf

    ### Websphere内存溢出问题解析与解决方案 #### 一、引言 Websphere作为一款广泛应用于企业级环境的应用服务器软件,其稳定性和性能至关重要。然而,在实际使用过程中,经常会遇到内存溢出(Out Of Memory, OOM)的...

    websphere内存溢出

    【标题】:WebSphere内存溢出 在Java应用程序服务器中,WebSphere是一个广泛使用的平台,用于部署和管理企业级的应用程序。然而,由于其复杂的内存管理和高并发特性,WebSphere可能会遇到内存溢出的问题,这可能...

    IBM WebSphere MQ 技术白皮书.doc

    IBM WebSphere MQ 技术白皮书是 IBM 公司发布的一份技术白皮书,旨在介绍 IBM WebSphere MQ 产品的技术特性、架构和价值。下面是根据白皮书的内容生成的相关知识点。 概述 在概述部分,白皮书介绍了 IBM WebSphere...

    IBM WebSphere MQ 安装包

    IBM WebSphere MQ,前身为IBM MQSeries,是IBM公司推出的一款企业级的消息中间件产品。它在信息技术领域扮演着至关重要的角色,为跨网络、操作系统和应用程序提供了高效、安全的数据传输解决方案。作为MQ系列产品的...

    IBM服务器内存溢出heapdump分析工具.rar

    软件介绍: IBM websphere 服务器出现内存溢出或其他故障时,会生成heapdump文件,本工具用于分析heapdump,查找错误原因。运行IBN WEBSPHERE HEAPDUMP需要安装JDK1.8框架。

    IBM WebSphere MQ入门教程.pdf

    IBM WebSphere MQ 是一种基于消息队列的中间件,用于实现不同的应用程序之间的异步通信。下面是对 IBM WebSphere MQ 的入门教程的总结,涵盖了 WebSphere MQ 的原理、体系结构、重要特点和应用场景等方面的知识点。 ...

    IBM WebSphere 认证的教材

    IBM WebSphere 是一款全球领先的业务基础架构平台,用于构建、部署和管理企业级应用程序。它为企业提供了一个集成的环境,支持跨多个系统进行应用程序开发、运行和管理。在这个"IBM WebSphere 认证的教材"中,我们...

    IBM WebSphere 认证配套实验帮助文档

    本篇“IBM WebSphere 认证配套实验帮助文档”不仅涵盖了Servlet和JSP开发的核心技术要点,还提供了详细的实验环境搭建指南,对于希望深入了解IBM WebSphere平台的学习者来说是一份非常宝贵的资源。通过实际操作实验...

    IBM Websphere Portal Primer

    The dictionary defines a portal as a grand or imposing door or entrance; hence, that picture on the cover. In this book, you will learn why the word portal has become a major buzzword in the world of ...

    ibm websphere portal 学习资料

    IBM WebSphere Portal 是一款强大的企业级门户平台,它允许组织构建、管理和个性化复杂的Web应用程序,以提供统一的访问体验。这个学习资料包将带你深入了解WebSphere Portal的核心概念、功能和应用。 首先,让我们...

    IBM webSphere 认证试题

    #### 一、IBM WebSphere 认证概述 IBM WebSphere 是一款高性能的企业级应用服务器,它提供了强大的中间件功能,包括事务处理、消息传递、安全性和集群管理等,适用于构建和部署复杂的业务应用程序。获得IBM ...

    IBM WebSphere MQ安装使用教程详细图解

    IBM WebSphere MQ,简称MQ,是一款由IBM提供的消息中间件,它允许应用程序之间可靠地交换信息,无论它们位于何处或使用何种操作系统。本教程旨在指导用户在Windows系统上安装和使用IBM WebSphere MQ v6.0。 **安装...

    IBM WebSphere Commerce backend dev

    【描述】:尽管描述中没有提供具体信息,但根据“backend dev”这一关键词,我们可以推断本文将聚焦于IBM WebSphere Commerce平台的后端开发实践和技巧。IBM WebSphere Commerce是业界领先的电子商务解决方案,它为...

    IBM WebSphere DataStage v8.1 中文文档

    IBM Information Server FastTrack, IBM WebSphere® Business Glossary, IBM Information Server Business Glossary Anywhere, IBM WebSphere DataStage®, IBM WebSphere Information Analyzer, IBM WebSphere ...

    Java下操作IBM Websphere MQ的项目案例

    在IT行业中,IBM WebSphere MQ(也称为IBM MQ)是一种广泛使用的中间件,它允许应用程序在不同的网络协议、操作系统和硬件之间可靠地交换消息。在这个“Java下操作IBM Websphere MQ的项目案例”中,我们将探讨如何...

    IBM WebSphere应用服务器简介

    IBM WebSphere应用服务器简介

    IBM WebSphere Portal 解决方案

    IBM WebSphere Portal 解决方案

Global site tag (gtag.js) - Google Analytics