Difference between heap dump/core dump/thread dump?

Whats the difference between heap dump/core dump/thread dump?

To be very precise, Core Dump is generated when your JVM is shutted down abnormally, it contains recorded state of the working memory of a computer program at a specific time with some platform specific details
Heap Dump can be generated to see the live objects at that specific time stamp
Thread Dump can be generated to see the threads present (runing, blocked everything) in a "live JVM" at any specific time stamp

Similar Messages

  • Is there a difference between the Intel Core 2 Duo & the Intel Core Duo?

    I am looking to buy a new laptop, and I wanted to know if there is a big or major difference between the Intel Core 2 Duo processor, compared to the Intel Core Duo.
    I currently have a powerbook G4 and it has a 1.67 GHz PowerPC G2 Processor, which I have noticed isn't that great, I can't download the new snow leopard software update, nor watch movies from Netflex and other stuff like that. Its pretty annoying, so that is why I was asking about the difference between the other two processors, I want to know if it doesn't matter or which one is the best before I buy.
    I'm pretty computer dumb when it comes to this stuff that's why I'm asking.
    Thanks in Advance.
    - Heather Tel

    Core 2 Duo processors are newer and more powerful (and thus faster) than Core Duos. Apple's current notebook computers all use Core 2 Duos, so if you buy new, that's what you'll get. The earliest MacBooks and MacBook Pros had Core Duos in them, but the last of those models was discontinued late in 2006.

  • Difference between v$instance and v$thread

    Hallo,
    What is the difference between v$instance and v$thread?
    Thanks,

    Well, a mere description of the views in the official documentation isn't going to actually help you very much more than you could do with a simple "desc V$instance/desc V$thread", I suspect.
    The answer I think you might be looking for is that a thread is not the same thing as an instance. In fact, we usually talk about "a thread of redo", which gets much closer to the issue here. Yes, it is true that one instance can only generate one 'thread of redo', so one instance = one thread, and there's a temptation to extrapolate from that and assume they're the same thing.
    But they're not. An instance is a set of memory structures and processes. It has a name. It gets started and stopped. In can be running in various states (nomount, mount, open, read-only, primary, secondary etc).
    A thread of redo is a history of redo generated by an instance. It has ever-incrementing checkpoint change numbers, times of last checkpoints, sequence numbers, blocks of redo that are forever being flushed to different parts of the current redo log. And so on.
    Thus, V$INSTANCE tells you the state of the instance and V$THREAD tells you all you could ever want to know about where you're up to in the writing-redo stakes.

  • Is there any difference between iMacs with Core i5 that come with Lion factory installed or not?

    I bought two Imacs (2.5GHz Intel Core i5) recently, and asked for the latest model carrying Core i5. One came with Lion installed, and now that I unpack the second one, it has Mac OS X 10.6.7 installed. I want to make a complaint, but I don't know if I should only ask the dealer to install Lion on the machine, or to change the machine. Someone can tell me if there's any difference between the pre-customary-Lion installation models and previous ones? Is there any way to know certainly that two machines are exactly the same? Please, help.

    I want to make a complaint
    I wouldn't complain, I would be happy. Macs capable of running Snow Leopard are more valuable.
    Your Snow Leopard Macintosh can always be upgraded to Lion later.  But many who have Lion want Snow Leopard, but this can be difficult.
    You have the best of both worlds.
    Just search this forum (or the Internet) for:  Downgrade Lion to Snow Leopard.

  • What's the difference between an Intel Core 2 Duo and Dual-Core Chip?

    Does someone know if there's a difference between these two chips?
    Thanks,
    Paul

    Yes. The Core Duo is a 32-bit processor, the Core 2 Duo is a 64-bit processor. The C2D is the second generation of Intel's Core lineup and is considerably faster than a CD at the same clock speed. Core 2 Duo processors are also available with four processors on the chip and are pin for pin replacements for the processors used in the Mac Pro - thus providing 8 processors rather than 4.
    You can find a basic comparison here: http://www.apple.com/macbook/intel.html.
    You can visit Intel's web site to find out everything there is to know about both processors.
    Why reward points?(Quoted from Discussions Terms of Use.)
    The reward system helps to increase community participation. When a community member gives you (or another member) a reward for providing helpful advice or a solution to their question, your accumulated points will increase your status level within the community.
    Members may reward you with 5 points if they deem that your reply is helpful and 10 points if you post a solution to their issue. Likewise, when you mark a reply as Helpful or Solved in your own created topic, you will be awarding the respondent with the same point values.

  • Thread Dump vs Heap Dump

    Hi,
    The below question are related to J2EE 7.00.
    - What is the difference between Thred dump and Heap dump?
    - When I go to Config tool then I go to Instance ID.
    There are two nodes under the Instance ID, DIspatcher and Server (could be multiple).
    I see different tabs on Instance ID and they are Message Server and BootStrap, Server General. There are lots of setting under Server General tab.
    My question is that what is the usage of the "Server General" tab?
    Please let me know.
    I will appreciate your reply.
    Regards.
    Sume

    A java engine runs all its work in 'threads' much like WP's in SM50 but unfortunately not so stand alone in 7.0.
    A thread dump is a bit like taking a photo of SM50, that is why you will be asked to take 2 or 3 so as to see what sticks in threads for a while.
    A java engine uses memory to store all its objects. Most memory is a single area called heap. A heap dump lists all objects in memory at the time.
    Thread dump = activities working/waiting
    Heap Dump = objects used
    As for the configtool, I do not have one in front of me to double check but I believe you are looking at the general settings as opposed to local instance settings. So you can set parameters at a local level using an instance number or for all instances by setting it as a general setting. Quite a few settings that are set at the local level are set globally anyway so be aware that that may be the case.

  • Is there a noticeable difference between Dual Core i7 and Quad Core i7?

    Hi everyone.
    I'm going to be a college freshman this fall. I'm looking at 13" MacBook with Retina Display with dual core i7.   I'm also looking at the 15" MacBook Pro with Retina Display with Quad Core i7. I want to major in science and have a concentration in photography, which means that I will run programs like Excel, PowerPoint (or keynote), and Photoshop.
    Anyways, will there be a noticeable difference between a Dual Core i7 processor and a Quad i7 processor?
    Thanks!

    Ceteris Paribus, the quad-core will be twice as fast as the dual-core.

  • Java 1.4.2. - full heap dump?

    Hello,
    Is there any possibility to generate full heap dump (core dump) in java 1.4.2. on demand?
    Best regards,
    Peter

    If you are in Unix platform, you can use this script to have thread dump.
    I am not sure whether you can generate coredump with out an application crash .
    kill -3 <java pid> will provide full stacktrace of the java process thread dump.
    Note: kill -3 will not terminate the java process, it will only generate full stacktrace in your log file and safe to use while the java process is running.
    you can get the java process id, using this unix cmd "ps -ef | grep java" .
    #!/bin/ksh
    [ $# -le 0 ] && echo "USAGE: $0 <pid>" && exit
    for i in 1 2
    do
    DT=`date +%Y%m%d_%H%M`
    prstat -Lmp $1 1 1 >> prstat_Lmp_$i_$DT.dmp
    pstack $1 >> pstack_$i_$DT.dmp
    kill -3 $1
    echo "prstat, pstack, and thread dump done. #" $i
    sleep 1
    echo "Done sleeping."
    done
    Pls go through some of this links, this will provide you on how to debug the issue with the logs generated by the scripts:
    http://support.bea.com/application_content/product_portlets/support_patterns/wls/UnexpectedHighCPUUsageWithWLSPattern.html
    http://www.unixville.com/~moazam/stories/2004/05/18/debuggingHangsInTheJvm.html

  • JVMDG315: JVM Requesting Heap dump file

    Hi expert,
    Using 10.2.04 Db with 11.5.10.2 on AIX 64 bit.
    While running audit report which generate pdf format output gone in error....
    JVMDG217: Dump Handler is Processing OutOfMemory - Please Wait.
    JVMDG315: JVM Requesting Heap dump file
    ..............................JVMDG318: Heap dump file written to /d04_testdbx/appltop/testcomn/admin/log/TEST_tajorn3/heapdump7545250.1301289300.phd
    JVMDG303: JVM Requesting Java core file
    JVMDG304: Java core file written to /d04_testdbx/appltop/testcomn/admin/log/TEST_tajorn3/javacore7545250.1301289344.txt
    JVMDG274: Dump Handler has Processed OutOfMemory.
    JVMST109: Insufficient space in Javaheap to satisfy allocation request
    Exception in thread "main" java.lang.OutOfMemoryError
         at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java(Compiled Code))
         at java.io.OutputStream.write(OutputStream.java(Compiled Code))
         at oracle.apps.xdo.common.log.LogOutputStream.write(LogOutputStream.java(Compiled Code))
         at oracle.apps.xdo.generator.pdf.PDFStream.output(PDFStream.java(Compiled Code))
         at oracle.apps.xdo.generator.pdf.PDFGenerator$ObjectManager.write(PDFGenerator.java(Compiled Code))
         at oracle.apps.xdo.generator.pdf.PDFGenerator$ObjectManager.writeWritable(PDFGenerator.java(Inlined Compiled Code))
         at oracle.apps.xdo.generator.pdf.PDFGenerator.closePage(PDFGenerator.java(Compiled Code))
         at oracle.apps.xdo.generator.pdf.PDFGenerator.newPage(PDFGenerator.java(Compiled Code))
         at oracle.apps.xdo.generator.ProxyGenerator.genNewPageWithSize(ProxyGenerator.java(Compiled Code))
         at oracle.apps.xdo.generator.ProxyGenerator.processCommand(ProxyGenerator.java(Compiled Code))
         at oracle.apps.xdo.generator.ProxyGenerator.processCommandsFromDataStream(ProxyGenerator.java(Compiled Code))
         at oracle.apps.xdo.generator.ProxyGenerator.close(ProxyGenerator.java:1230)
         at oracle.apps.xdo.template.fo.FOProcessingEngine.process(FOProcessingEngine.java:336)
         at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:1043)
         at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:5888)
         at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3593)
         at oracle.apps.pay.pdfgen.server.PayPDFGen.processForm(PayPDFGen.java:243)
         at oracle.apps.pay.pdfgen.server.PayPDFGen.runProgram(PayPDFGen.java:795)
         at oracle.apps.fnd.cp.request.Run.main(Run.java:161)
    oracle.apps.pay.pdfgen.server.PayPDFGen
    Program exited with status 1
    No any error in db alert ...
    Pleaes suggest where is prob..
    Thanks in ADV

    Hello,
    * JVMST109: Insufficient space in Javaheap to satisfy allocation request
    Exception in thread "main" java.lang.OutOfMemoryError
    This is your problem. There is no enough memory. Change Java heap settings
    Regards,
    Shomoos
    Edited by: shomoos.aldujaily on Mar 29, 2011 12:39 AM

  • Frequent heap dumps and system load average

    Dear Experts,
    Performance of our development has gone worst. There has been frequent Heap Dumps and Paging, also System Load Average '/Kernel/SAPJVM/SystemProblemReporting/System Load Average' is over 133%.
    We are using NW731 with EP core.
    JVM parameters arememory are according to SAP recommendations
    -Xms4096m
    -Xmx4096m
    -XX:NewSize=1365m
    -XX:MaxNewSize=1365m
    -XX:PermSize=1024m
    -XX:MaxPermSize=1024m
    -XX:NewRatio=6
    SCS, Application and Database are on single host.
    Number of nodes=2.
    Physical memory size is 15GB
    Appreciate your assistance in analyzing and fixing the performance issue.
    Thanks,
    Kumar

    Hi Divyanshu,
    I was away on to another project for configuring change control tool.
    As mentioned earlier I don't have OS access.
    But could able to download Thread Dumps via NWA as mentioned by David...., but couldn't able to open them.
    Opened OOM.hprof file through MAT to check leak suspects etc. I could hardly understand as it is my first Java AS project ....here is bits and pieces from the dump analyzer tool.
    Leap Suspects:
    Problem Suspect 1:
    The thread com.sap.engine.core.thread.execution.CentralExecutor$SingleThread @ 0x58dcd248 HTTP Worker [@662359980] keeps local variables with total size 3,66,84,54,240 (89.70%) bytes.
    The memory is accumulated in one instance of "java.lang.Object[]" loaded by "<system class loader>".
    The stacktrace of this Thread is available. See stacktrace.
    And here is the stacktrace...
    HTTP Worker [@662359980]
      at java.lang.OutOfMemoryError.<init>()V (OutOfMemoryError.java:25)
      at java.lang.reflect.Array.newInstance(Ljava/lang/Class;I)Ljava/lang/Object; (Array.java:52)
      at oracle.jdbc.driver.BufferCache.get(Ljava/lang/Class;I)Ljava/lang/Object; (BufferCache.java:226)
      at oracle.jdbc.driver.PhysicalConnection.getByteBuffer(I)[B (PhysicalConnection.java:7665)
      at oracle.jdbc.driver.T4C8TTIClob.read([BJJZ[CI)J (T4C8TTIClob.java:226)
      at oracle.jdbc.driver.T4CConnection.getChars(Loracle/sql/CLOB;JI[C)I (T4CConnection.java:3211)
      at oracle.sql.CLOB.getChars(JI[C)I (CLOB.java:459)
      at oracle.jdbc.driver.OracleClobReader.needChars(I)Z (OracleClobReader.java:187)
      at oracle.jdbc.driver.OracleClobReader.read([CII)I (OracleClobReader.java:142)
      at java.io.Reader.read([C)I (Reader.java:123)
      at com.sap.sql.jdbc.common.CommonWrappedReader.read([C)I (CommonWrappedReader.java:108)
      at com.technidata.core.persistency.sql.QueryResult.getString(Ljava/lang/String;)Ljava/lang/String; (QueryResult.java:190)
      at com.technidata.em.facility.controller.PC_EmissionRes.getEmissionResBo(Lde/technidata/ecs/persist/sql/persistency/iface/IQueryResult;)Lcom/technidata/em/facility/detail/EmissionResBo; (PC_EmissionRes.java:2235)
      at com.technidata.em.facility.controller.PC_EmissionRes.readData(JJJJLjava/sql/Date;Ljava/sql/Date;Ljava/lang/String;ZJI)Ljava/util/List; (PC_EmissionRes.java:682)
      at com.technidata.em.facility.controller.PC_EmissionRes.readData(JJJLjava/sql/Date;Ljava/sql/Date;ZI)Ljava/util/List; (PC_EmissionRes.java:599)
      at com.technidata.em.facility.controller.PC_EmissionRes.readData(Lcom/technidata/em/facility/TypeCapArgument;)Ljava/util/List; (PC_EmissionRes.java:573)
      at com.technidata.em.facility.ESourceBo.getTypeCapData(Ljava/lang/String;Lcom/technidata/em/facility/TypeCapArgument;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List; (ESourceBo.java:707)
      at com.technidata.em.facility.mgmt.EmissionResTable.initialize(Z)V (EmissionResTable.java:1793)
      at com.technidata.em.facility.mgmt.EmissionResTable.init(Lcom/sap/tc/webdynpro/progmodel/api/IWDCustomEvent;Ljava/lang/String;)V (EmissionResTable.java:1454)
      at com.technidata.em.facility.mgmt.wdp.InternalEmissionResTable.wdInvokeEventHandler(Ljava/lang/String;Lcom/sap/tc/webdynpro/progmodel/api/IWDCustomEvent;)Ljava/lang/Object; (InternalEmissionResTable.java:723)
      at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(Ljava/lang/String;Lcom/sap/tc/webdynpro/progmodel/api/IWDCustomEvent;)Ljava/lang/Object; (DelegatingView.java:142)
      at com.sap.tc.webdynpro.progmodel.components.Component.fireEvent(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V (Component.java:492)
      at com.technidata.em.facility.mgmt.wdp.InternalTabsInterface.wdFireEventInitTab(Ljava/lang/String;)V (InternalTabsInterface.java:398)
      at com.technidata.em.facility.mgmt.EmissionResWinInterfaceView.onPlugIn(Lcom/sap/tc/webdynpro/progmodel/api/IWDCustomEvent;)V (EmissionResWinInterfaceView.java:97)
      at com.technidata.em.facility.mgmt.wdp.InternalEmissionResWinInterfaceView.wdInvokeEventHandler(Ljava/lang/String;Lcom/sap/tc/webdynpro/progmodel/api/IWDCustomEvent;)Ljava/lang/Object; (InternalEmissionResWinInterfaceView.java:95)
      at com.sap.tc.webdynpro.progmodel.generation.DelegatingWindow.invokeEventHandler(Ljava/lang/String;Lcom/sap/tc/webdynpro/progmodel/api/IWDCustomEvent;)Ljava/lang/Object; (DelegatingWindow.java:121)
    please help me fix the performance issue. And let me know if I can provide some details to help you analyse further.
    Thanks,
    Kumar

  • Compare Heap Dumps not working

    Dear All,
    Am trying to compare two heap dumps to find differences. I have read the Tutorial. I have two heap dumps open and click on the Delta button. But all I get is a message saying something like there are no two dumps open on the desktop. Can anybody help? Thanks a lot, Anthony

    Hi Scott,
    thanks for finding this bug... It looks like we do not pick up dumps that have been opened via "Open File...". I will have a look at it.
    The context menu does not work on purpose. The problem is this: in the heap dump we only have the object address. But as the garbage collector is moving objects around, this address changes even as the object stays the same. We cannot know if the object was moved or if a new one was created.
    So one has to structurally compare the heap dump. We do this currently for the histogram on class level and on class loader level (by the extracted class loader name if a name resolver is present). For objects we do nothing at the moment. I haven't really given much thought about that, but it should be possible to compare the graph/domTree once the user picked to comparable objects (which he can, because he knows the semantics).
    Regarding open sourcing: I just spend the last 3 hours hunting a little, tiny bug that was introduced when removing some SAP specifics which we do not open source. Soon, maybe and of next week we should have something there.
    New features is an automatic leak detection, e.g. we create a HTML report with the suspectd leaks. And the handling of local variables, ie. stuff kept alive by a thread, is much easier. Ahh, and we have some pie charts now.
    Andreas.

  • JMap heap dump against gcore file

    Hi,
    We are running Java 1.5.0_06 on Solaris 9 on Sun v245, and are trying to analyze some memory issues we have been experiencing.
    We have used Solaris gcore utility to take a complete core dump of the process. This dump file is ~1.8Gb.
    We are now trying to create a heap dump from the core file using JMAP, so that we can use tools such as the Eclipse Memory Analyser (http://www.eclipse.org/mat) to examine our heap for memory issues.
    However, we are having issues creating the heap dump, as JMAP appears to be running out of system memory (swap). The command we are running is "jmap -heap:format=b /usr/bin/java ms04Core.29918". We can run some other JMAP commands, such as "jmap -histo" against the core without encountering these issues. The server we are running on has 8Gb physical memory, but JMAP seems to crash when swap size reaches ~3.8Gb (according to Solaris PRSTAT command). The error returned by JMAP is -
    Exception in thread "main" java.lang.OutOfMemoryError: requested 8192 bytes for jbyte in /BUILD_AREA/jdk1.5.0_06/hotspot/src/share/v
    m/prims/jni.cpp. Out of swap space?
    Would anyone have any ideas as to why we are seeing these issues?
    Also, can anyone comment on if this approach makes sense as a way to analyze memory issues? Other suggestions would be welcome!
    Thanks very much,
    Adrian

    Hi, we have solved this issue now - apparently this is a memory bug with the 1.5.0_06 version of JMAP. We installed a higher version JRE (5u15) and were able to complete the heap dump without issues.
    Cheers,
    Adrian

  • Heap Dump file generation problem

    Hi,
    I've configured configtool to have these 2 parameters:
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:+HeapDumpOnCtrlBreak
    In my understanding, with these 2 parameters, the heap dump files will only be generated under 2 situations, ie, when out of memory occurred, or user manually click CLTR + BREAK in MMC.
    1) Unfortunately, there are many heap dump files (9 in total) generated when none of the above situation occured. I couldnt find "OutOfMemoryError" in the default trace, nor the shallow heap size of those heap dump files are anywhere near the memory limit. The consequences are our server run out of disk space.
    My question is, what are the other possibilities that heap dump file will be generated?
    2) In the Memory Consumption graph (NWA (http://host:port/nwa) -> System Management -> Monitoring -> Java Systems Reports), out of memory error occurred when the memory usage is reaching about 80% of the allocated memory. What are the remaining 20% or so reserved for ?
    Any help would be much appreciated.
    Thanks.

    Hi,
    Having the -XX:+HeapDumpOnCtrlBreak option makes the VM trigger a heap dump, whenever a CTRL_BREAK event appears. The same event is used also to trigger a thread dump, an action you can do manually from the SAP Management Console, I think it is called "Dump stacks". So if there was someone triggering thread dumps for analysis of other types of problems, this has the side effect of writing also a heap dump.
    Additionally, the server itself may trigger a thread dump (and by this also a heap dump if the option is present). It does this for example when a timeout appears during the start or stop of the server. A thread dump from such a moment allows us to see for example which service is unable to start.
    Therefore, I would recommend that you leave only the -XX:+HeapDumpOnOutOfMemoryError, as long as you don't plan to trigger any heap dumps on your own. The latter will cause the VM to write a heap dump only once - on the first appearance of an OutOfMemoryError.
    In case you need to trigger the heap dumps manually, leave the -XX:+HeapDumpOnCtrlBreak option for the moment of troubleshooting, but consider if you want to keep it afterwards.
    If heap dumps were written because of an OutOfMemoryError you should be able to see this in the dev_server file in /usr/sap/<SID>/<inst>/work/ . Also there you should be able to see if indeed thread dumps were triggered (just search for "Full Thread ").
    I hope this helps.
    Regards,
    Krum

  • AD4J: Unable to start Heap Dump due to OS Error

    When Java 'Heap Dump' is requested, the following message is shown:
    Unable to start Heap Dump due to OS Error.
    Details of the monitored JDK and application server are given below:
    JDK: Sun JDK 1.4.2_08 on Solaris 9
    Application Server: WebLogic 8.1 SP4
    1. What could be the possible cause? No errors are logged in jamserv/logs/error_log. Is there any way to enable detailed logging?
    2. Each time the heap dump is requested, a file of the format heapdump<n> gets created in /tmp (e.g. /tmp/heapdump12.txt). If you see the file, it contains the following:
    a) a line containing summary of the heap usage, and
    b) stack traces of all the threads
    Thanks!

    Wrong Forum?

  • Full heap dump - weblogic 8.1

    Hi to everyone,
    Is there any possibility to full heap dump (core dump) in weblogic 8.1 manually?
    Best regards,
    Peter

    In JDK6 there are the jhat and jmap utils which are described here
    http://weblogs.java.net/blog/kellyohair/archive/2005/09/heap_dump_snaps.html
    But, prior to that (JDK5 and earlier), you have to use the HAT utility which can be found at
    http://hat.dev.java.net/
    If you are using JRockit, you can use Mission Control for this, I believe. There's an intro to this tool at
    http://dev2dev.bea.com/pub/a/2005/12/jrockit-mission-control.html?page=1

Maybe you are looking for