ThreadDumpScan tool for garbage collector trace analysis

Hello,
I would like to use the non official SAP tool ThreadDumpScan in order to have these nice graphs concerning the garbage collection.
I have downloaded the std_server0.out from my server, where I can find  my GC activity, for instance :
<GC(1): Bytes Traced =0 (Foreground: 0+ Background: 0) State = 3 >
>> 2 modes = 2,0 (0) free After GC (reg,wild):1414879256,644244672
  <GC(1): GC cycle started Wed Apr 18 01:53:12 2007
  <GC(1): heap layout:  (1464142288/1503237440) (644244672/644244672)  /0>
  <GC(1): freed 49263032 bytes, 98% free (2108386960/2147482112), in 194 ms>
  <GC(1): mark: 171 ms, sweep: 23 ms, compact: 0 ms>
  <GC(1): In mark: root scan 150 ms>
  <GC(1): refs: soft 260 (age >= 0), weak 0, final 385, phantom 0>
<AF[1]: completed in 214 ms>
But the thing is that when I run the command "DumpScan.bat std_server0.out", I get the following error :
no -verbose:gc output found
On a former project, it was working properly, so I do not know why I get this error. The std_server0.out seems fine. I have gone through all the documentation provided with the tool but nothing in there, and the available documentation on this tool is very poor on sdn. Does anyone know what could be the problem ?
Thanks for your help,
Best regards,
Guislain

Guislain Libessart,
Did you ever get this tool working? I am having the same issue.

