ThreadLocalObject memory leak detected (Weblogic 8 SP6)

It seems that our application server (which heavily uses Entity and Stateless session beans) constantly creates weblogic.ejb20.internal.BaseEJBObject,ThreadLocalObject's in memory. These objects keep increasing and never go down.
In a typical 90 hr run we create upto 22,000,000 instances of these objects. Could someone explain what these are used for and how to fix this issue.

Before you assume you have a memory leak, go to the "Monitoring"->"Performance" page of your server config. Set the page to auto-refresh (I think you can do that in 8.1). While your application is doing its work continuously, every 30 seconds or so, push the "garbage collect" button and watch the "percent free" amount immediately after the GC completes. Keep track of that number. If that number (the one after the GC completes) is continuously going down, and eventually causes an OutOfMemory error, then you have a memory leak. If not, then you probably don't.

Similar Messages

  • Oracle 9.2 and memory leak detection

    Hi All.
    I have found the following error in trace file
    after shutdown database.
    =================================================================
    /.../udump/cpaw_ora_4427.trc
    Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
    With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.1.0 - Production
    ORACLE_HOME = /.../product/9.2.0
    System name: Linux
    Node name: host.com
    Release: 2.4.18-10bigmem
    Version: #1 SMP Wed Aug 7 10:26:52 EDT 2002
    Machine: i686
    Instance name: orcl
    Redo thread mounted by this instance: 0 <none>
    Oracle process number: 10
    Unix process pid: 4427, image: [email protected] (TNS V1-V3)
    *** SESSION ID:(9.3) 2002-10-10 14:17:14.265
    Archiving is disabled
    Archiving is disabled
    ******** ERROR: SGA memory leak detected 16 ********
    KGH Latch Directory Information
    ldir state: 2 next slot: 39
    Slot [  1] Latch: 0x50005be8 Index: 1 Flags: 3 State: 2 next: (nil)
    <...>
    =====================================================================
    Linux RedHat 7.3 (db works in archivelog mode).
    How can I correct this?
    Thanks in advance.
    Best regards,
    Andrey Demchenko.

    Thanks for the answers. The oci8.dll is uncommented naturally. Otherwise it would start up just fine, but I couldn't use the database functions.
    I got it working by installing 5.1.6, but replacing the oci8.dll with the one from the 5.1.0 -version. It's a very... desperate... solution, but at least it works.
    I'm gonna have to try to sell the idea of using the 10g client to our DBA. I don't think though, that he'll be very enthusiastic to set it up on our production servers. We'll see.

  • PGA memory leak detected

    Hi all,
    I using Database version 9.0.2.1 on Windows.
    In Udump\.....trace file have a message:
    *** 2004-04-11 13:28:58.000
    *** SESSION ID:(4.1) 2004-04-11 13:28:57.000
    ******** ERROR: PGA memory leak detected 10340 > 6004 ********
    HEAP DUMP heap name="pga heap" desc=001CDF10 ....
    and then about 1-2 hours, my database is down (not connect) (error: ORA=3113: end of file communicational...)
    I think, cause is PGA memory too large, may be ? I set value of PGA = 80-100 MB.
    My server has 1.5GB RAM, (SGA = 900, Shared Mem=500, Buffer mem= 150..). It's correct ?
    Please help me to resolve this problem.!!!!!
    Thanks
    [email protected]

    Hi ER,
    It seems that you need to Update Patch - 9.2.0.6 which will solve this PGA Memory Leak!
    Check this Doc ID: Note:283897.1 in Metalink!
    Ravi Prakash

  • UGA memory leak detected 1488

    Hi all,
    I am getting the following error in the database alert log.
    ORA-00600: internal error code, arguments: [729], [2216], [space leak], [], [], [], [], []
    when checked the trace file in which the details are dumped. The error line says
    *** 2004-01-07 18:09:00.002
    *** SESSION ID:(123.21632) 2004-01-07 18:08:59.981
    ******** ERROR: UGA memory leak detected 2216 ********
    HEAP DUMP heap name="session heap" desc=0x80000001000b10f0
    extent sz=0x10a8 alt=32767 het=32767 rec=0 flg=3 opc=3
    parent=8000000100007450 owner=c00000003785c750 nex=0 xsz=0x4098
    EXTENT 0
    Can anyone help me in this issue.
    Thanks in advance.
    Regards
    Shoyeb

    Generally error ORA-00600 is very complex to understand and in almost all cases that error is tried with Oracle Support. http://metalink.oracle.com . You have to have an account to open an iTAR and so on.
    Joel P�rez

  • Memory leak in weblogic 6.0 sp2 oracle 8.1.7 thin driver

    Hi,
         I have a simple client that opens a database connection, selects from
    a table containing five rows of data (with four columns in each row)
    and then closes all connections. On running this in a loop, I get the
    following error after some time:
    <Nov 28, 2001 5:57:40 PM GMT+06:00> <Error> <Adapter>
    <OutOfMemoryError in
    Adapter
    java.lang.OutOfMemoryError
    <<no stack trace available>>
    >
    <Nov 28, 2001 5:57:40 PM GMT+06:00> <Error> <Kernel> <ExecuteRequest
    failed
    java.lang.OutOfMemoryError
    I am running with a heap size of 64 Mb. The java command that runs
    the client is:
    java -ms64m -mx64m -cp .:/opt/bea/wlserver6.0/lib/weblogic.jar
    -Djava.naming.f
    actory.initial=weblogic.jndi.WLInitialContextFactory
    -Djava.naming.provider.url=
    t3://garlic:7001 -verbose:gc Test
    The following is the client code that opens the db connection and does
    the select:
    import java.util.*;
    import java.sql.*;
    import javax.naming.*;
    import javax.sql.*;
    public class Test {
    private static final String strQuery = "SELECT * from tblPromotion";
    public static void main(String argv[])
    throws Exception
    String ctxFactory     = System.getProperty
    ("java.naming.factory.initial");
    String providerUrl     = System.getProperty
    ("java.naming.provider.url");
    Properties jndiEnv          = System.getProperties ();
    System.out.println ("ctxFactory : " + ctxFactory);
    System.out.println ("ProviderURL : " + providerUrl);
    Context ctx     = new InitialContext (jndiEnv);
    for (int i=0; i <1000000; i++)
    System.out.println("Running query for the "+i+" time");
    Connection con = null;
    Statement stmnt = null;
    ResultSet rs     = null;
    try
    DataSource ds     = (DataSource) ctx.lookup
    (System.getProperty("eaMDataStore", "jdbc/eaMarket"));
    con = ds.getConnection ();
    stmnt = con.createStatement();
    rs = stmnt.executeQuery(strQuery);
    while (rs.next ())
    //System.out.print(".");
    //System.out.println(".");
    ds = null;
    catch (java.sql.SQLException sqle)
    System.out.println("SQL Exception : "+sqle.getMessage());
    finally
    try {
    rs.close ();
    rs = null;
    //System.out.println("closed result set");
    } catch (Exception e) {
    System.out.println("Exception closing result set");
    try {
    stmnt.close ();
    stmnt = null;
    //System.out.println("closed statement");
    } catch (Exception e) {
    System.out.println("Exception closing result set");
    try {
    con.close();
    con = null;
    //System.out.println("closed connection");
    } catch (Exception e) {
    System.out.println("Exception closing connection");
    I am using the Oracle 8.1.7 thin driver. Please let me know if this
    memory leak is a known issue or if its something I am doing.
    thanks,
    rudy

    Repost in JDBC section ... very serious issue but it may be due to Oracle or
    to WL ... does it happen if you test inside WL itself?
    How many iterations does it take to blow? How long? Does changing to a
    different driver (maybe Cloudscape) have the same result?
    Peace,
    Cameron Purdy
    Tangosol Inc.
    << Tangosol Server: How Weblogic applications are customized >>
    << Download now from http://www.tangosol.com/download.jsp >>
    "R.C." <[email protected]> wrote in message
    news:[email protected]...
    Hi,
    I have a simple client that opens a database connection, selects from
    a table containing five rows of data (with four columns in each row)
    and then closes all connections. On running this in a loop, I get the
    following error after some time:
    <Nov 28, 2001 5:57:40 PM GMT+06:00> <Error> <Adapter>
    <OutOfMemoryError in
    Adapter
    java.lang.OutOfMemoryError
    <<no stack trace available>>
    >
    <Nov 28, 2001 5:57:40 PM GMT+06:00> <Error> <Kernel> <ExecuteRequest
    failed
    java.lang.OutOfMemoryError
    I am running with a heap size of 64 Mb. The java command that runs
    the client is:
    java -ms64m -mx64m -cp .:/opt/bea/wlserver6.0/lib/weblogic.jar
    -Djava.naming.f
    actory.initial=weblogic.jndi.WLInitialContextFactory
    -Djava.naming.provider.url=
    t3://garlic:7001 -verbose:gc Test
    The following is the client code that opens the db connection and does
    the select:
    import java.util.*;
    import java.sql.*;
    import javax.naming.*;
    import javax.sql.*;
    public class Test {
    private static final String strQuery = "SELECT * from tblPromotion";
    public static void main(String argv[])
    throws Exception
    String ctxFactory = System.getProperty
    ("java.naming.factory.initial");
    String providerUrl = System.getProperty
    ("java.naming.provider.url");
    Properties jndiEnv = System.getProperties ();
    System.out.println ("ctxFactory : " + ctxFactory);
    System.out.println ("ProviderURL : " + providerUrl);
    Context ctx = new InitialContext (jndiEnv);
    for (int i=0; i <1000000; i++)
    System.out.println("Running query for the "+i+" time");
    Connection con = null;
    Statement stmnt = null;
    ResultSet rs = null;
    try
    DataSource ds = (DataSource) ctx.lookup
    (System.getProperty("eaMDataStore", "jdbc/eaMarket"));
    con = ds.getConnection ();
    stmnt = con.createStatement();
    rs = stmnt.executeQuery(strQuery);
    while (rs.next ())
    //System.out.print(".");
    //System.out.println(".");
    ds = null;
    catch (java.sql.SQLException sqle)
    System.out.println("SQL Exception : "+sqle.getMessage());
    finally
    try {
    rs.close ();
    rs = null;
    //System.out.println("closed result set");
    } catch (Exception e) {
    System.out.println("Exception closing result set");
    try {
    stmnt.close ();
    stmnt = null;
    //System.out.println("closed statement");
    } catch (Exception e) {
    System.out.println("Exception closing result set");
    try {
    con.close();
    con = null;
    //System.out.println("closed connection");
    } catch (Exception e) {
    System.out.println("Exception closing connection");
    I am using the Oracle 8.1.7 thin driver. Please let me know if this
    memory leak is a known issue or if its something I am doing.
    thanks,
    rudy

  • Memory Leak with Weblogic 6.1

    Hello everyone.
    I need some help with a problem we are having with our application. It consists on Servlets, JMS with MDBs, Xml parsing...
    Our application dequeues messages from an Oracle Queue and sends xml-text message to a servlet. It also receives xml-text and enqueues objects in an Oracle Queue.
    And it also has access to Oracle Database (context tables, etc).
    We are doing everything on Tru64 Unix (and our tests on Win 2000) and we are using WebLogic 6.1.
    Our problem is that we have found that it seems that the garbage collector is not running well. I mean, with the time our system is degrading. The memory use increases. It seems to be a memory leak.
    We have used a testing tool, OptimizeIt, and we have found that there are
    objects that are increasing the use of memory. If we use the option 'java -verbose' we find that it seems to be Hash objects (HashMap, Hashtable) which are increasing the use of memory. In our code we are not using any hashtable nor any class that extends from it (we have deleted everyone).
    Can it be due to a problem with WebLogic? A problem with JMS, queues, etc? A problem with JNDI?
    Could anybody please help us?
    Thanks in advanced.

    Yes, we see that there are some entries of the type:
    java/util/Hahstable$Entry
    java/util/Hahstable
    weblogic/jndi/Environment
    This entries keep growing and growing with the time.
    We have deleted all the Hashtable, Properties and all the kind of Collection objects. I guess WebLogic is using this objects in order to arrange our application runs.
    Am I right? Do you know if we can do anything?
    Thank you.

  • Memory Leak w/ WebLogic 5.1

    I've created a simple servlet to EJB skeleton and built a stress testing
              tool to make sequential requests to the servlet which in turn creates an
              instance of a stateless session been. Both the servlet and bean do not have
              any real logic in them, just some minimal timing output.
              When run for a few million iterations, the WebLogic JVM slowly leaks memory
              that cannot be reclaimed even with force garbage collection from the
              WebLogic console. Below are 3 snippets of code showing the servlet, the EJB
              call, and the simple client test.
              If anyone else is ecperiencing similar problems or can see a flaw, I'd be
              most grateful.
              Andy
              Servlet code
              protected void doGet(HttpServletRequest req, HttpServletResponse res)
              throws ServletException, IOException
              TestBean bean;
              long requestStartTime = System.currentTimeMillis();
              res.setContentType("text/html");
              PrintWriter out = res.getWriter();
              out.println("<html><head><title>Hello World!</title></head>");
              out.println("<body><h1>Hello World!</h1></body></html>");
              try {
              bean = home.create();;
              bean.testMethod();
              catch (Exception e) {
              totalTime += (System.currentTimeMillis() - requestStartTime);
              Bean code
              public class TestBean implements SessionBean {
              private SessionContext ctx;
              public void ejbActivate() {
              public void ejbPassivate() {
              public void ejbCreate() {
              public void ejbRemove() {
              public void setSessionContext(SessionContext ctx) {
              this.ctx = ctx;
              public void testMethod() {
              Client code
              public void simulateLoad()
              throws IOException
              long totalRequestTime = 0, requestTime, requestStartTime;
              long totalResponseTime = 0, responseTime, responseStartTime;
              try {
              log("Opening connection to "+ url + (debug ? "?debug=true" : ""));
              for (int i = 1; i <= numRequests; i++) {
              HTTPConnection con = new HTTPConnection("localhost",7001);
              HTTPResponse rsp;
              byte data[];
              if ((i % 10000) == 0) {
              log("\nGET Request "+i+" to "+ url + (debug ? "?debug=true" :
              requestStartTime = System.currentTimeMillis();
              rsp = con.Get("/mcumanager" + (debug ? "?debug=true" : ""));
              requestTime = System.currentTimeMillis() - requestStartTime;
              responseStartTime = System.currentTimeMillis();
              if (rsp.getStatusCode() >= 300) {
              log("Received Error: "+rsp.getReasonLine());
              log(new String(rsp.getData()));
              else
              data = rsp.getData();
              responseTime = System.currentTimeMillis() - responseStartTime;
              totalRequestTime += requestTime;
              totalResponseTime += responseTime;
              if ((i % 10000) == 0) {
              log("GET Response "+i+": "+rsp);
              if ((i % 100) == 0) {
              log ("Avg request time :
              "+((float)totalRequestTime/(float)i)+"ms");
              log ("Avg response time :
              "+((float)totalResponseTime/(float)i)+"ms");
              catch (IOException ioe) {
              log(ioe.toString());
              ioe.printStackTrace();
              catch (ModuleException me) {
              log("Error handling request: " + me.getMessage());
              me.printStackTrace();
              

    Please read discussion "WLS dies during stress testing" & "performance
              degradation PROBLEM" in interest.performance.
              Hope it helps.
              Cheers - Wei
              Andy Riedel <[email protected]> wrote in message
              news:[email protected]...
              > I have additional information on this problem. I have replicated the exact
              > same memory leak issue using the included HelloWorldServlet. I use Jrun's
              > ServletKiller stress tool running 16 simultaneous request threads
              requesting
              > the HelloWorldServlet. This WebLogic 5.1 server will leak memory and
              > eventually run out of memory all together with an OutOfMemoryException
              after
              > about 6-8 hours. This indicates that the bug is in the base HTTP Servlet
              > engine code.
              >
              > I have tried turning off the http log (i.e. access.log) as well as
              > notification events from the servlet engine and it still leaks memory.
              >
              > Andy
              >
              >
              >
              > Andy Riedel Chief Architect HearMe Call me through VoiceCONTACTtm -- right
              > from your computer. Online Status:
              > "Andy Riedel" <[email protected]> wrote in message
              > news:[email protected]...
              > > I've created a simple servlet to EJB skeleton and built a stress testing
              > > tool to make sequential requests to the servlet which in turn creates an
              > > instance of a stateless session been. Both the servlet and bean do not
              > have
              > > any real logic in them, just some minimal timing output.
              > >
              > > When run for a few million iterations, the WebLogic JVM slowly leaks
              > memory
              > > that cannot be reclaimed even with force garbage collection from the
              > > WebLogic console. Below are 3 snippets of code showing the servlet, the
              > EJB
              > > call, and the simple client test.
              > >
              > > If anyone else is ecperiencing similar problems or can see a flaw, I'd
              be
              > > most grateful.
              > >
              > > Andy
              > >
              > >
              > > Servlet code
              > > -------------
              > >
              > > protected void doGet(HttpServletRequest req, HttpServletResponse res)
              > > throws ServletException, IOException
              > > {
              > > TestBean bean;
              > >
              > > long requestStartTime = System.currentTimeMillis();
              > >
              > > res.setContentType("text/html");
              > > PrintWriter out = res.getWriter();
              > > out.println("<html><head><title>Hello World!</title></head>");
              > > out.println("<body><h1>Hello World!</h1></body></html>");
              > >
              > > try {
              > > bean = home.create();;
              > > bean.testMethod();
              > > }
              > > catch (Exception e) {
              > > }
              > >
              > > totalTime += (System.currentTimeMillis() - requestStartTime);
              > > }
              > >
              > > Bean code
              > > -----------
              > > public class TestBean implements SessionBean {
              > >
              > > private SessionContext ctx;
              > >
              > > public void ejbActivate() {
              > > }
              > >
              > > public void ejbPassivate() {
              > > }
              > >
              > > public void ejbCreate() {
              > > }
              > >
              > > public void ejbRemove() {
              > > }
              > >
              > > public void setSessionContext(SessionContext ctx) {
              > > this.ctx = ctx;
              > > }
              > >
              > > public void testMethod() {
              > > }
              > > }
              > >
              > > Client code
              > > ------------
              > > public void simulateLoad()
              > > throws IOException
              > > {
              > > long totalRequestTime = 0, requestTime, requestStartTime;
              > > long totalResponseTime = 0, responseTime, responseStartTime;
              > >
              > > try {
              > > log("Opening connection to "+ url + (debug ? "?debug=true" : ""));
              > >
              > > for (int i = 1; i <= numRequests; i++) {
              > >
              > > HTTPConnection con = new HTTPConnection("localhost",7001);
              > > HTTPResponse rsp;
              > > byte data[];
              > >
              > > if ((i % 10000) == 0) {
              > > log("\nGET Request "+i+" to "+ url + (debug ? "?debug=true" :
              > > ""));
              > > }
              > >
              > > requestStartTime = System.currentTimeMillis();
              > >
              > > rsp = con.Get("/mcumanager" + (debug ? "?debug=true" : ""));
              > >
              > > requestTime = System.currentTimeMillis() - requestStartTime;
              > >
              > > responseStartTime = System.currentTimeMillis();
              > >
              > > if (rsp.getStatusCode() >= 300) {
              > > log("Received Error: "+rsp.getReasonLine());
              > > log(new String(rsp.getData()));
              > > }
              > > else
              > > data = rsp.getData();
              > >
              > > responseTime = System.currentTimeMillis() - responseStartTime;
              > >
              > > totalRequestTime += requestTime;
              > > totalResponseTime += responseTime;
              > >
              > > if ((i % 10000) == 0) {
              > > log("GET Response "+i+": "+rsp);
              > > }
              > >
              > > if ((i % 100) == 0) {
              > > log ("Avg request time :
              > > "+((float)totalRequestTime/(float)i)+"ms");
              > > log ("Avg response time :
              > > "+((float)totalResponseTime/(float)i)+"ms");
              > > }
              > > }
              > > }
              > > catch (IOException ioe) {
              > > log(ioe.toString());
              > > ioe.printStackTrace();
              > > }
              > > catch (ModuleException me) {
              > > log("Error handling request: " + me.getMessage());
              > > me.printStackTrace();
              > > }
              > > }
              > >
              > >
              > >
              > >
              > >
              >
              >
              

  • Effective tool for GDI memory leaks detection

    Hello!
    Would you advice me some effective tool for GDI memory leaks and run-time errors detection in VC++?
    Thanks!

    926007 wrote:
    This forum is about Java.No, this forum is about C++.
    Please notice the name of the forum: "Solaris Studio *C++*", under the category "Application Development in C, C++, and Fortran".
    There are other forums for Java, listed here:
    https://forums.oracle.com/forums/category.jspa?categoryID=285

  • Memory leak detecting tools for Solaris 10 X86

    Hi All,
    Greetings!
    We are experiencing a crash defect while porting our application from Sol4 to Sol10.
    Stack trace :
    (dbx) where
    =>[1] realfree(0x81b7d60), at 0xfeac3237
    [2] freeunlocked(), at 0xfeac37e9
    [3] free(0x831f1a8), at 0xfeac376f
    [4] tLList_Done(0x831f1a8), at 0x8074255
    [5] tKeyFile_Free(0x8306c60), at 0x8075af5
    [6] tKeyFile_Done(0x8306c60), at 0x8075c6c
    [7] tBGA_Var_Adj_LD(0x81b5eb0, 0x8302b48, 0x0), at 0x807a5f7
    [8] tGen_Var_GenLead(0x81b5eb0, 0x8302b48, 0x0, 0x1), at 0x807b6e7
    [9] tBGA_Var_GenLead(0x81b5eb0, 0x8302b48, 0x0, 0x1), at 0x807a7f8
    [10] tCPD_DevProc_Init_Lead(0x825e6e8, 0x8302b48, 0x0, 0x1), at 0x809b363
    [11] tCPD_DevProc_Init_Data(0x825e6e8, 0x8302b48, 0x0, 0x0, 0x0, 0x0, 0x1), at 0x809b970
    [12] TrayRep_Execute(0x81b1cb4), at 0x80aab45
    [13] TrayRep_RunFrom(0x0, 0x0), at 0x80a997a
    [14] main(0x0, 0x804770c, 0x8047710), at 0x80a946a
    We suspect it to be a memory leak issue. Are there memory leak debugging tools for sol10.
    we were unable to use dbx as we got the following error.
    (dbx) check -memuse
    dbx: Incompatible libthread.so/libthread_db.so found. Error checking disabled
    See `help rtc mt' for details.
    Also dbx's 'check -access' option is not supported for X86.
    Waiting eagerly for any support/guidance.
    Thanks in advance.
    Deepak

    I had the same problem on Solaris 10 sparc. The problem seems to relate to symbolic links with
    long names not being extracted correctly from the tar file (resulting in @LongLink files popping
    up around the place). If you use the .zip source file then the build goes fine.
    Philip.

  • Possible memory leak in Weblogic 7.0

    We have developed an EJB application on Weblogic 7.0 running on HP-UX 11.0. Some
    JSP/Javabean programs, that lookup EJB compoments for services, are developed
    on the Resin web server to serve browser requests. Both Resin and Weblogic are
    running on the same HP machine. JDK version is 1.3.1_06 for HP-UX.
    The real memory is 2GB. Tha parameters to start Resin server are
    -showversion -verbose:gc -Xms384m -Xmx384m -Xoptimize
    The parameters to startup Weblogic are in the following:
    -server -showversion -verbose:gc -Xms768m -Xmx768m -XX:NewSize=256m -XX:SurvivorRatio=6
    -Xoptimize -XdoCloseWithReadPending
    In our observations, the peak traffic is during the working hours. Only few users
    (less than 40 users) stay in our system in the night and holidays.
    And in our observations, the weblogic will do the GC if necessary. But some memory
    are lost after each GC even not in the peak time. Thus, after running two or three
    days, there are only lillte free memory for use, and the Weblogic begins to take
    much time (10-30 seconds ) doing GC more often and often. At last, an OutOfMemory
    error generated.
    I hope that Weglogic can serve all the time.
    Does anybody han as experience on this problem?

    Thanks for your kinfness.
    We have wrote some single-user applications to test the Weblogic 7.0. We doubt
    it is JDBC driver's problem.
    We downloaded the Informix JDBC driver 2.21_JC2 to replace the older version 2.20_JC1
    and retest our applications. The memory usage curve looks much better and the
    applications run over three days.
    We will continue to observe the execution. Maybe the JDBC driver is the real problem.
    "Aravind Krishnasamy" <[email protected]> wrote:
    I am not sure whether it's an application problem or application server
    problem. Both are possible. I am not familar with HP Java Version.
    It may be a problem due to loitering object. You can try doing testing
    with
    single user and the memory needs for the user.
    NoteThe memory level before the test and after the test
    Foce GC and you need to GC same level of HEAP Used, Profiling tools will
    be
    helpful to find application problem
    Aravind
    "Wen-Hung Yeh" <[email protected]> wrote in message
    news:[email protected]...
    We have developed an EJB application on Weblogic 7.0 running on HP-UX11.0. Some
    JSP/Javabean programs, that lookup EJB compoments for services, aredeveloped
    on the Resin web server to serve browser requests. Both Resin and Weblogicare
    running on the same HP machine. JDK version is 1.3.1_06 for HP-UX.
    The real memory is 2GB. Tha parameters to start Resin server are
    -showversion -verbose:gc -Xms384m -Xmx384m -Xoptimize
    The parameters to startup Weblogic are in the following:
    -server -showversion -verbose:gc -Xms768m -Xmx768m -XX:NewSize=256m-XX:Su
    rvivorRatio=6
    -Xoptimize -XdoCloseWithReadPending
    In our observations, the peak traffic is during the working hours.Only
    few users
    (less than 40 users) stay in our system in the night and holidays.
    And in our observations, the weblogic will do the GC if necessary.But
    some memory
    are lost after each GC even not in the peak time. Thus, after runningtwo
    or three
    days, there are only lillte free memory for use, and the Weblogic beginsto take
    much time (10-30 seconds ) doing GC more often and often. At last,an
    OutOfMemory
    error generated.
    I hope that Weglogic can serve all the time.
    Does anybody han as experience on this problem?

  • Memory leak in weblogic server 5.1 sp 9?

    We have been getting an out of memory error at production sites after
    several days of running. We changed the starup file to include the
    verbose:gc parameter and we are running jdk1.3.1_02. Over time the full
    garbage collection message shows that the heap size after garbage collection
    is growing until the server runs out of memory. Can anyone tell me the best
    way to identify the problem?
    Thanks,
    Derek

    had the same problem on 1.2 and sp 9. upgraded to 1.3_02 and sp11 and the
    problem was solved....
    "Derek Gibbs" <[email protected]> wrote in message
    news:[email protected]..
    We have been getting an out of memory error at production sites after
    several days of running. We changed the starup file to include the
    verbose:gc parameter and we are running jdk1.3.1_02. Over time the full
    garbage collection message shows that the heap size after garbagecollection
    is growing until the server runs out of memory. Can anyone tell me thebest
    way to identify the problem?
    Thanks,
    Derek

  • Detecting memory leaks in Managed C++

    In  my managed C++ application creating multiple variables dynamically using 'gcnew' and also some of the pointers being used. 
    Is there is any tool/mechanism to detect and avoid the memory leaks in Managed C++.
    saikalyan

    Hi saikalyan,
    Is there is any tool/mechanism to detect and avoid the memory leaks in Managed C++.
    You can use WinDbg tool to detect and avoid the memory leaks in Managed C++.
    Please check this article:
    http://www.codeproject.com/Articles/19490/Memory-Leak-Detection-in-NET
    Best regards,
    Shu Hu
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • PGA memory Leak issue along with TNS: listener could not hand off client connection

    Hi,
    We have two Oracle Database instances in a 32 bit Standard Edition Windows OS machine with 3 GB RAM : 1) 1525 MB (SGA+PGA) 2) 515 MB (SGA+PGA)
    Recently we upgraded the RAM from 3 GB to 4 GB. Subsequently we upgraded the SGA + PGA of the 2nd instance to 771 MB.
    This has resulted into PGA memory leak issue reported in the alert log file and trace file.
    Reverting back the SGA+PGA size to 515 MB solved the issue.
    Is this issue related to Address Windowing Extension (AWE)?
    Is the reason related to Total memory for all the cumulative Oracle instance should be < 2GB.
    How to solve this?
    Mon Jul 15 08:21:25 2013
    ORACLE V10.2.0.4.0 - Production vsnsta=0
    vsnsql=14 vsnxtr=3
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    Windows Server 2003 Version V5.2 Service Pack 2
    CPU                 : 4 - type 586, 4 Physical Cores
    Process Affinity    : 0x00000000
    Memory (Avail/Total): Ph:1068M/4023M, Ph+PgF:4985M/7933M, VA:18M/2047M
    Instance name: dp3
    Redo thread mounted by this instance: 0 <none>
    Oracle process number: 0
    Windows thread id: 4484, image: ORACLE.EXE (SHAD)
    *** 2013-07-15 08:21:25.133
    *** ACTION NAME:() 2013-07-15 08:21:25.133
    *** MODULE NAME:() 2013-07-15 08:21:25.133
    *** SERVICE NAME:() 2013-07-15 08:21:25.133
    *** SESSION ID:(90.829) 2013-07-15 08:21:25.133
    ******** ERROR: PGA memory leak detected 6302928 > 30176 ********
    HEAP DUMP heap name="pga heap"  desc=6C98A800
    extent sz=0x206c alt=92 het=32767 rec=0 flg=3 opc=3
    parent=00000000 owner=00000000 nex=00000000 xsz=0x0
    EXTENT 0 addr=7FC10008
      Chunk 7fc10010 sz=    64996    free      "               "
      Chunk 7fc1fdf4 sz=  2097676    freeable  "krfrbAllocate: "
    Dump of memory from 0x7FC1FDF4 to 0x7FE20000
    7FC1FDF0          1020020D 7FC10010 03871E90      [.. .........]
    7FC1FE00 00000000 00000000 00000000 00000000  [................]
      Repeat 131103 times
    EXTENT 1 addr=7FA00008
      Chunk 7fa00010 sz=    64996    free      "               "
      Chunk 7fa0fdf4 sz=  2097676    freeable  "krfrbAllocate: "
    Dump of memory from 0x7FA0FDF4 to 0x7FC10000
    7FA0FDF0          1020020D 7FA00010 03871E90      [.. .........]
    7FA0FE00 00000000 00000000 00000000 00000000  [................]
      Repeat 131103 times
    EXTENT 2 addr=7F7F0008
      Chunk 7f7f0010 sz=    64996    free      "               "
      Chunk 7f7ffdf4 sz=  2097676    freeable  "krfrbAllocate: "
    Dump of memory from 0x7F7FFDF4 to 0x7FA00000
    7F7FFDF0          1020020D 7F7F0010 03871E90      [.. .........]
    7F7FFE00 00000000 00000000 00000000 00000000  [................]
      Repeat 131103 times
    EXTENT 3 addr=70A50008

    There may be something fixed in the patch that gives the error rather than mysterious hangs.  I would prefer that, myself.  There may be something in the patch that changes how Oracle allocates user, system and program areas.
    At some point you spend more trying to limp things along in a growing environment than simply upgrading.  32 bit environments these days is an indicator that management is figuring some false economies.  But that's their prerogative.
    The PGA can be affected by many things, not least of which is how the application uses it.  Much has been written about it, my own experience has been more is used than most people say.  But that is probably just my app.  Note there are different ways to set it, and a parameter with "target" in it might not be a hard limit.  Different execution plans for the same code may use different amounts of memory - there can even be situations where forcing some code to use a sort area instead, or even forcing more operations to disk, can free up more pga for everyone else.  It depends.  But that's why I look at multi-pass operations in dbconsole.

  • Memory leak when using DB_DBT_MALLOC in CDB.

    Hello!
    Recently when I'm using Berkeley DB CDB and set the value Dbt DB_DBT_MALLOC, I noticed that the app's memory keeps growing during the db.get while;
    I found that many codes on the internet use the syntax free(value.get_data()), but when I tried to free the value.get_data(), I always got an interruption error.
    It's OK when I'm using the DB_DBT_USERMEM flag. So I just get very confused about the DB_DBT_MALLOC and DB_DBT_REALLOC.
    And also, I wonder why there's no memory leak problem when we use the single thread BDB. I think BDB cannot free the value.data pointer too in single thread before the app finish using it, then why our apps don't need to free the data afterwards?
    Thanks a lot in advance!

    You should use free() to free the DBT memory allocated via DB_DBT_MALLOC. You should do that after each Db::get() operation (and of course after finishing processing/using the data), otherwise you will loose the pointer to the memory previously allocated if you happen to reuse the DBT with DB_DBT_MALLOC (the data field will point to a new memory address).
    Alternatively you could use DB_DBT_REALLOC or DB_DBT_USERMEM.
    Note that there are small structures that BDB creates in the environment regions that only get freed/cleaned when the environment is closed.
    If you suspect that there is a memory leak inside the BDB code, make sure you rebuild Berkeley DB using the following configuration options (along with the others you use) when building: enable-debug, enable-umrw. Than, run the program under a memory leak detection utility, like Valgrind (allow the application to open and close the BDB environment) and see if there are any leaks reported.
    If memory leaks are reported, then put together a small stand-alone test case program that demonstrates the leaks, and post it here.
    Regards,
    Andrei

  • Possible memory leak in TagFileTagInfo class

    Hello,
    Our application is experiencing a memory leak in Weblogic, which is not happening in other application servers.
    We are running Weblogic server 10.3 using the distributed jsf 1.2
    Eclipse Memory Analyzer clearly points to TagFileTagInfo class as retaining a Map which holds all the memory. Furthermore, it shows that said map (called _tagFileInfoMap) is holding FileTagFileInfo class instances.
    It could be possible that our application were doing something wrong, and that would cause the described behavior, however I doubt that as the other application servers where our application is deployed do not present this problem.
    Any suggestion on how we should proceed to fix this problem?
    Thanks
    Juan

    Hi,
    Was this issue resolved by using wlappc?
    Were you able to compile the tag files with wlappc? I tried compiling the jsps using wlappc, but it seems that the tool expects an ejb-jar file.
    Any help on this is greatly appreciated.
    Thanks
    Hareesh

Maybe you are looking for

  • Issue in seperating lines of ITAB and placing into SF secondary  windows

    Great abapers, My itab is having 6 lines item (for ex ) it may 'n' no of line items. In smartforms for 1 page max allowed secondary window is 2.so first 2 lines are paced in first page , next 2 lines are place in second page ,last 2 will be in 3 page

  • 2 questions about PPTP VPN on 878

    Hello, I've configured my 878 router as a PPTP VPN server. It works very fine and very quickly. Using the XP VPN client from a remote site, I can "see" all servers in my network. 2 questions 1) When doing telnet on the 878 through the VPN, it is very

  • Changing songfile path

    next problem, i cleaned my document folder and changed the file path now the program does not find the songs anymore, so do i have to manually enter each and every song, all 3.4 days ?

  • Oracle sql developer version

    Hi, My first question is where do i find the version of oracle sql developer? My second question is when i check one of the OSUSER name column is null.how it occurs? and how do i give corresponding name to its column? Kindly help . thanx in advance

  • Goods movements in cogi

    HI, I have created my own z module as similar to COR6N using bapi_procordconf_create_tt. I have to stop all the possible cases when goods movement are being posted in COGI. can any one suggest me the conditions , when goods movements are posted in co