Similar Messages

  • "finally" how effective is it for garbage collector ?

    I am a Java Developer and a SCJP2 with 99% score. Recently, I was in a debate with one of my colleague over the use of }try { //code } finally{}" for helping in the garbage collection of method level objects. For e.g. consider the following code.
    ////// code starts //////////
    public class TestFinallyGC {
    public void aMethod() {
    java.util.ArrayList myList = null ;
    try {
    myList = new java.util.ArrayList();
    // do something with the list
    } finally {
    myList = null;
    ////// code ends //////////
    Now, my question is : How effective is or useful is the above finally block in above code for the garbage collection of the ArrayList object ? Because if the "finally" block is always going to be at the end of the method then by the time the method finishes (and the finally block also executes at around same time) the variable "myList" will also go out-of-scope and the object it was representing becomes eligible for garbage collection, no matter whether we explicitly set it to "null" or not.
    Is the above conslusion correct ?
    --Vinod.

    How did you decide that references on the stackwere
    not reachable?Personally I decided it because after I exit a block
    or return from a function, the variables defined there
    go irreversibly out of scope, so there is no way for
    me to ever interact with them again. And since those
    where the only references to the large arrays, they
    were unreachable and eligible for garbage collection.
    Ok. But something owns the stack. At the something is not going out of scope. It still owns the stack.
    Given that reachable does not just
    mean user threads but JVM threads as well.I did not create any threads, so there is just the
    "Main" thread.
    As far as I know there are no JVM threads. That is to
    say, I read the JLS and did not find their existence
    defined there. It does say that finalizers may be run
    on "any thread" but does not say that there must be a
    separate finalizer thread. Yes as far as you know. However, none of the specs disallow the JVM from creating JVM threads. The spec is specific that it unreachable from a thread, but it does not specify how those threads come into existence.
    Basically since the jls
    does not say there are JVM threads, we must assume
    that if they exist then the behavior would be the same
    as if they did not.
    No. That is not the way one should approach a spec. Anything that the spec does not specify must be considered to be undefined. It can have any possible behavior.
    So the stack might belong to a java object/thread or it might not. Either is possible. If it doesn't then it is unreachable and thus collectible. If it does then it is not.
    So both suppositions are equally valid. So presumably the answer to my question would have been that you are assuming that it does not belong to a java object.
    (Naturally we are both aware that the stack is always reachable by the system. It is not a temporary. Thus the question is only if it belongs to a java object or not. Or possibly if it does belong to a java object then whether references on it are cleared after a method exit.)
    And as far
    as I know there is no reason to think that thestack
    might not be in the java domain space (althoughthat
    might suggest a chicken and egg problem.)??
    What are you talking about? What is the "java domain
    space"? I don't know what that means.
    JVMs always consist of C/C++ code with some mixture of Java. There is always C/C++ and there is always java. The first is true because the OS will not run java byte codes. The second is true because the JVM must always load java.lang.String.
    Given this, it means that in any JVM there will be a domain space that consists of java entities and a domain space that consists of something else (C/C++.)
    The question here is whether the stack is part of the C/C++ space or part of the java space.
    The only stack I know about is the one that starts at
    Thread.run() and goes up through all the methods that
    have been called, ending at the method currently
    executing. There is nothing above or below the stack.
    When you call a method, its size increases by one,
    and when a method returns, the size decreases by
    one.
    Doubt it. The stack pointer might move but I doubt the stack size increases and decreases. There are performance reasons for not doing that along with system management problems.
    Of course if you have a reference that states otherwise then I would be glad to read it.
    I think the whole point of this discussion is "what
    happens to the stack frames that are lost when methods
    return". My answer: They cease to exist, any
    references they may have contained are lost and if
    they were the only references to a given object it
    would be immediately available for garbage
    collection.

  • About Garbage Collector

    In Java, there is one system call for garbage collector.
    System.gc();
    I want to know the significance of this system call for GC. Even after calling this method, garbage collector won't get started, still it will run on its own time.
    If this is the thing then what's the significance of this method call?
    Please let me know this.
    Thanking you,
    Ketan

    Addendum
    In a heavy data application, for instance, that stores records in memory for some purpose, then releases that memory and creates next set of records in memory, calling gc really help.
    We have such application where in we tested its performance with and without calling gc. No wonder, we found better results by calling gc.

  • Good tool for analysing garbage collection runs?

    Hi
    Anyone who has/knows a good tool to analyse the garbage collection runs output in the std_serverX.out files for SAP NW 04?
    Best regards
    Tom

    Hi Tom,
    The best tool for do that is the SM Diagnostics.
    please refer to http://service.sap.com/diagnostics for further details.
    All the best,
    Luis

  • Triple Combo GUI tool for CUCM trace files analysis

    Hi folks,
    the link to the Triple Combo GUI tool to analyze CUCM trace files appears to be broken:
    www.employees.org/~tiryaki/tc
    any idea where the tool is gone or with whaht was is replaced?
    thanks
    best wishes
    Lucio

    Hi Lucio,
    you can try TranslatorX.
    http://translatorx.cisco.com/index.html
    //Suresh
    Please rate all the useful posts.

  • Performance Tunned Trace/ Analysis tool

    Hi,
           I am seraching for any tool / utility provided by SAP in the ABAP Development workbench to trace/analyse the perofrmace of DB Accesses , Internal table operations in programs so I could analyse the inefficient ABAP code and could replace the same with efficient.
    thanks and regards,
    Avakash.

    Hi Avakash,
    Check this info.
    You can use ST05 to find the performance of each select.
    u can use SE30 - runtime analysis to find which part of your code is taking more time.
    using ST05:
    activate the trace --> execute the program --> deactivate the trace --> display trace.
    then go to Trace list --> Summarize trace by SQL statements.
    here u can analyze performance of all the selects.
    If you want to compare the duration by the selects in your program itself then use: GET RUNTIME statement.
    Hope this resolves your query.
    Reward all the helpful answers.
    Regards

  • Incremental Garbage Collector is halting my server for MINUTES at a time.

    I have a Java server which services hundreds (currently 300-700 on average, target of 2000+) of simultaneous client connections, with a staggering number of long lived (but not permanent) objects.
    The docs for incremental garbage collection state: "The incremental garbage collector, which is off by default, will eliminate occasional garbage-collection pauses during program execution." This is NOT true in my case. During peak load, the Server halts occasionally (once an hour or more) and entire MINUTES tick by. Average wait time is 2.5 - 3.5 minutes, the highest I have seen is 4 minutes, 10 seconds. This is entirely unnacceptable.
    The server is on Red Hat Linux 6.2, kernel 2.2.14-5.0, with a gig of RAM. My current command line options are
    java -server -Xincgc -Xms256M -Xmx900M
    And I have just added -verbose:gc to help analyze the gc performance. I have read the gc tuning guide at http://java.sun.com/docs/hotspot/gc/index.html but still feel rather clueless about what is the optimum setup for my particular application.
    I will of course start experimenting, but I was hoping to find a "wise old elf" who might give some useful pointers to accelerate the process, seeing as how the Server is already running in a production capacity, time is critical.

    Are you using a Java application server like Tomcat, Dynamo, WebLogic etc. ?
    In that case consider running several server instances on the machine, with the applicationserver's software load balancer. Find the amount of RAM allocated to the heap per serverinstance where garbage collection runs takes a couple of seconds, and don't allocate more than this to each server. Start as many servers as you have available RAM for.
    This is the approach recommended by application server vendors such as BEA http://edocs.bea.com/wls/docs61/perform/JVMTuning.html and ATG.
    A side benefit of this approach is that in case you get more concurrent users than your computer can handle, you already have the setup for spreading the load over several computers.

  • Is there any impact analysis tool for Oracle Forms and Reports

    Hi All
    We are curretly looking at tools available to do impact analysis in Oracle Forms and Reports. This is for the maintainance of a large Oracle application developed using forms and reports 10g. We use Oracle Designer but only to maintain the db structure and not for forms and reports generation. Our intension is to find out the impact of db model changes, stored procedure changes in Oracle Forms and Reports. Please suggest any tools that are currently used for this purpose.
    I remember manually maintaining the CRUD matrix for Oracle Forms and Reports for maintainance purpose. CRUD matrix will have the list of all the tables which are affected by the module. But this is a manual activity and hence the responsibility is with the dev team to keep the document updated. Please suggest if there is any alternative to this way which can be more effecient and less error prone...
    I also wonder how these are done in Oracle ERP? how the apps team in oracle is maintaining the forms and reports?
    Thnaks in Advance
    Mahesh Mathew

    Quest (the makers of TOAD) have a tool called SQL Impact which gathers data from forms, reports, triggers, packages etc.
    FormsMate is a simple, cheap alternative for comparing or searching in forms.
    http://www.jockvale.ca/products.html
    Alternatively, you can export forms to xml (with iff2xml90.bat) and reports to jsp (with rwconverter) and simply grep those and your sql scripts. There are grep tools for windows if you need.

  • Logging Garbage collector for an OC4J with 2JVM

    Hi, I have one OC4J with two JVM setted.
    If I put -verbose:gc it logs in the std Output file.
    I trying to log the garbage collector in two different file each one for one JVM.
    Anyone as an idea?

    Don't create massive amounts garbage memory. It's that simple. You should try to limit the creation of memory inside your animation loop. If there is a process inside the loop that creates memory, there is definitely some way to create that item staticly, rather than allocating new memory with each iteration. There shouldn't be any kind of problem that would involve the creation of THIS much memory, and it's deallocation. If you read about how the garbage collector is implemented, you'll notice that it stores all of it's memory on a single conveyor belt. This is for ALL memory in the program. Therefor once the garbage collector has gone through and marked all of the memory that needs to be reclaimed, it performs it's sweep and must feeze the entire program because that conveyor belt can not be manipulated while it's re-arranging the memory. The garbage collector will eliminate MOST memory leaks, but it does not eliminate any thought on the part of the programmer about memory.
    -Jason Thomas.

  • Any open source of simple statistical analysis tools for java?

    Hi ya,
    Anyone knows any open source of statistical analysis tools for java?
    A simple tool which is able to retrieve the coverage, the number of threads, and a list of methods within the code will be fine :)
    Many thx

    If what you mean is a profiler, you can get it from Eclipse's plugin, and it's open source.
    http://sourceforge.net/projects/eclipsecolorer

  • What are the tools for GAP Analysis.

    What are the tools for GAP Analysis.

    Hi
    GAP Analysis :
    A through gap analysis will identify the gaps between how the business operates ad its needs against what the package can can't do. For each gap there will be one of three outcomes which must be recorded and actioned, GAP must be closed and customised software can be developed close the gap, GAP must be closed but software cannot be written therefore a workaround is required, GAP does not need to be closed.
    In simple terms: Gap means small cracks. In SAP world. In information technology, gap analysis is the study of the differences between two different information systems or applications( ex; existing system or legacy system with Client and new is SAP), often for the purpose of determining how to get from one state to a new state. A gap is sometimes spoken of as "the space between where we are and where we want to be." Gap analysis is undertaken as a means of bridging that space.
    Actual gap analysis is time consuming and it plays vital role in blue print stage.
    Please search, there are many threads and many times discussed this topic.
    GAP Analysis
    Re: gap analysis
    Regards

  • Any code analysis , audit tool for adf

    Hi,
    Anyone aware of any code analysis and audit tool for ADF.
    Thanks,
    Rohit

    duplicate.
    Free Security testing tool ADF
    Edited by: ADF 7 on Jan 18, 2012 11:05 PM

  • GUI Tool for Image Analysis (delimited ascii file)

    i've created a Java GUI Tool for Image Analysis. It does length calculation and locate the coordinate of centroid of an image...the problem now is how do i save the results in a delimited ascii file??

    Create a FileOutputStream, use that to construct a PrintWriter, then use the PrintWriter as you use System.out. Print out the data, then append the delimiter manually after each set of data.
    To get the file, the simplest ways would be to hard code an output file name or at least have a text field so the user can enter it. If you want it to look more professional, use a JFileChooser.
    I hope this helps!
    -JBoeing

  • Automatic Garbage collector after JVM almost hit max value on weblogic ?

    Hi All,
    I have application on weblogic 10MP2. I use 4G JVM. My application getting slow when the usage of JVM hit arround 70-80% of max heap size. Unfortunatelly, the garbage collector didn't run when it hit that high. So to keep my application in good state, I need to MANUALLY hit the Perform GC to keep the JVM below 70%.
    Is there any settings to tell the JVM to perform GC when the free space of the JVM hit 30%?
    What will the weblogic do if one of the server in warning state? There is a settings in the weblogic to specify when it hit some percentage of free space, it will bring the server to warning state. Will it do the Garbage Collector?
    Need your help on this. I am tired of hitting the Perform GC button.
    Really appeciate your help.
    Thanks,
    Eric

    I am replying to my own post because I found a tool that
    helped me solve in two hours what I had been stumped on
    for the past few days.
    The Heap Analysis Tool.
    I had a major memory leak problem. I couldn't locate
    the source until I downloaded and used this tool(for free).
    This tool keeps track of memory used by objects,
    each objects references, objects references by each
    object, and all objects instances. All of this information
    can be obtained in html format for efficient traversing
    of object chains. I would highly recommend looking
    this tool over if you intend on doing memory intensive
    programming.
    In case your curious where my error was I had two problems
    which are now fixed. One. I had a couple of BufferedImages
    that were leaking 30MB RAM. Two. I didn't know that using
    ObjectStream's to read/write objects stored references
    to the objects being written(preventing garbage collection).
    Deffinately worth running the Heap Analysis Tool before
    pointing a finger at System.gc().

  • Garbage Collector Problems

    Problem: The garbage collector on my server runs aprox every 1 min for
    about 8 secs swamping the CPUs.
    I started a not so big version of my "big server" using the following:
    JDK 1.4
    Windows NT 4.0
    Compaq Proliant with 4 CPUs @ 800Mhz
    4GB SDRAM
    I am starting with the following parametrs:
    -mx1536m -verbose:gc -XX:-DisableExplicitGC -Xrs
    On start up, my server creates a lot of objects that will live forever. Over
    time any time period only a few objects (in comparison) are created that
    will die young. I assume that I want a large older generation and a smaller
    young generation. I need enoug room in my older generation for my older
    objects plus room for the minor collections since they use copy collection.
    The verbose gc trace shows the collector running ~every min. Here is a snip
    of the log:
    17:35:57 | [Full GC 245559K->245496K(441840K), 8.2943686 secs]
    17:36:35 | [Full GC 245577K->245507K(441840K), 8.2816641 secs]
    17:37:13 | [Full GC 245588K->245526K(441840K), 8.3754267 secs]
    17:37:52 | [Full GC 245617K->245554K(441840K), 8.2831863 secs]
    17:38:30 | [Full GC 245635K->245573K(441840K), 8.2977681 secs]
    I let the server run and there were hundres of these with never a minor gc.
    My analysis (Are my assumtions correct?)
    1. I do not see minor collections happening so I assume these full
    collections are not caused by collection of the young generations.
    2. Since during my test run I know that no one is hitting my server, there
    should not be and are not and significant memory changes that would require
    a minor collection (which is why I don't see them).
    3. I am using Visobroker which, like RMI, may be making explicit gc calls.
    To prevent this I tried calling -XX:+DisableExplicitGC yet the GC seems to
    wants to run every minuite.
    Is -XX:+DisableExplicitGC supported on JDK1.4 Win32?
    Could something else be causing these Full GCs?
    -Chris

    I have one other suggestion, but it is a long shot. The total size of your heap is around 440M and the total in use is very close to 60% of that value.
    Since the JVM by default tries will consider increasing the heap size (up to -Xmx) when the free space falls below 40% AFTER GC, perhaps it is GC-ing periodically because of that. This sounds stupid since it should adjust heap size because of GC, but it is worth a try.
    You might consider this...
    java -Xms440m -Xmx1536m -Xminf0.1 -Xmaxf0.9 ...
    This will mean that the heap will only expand when you have less than 10% free and will contract only when you have more than 90% free, but only to value of -Xms.
    You also might consider -Xincgc as well, which should eliminate the 8-second pauses in favor of a more distributed gc load. Since you are alrready getting hit by >10% GC overhead, this may give you overall greater throughput as well, but I wouldn't bet on it.
    Are you using the -server JVM? If not, I'd switch to that as well.
    Chuck

Maybe you are looking for

  • Table error - Context Path Cannot Be Resolved (Last Node Is Empty)

    Hi All, I am dynamically building up a context node called PoList which is used to hold the contents of a table. My BAPI is called and a routine transfers the contents of the BAPI context node across into the POList context node. This is rendered cor

  • Grouping Compilation albums together

    I have a number of different albums that have different artists on them. I want to go in on my iPod and listen to the whole album all the way through, but when I go to it in "albums" it's listed severel different times and each is by a different arti

  • When I try to update the apps on my iPad 2 and iPhone 4 they are stuck in waiting.

    When I try update my apps on my iPad 2 and iPhone 4 they are all stuck in waiting. I have tried: restarting my device signing out of the store and restarting the device and signing back in reset all settings double taping on "waiting" apps All my sof

  • Update error installing smart2go on N95

    I've updated to the latest firmware (V11.0.026) and have downloaded the Generic Windows version of Smart2go as the N95 is not listed there but when I go to update it I always get an "Update Error!" notification. Frustrating to say the least, it seems

  • Flash not recognised by slideshow building programs only

    Hi All, Please offer me some advice. Having installed Amara flash slideshow builder it failed to run stating my flash was not installed or out of date. I knew this was not the case but uninstalled and re-installed flash anyway. I tested it on the ado