kandi background
Explore Kits

GCViewer | Fork of tagtraum industries' GCViewer | Code Editor library

 by   chewiebug Java Version: 1.36 License: Non-SPDX

 by   chewiebug Java Version: 1.36 License: Non-SPDX

Download this library from

kandi X-RAY | GCViewer Summary

GCViewer is a Java library typically used in Editor, Code Editor, Eclipse applications. GCViewer has no bugs, it has no vulnerabilities, it has build file available and it has medium support. However GCViewer has a Non-SPDX License. You can download it from GitHub, Maven.
GCViewer is a little tool that visualizes verbose GC output generated by Sun / Oracle, IBM, HP and BEA Java Virtual Machines. It is free software released under GNU LGPL. You can start GCViewer (gui) by simply double-clicking on gcviewer-1.3x.jar or running java -jar gcviewer-1.3x.jar (it needs a java 1.8 vm to run). For a cmdline based report summary just type the following to generate a report (including optional chart image file): java -jar gcviewer-1.3x.jar gc.log summary.csv [chart.png] [-t PLAIN|CSV|CSV_TS|SIMPLE|SUMMARY] When logfile rotation (-XX:+UseGCLogFileRotation) is enabled, the logfiles can be read at once: java -jar gcviewer-1.3x.jar gc.log.0;gc.log.1;gc.log.2;gc.log.current summary.csv [chart.png] [-t PLAIN|CSV|CSV_TS|SIMPLE|SUMMARY].

kandi-support Support

  • GCViewer has a medium active ecosystem.
  • It has 3965 star(s) with 915 fork(s). There are 278 watchers for this library.
  • It had no major release in the last 12 months.
  • There are 57 open issues and 109 have been closed. On average issues are closed in 307 days. There are 14 open pull requests and 0 closed requests.
  • It has a neutral sentiment in the developer community.
  • The latest version of GCViewer is 1.36
GCViewer Support
Best in #Code Editor
Average in #Code Editor
GCViewer Support
Best in #Code Editor
Average in #Code Editor

quality kandi Quality

  • GCViewer has 0 bugs and 0 code smells.
GCViewer Quality
Best in #Code Editor
Average in #Code Editor
GCViewer Quality
Best in #Code Editor
Average in #Code Editor


  • GCViewer has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
  • GCViewer code analysis shows 0 unresolved vulnerabilities.
  • There are 0 security hotspots that need review.
GCViewer Security
Best in #Code Editor
Average in #Code Editor
GCViewer Security
Best in #Code Editor
Average in #Code Editor

license License

  • GCViewer has a Non-SPDX License.
  • Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.
GCViewer License
Best in #Code Editor
Average in #Code Editor
GCViewer License
Best in #Code Editor
Average in #Code Editor


  • GCViewer releases are available to install and integrate.
  • Deployable package is available in Maven.
  • Build file is available. You can build the component from source.
  • Installation instructions are not available. Examples and code snippets are available.
  • GCViewer saves you 11332 person hours of effort in developing the same functionality from scratch.
  • It has 22938 lines of code, 1820 functions and 227 files.
  • It has medium code complexity. Code complexity directly impacts maintainability of the code.
GCViewer Reuse
Best in #Code Editor
Average in #Code Editor
GCViewer Reuse
Best in #Code Editor
Average in #Code Editor
Top functions reviewed by kandi - BETA

kandi has reviewed GCViewer and discovered the below as its top functions. This is intended to give you an instant insight into GCViewer implemented functionality, and help decide if they suit your requirements.

  • Initialize the menu bar
  • Start anAF element .
  • Export memory usage .
  • Returns a DataReader based on a sample
  • Read the GC model .
  • Relay the chart .
  • Parses memory information .
  • Initialize Mac XOS .
  • Extract memory extended by line .
  • Parse a long from a char array

GCViewer Key Features

some support for OpenJDK 9 / 10 unified logging format -Xlog:gc:<file>, the following configurations will work

-Xlog:gc:file="path-to-file" (uses defaults)

-Xlog:gc=info:file="path-to-file":tags,uptime,level (minimum configuration needed)

-Xlog:gc*=trace:file="path-to-file":tags,time,uptime,level (maximum configuration supported, additional tags ok, but ignored; additional decorations will break parsing)

Oracle JDK 1.8 -Xloggc:<file> [-XX:+PrintGCDetails] [-XX:+PrintGCDateStamps]

Sun / Oracle JDK 1.7 with option -Xloggc:<file> [-XX:+PrintGCDetails] [-XX:+PrintGCDateStamps]

Sun / Oracle JDK 1.6 with option -Xloggc:<file> [-XX:+PrintGCDetails] [-XX:+PrintGCDateStamps]

Sun JDK 1.4/1.5 with the option -Xloggc:<file> [-XX:+PrintGCDetails]

Sun JDK 1.2.2/1.3.1/1.4 with the option -verbose:gc

IBM JDK 1.3.1/1.3.0/1.2.2 with the option -verbose:gc

IBM iSeries Classic JVM 1.4.2 with option -verbose:gc

HP-UX JDK 1.2/1.3/1.4.x with the option -Xverbosegc

BEA JRockit 1.4.2/1.5/1.6 with the option -verbose:memory [-Xverbose:gcpause,gcreport] [-Xverbosetimestamp]

Sun JDK 1.3.1/1.4 with -verbose:gc

copy iconCopydownload iconDownload
CMS and G1 collector sometimes mix concurrent events with stop the world
collections in the output. In some cases the parser can recover from
such mixed lines, sometimes it can't and will show an error message.

BEA JRockit 1.4.2/1.5/1.6

Concurrently collected garbage may not be reflected correctly in the
data panel.

Export formats
**CSV** Comma Separated Values
The CSV format is quite useful for importing the data to a
spreadsheet application. However, it does not export all

**CSV_TS** Comma Separated Values
CSV format using unix timestamp and one line per gc event.

**PLAIN** Plain Data
Plain text representation of the gc log. If written from Sun / Oracle gc log
it is usually compatible with HPjmeter.

**SIMPLE** Simple GC Log
Very simple representation of a gc log in the format
<name of event> <secondes since start of log> <pause time>.
This format is compatible with gchisto (http://java.net/projects/gchisto)

Detailed summary exporting all details about a gc log file (same as shown in data panel).


Provided are a German, an English and a Swedish localStrings.properties
file. If someone feels the need to translate these to another
language, please do so. I will be more than glad, to include it
in a future version of this tool.

Start of log / absolute times

If you happen to know when the application and GC log was started, you
can specify this time by right-clicking on the time ruler and entering
a start time.
Sun / Oracle VMs: If -XX:+PrintGCDateStamps was used, the proposed start time is
read from the gc log file.

Bug reports

If you are a developer, you may fork (http://help.github.com/fork-a-repo/)
the repository on http://github.com/chewiebug/GCViewer and send me a
pull request (http://help.github.com/send-pull-requests/). If you plan a bigger
change I'd appreciate a notice in advance.

To file a bug report, please open an issue on
http://github.com/chewiebug/GCViewer/issues or send an email to
gcviewer-info@googlegroups.com with a description of the error, the
name of the JVM that produced the GC data and all used flags along
with a sample GC log file.

Building GCViewer from Source

Download and install Maven3 from http://maven.apache.org/
Download the src distribution of GCViewer.
Execute from the GCViewer base directory (same as pom.xml):

    mvn clean install

The executable jar will be placed in the target directory.


Joerg Wuethrich

Community Discussions

Trending Discussions on GCViewer
  • How can we improve the GC performance for low latency system
  • G1GC not auto adjusting NewSize (Long GC times)
Trending Discussions on GCViewer


How can we improve the GC performance for low latency system

Asked 2019-Mar-20 at 15:33

Our java backend system is running with tomcat and jdk1.8, max jvm size is 24g, system latency becomes long, and cpu load is high, after we analyze GC logs, we found GC pause is long, attached are some snapshots in GCViewer. How can we improve the GC performance?


Event Details





Answered 2019-Mar-20 at 12:24

Without knowledge of your application, here are some general thoughts:

  • Your application seems to have a high amount of long-lived objects (only 9gb of the tenured generation get collected, 15gb remain), which cause your problems: While allocation speed determines the frequency of GC pauses it is the amount of living objects (that cannot be freed by GC) which determines the length of the GC pauses.
  • One possible cause could be that your application acts as an in-memory database to some extent. That is, the objects are not needed all the time, but are not written to a database to retain fast in-memory access to them. In that case, you should store them off-heap (in memory not managed by the GC) or use an in-memory database, e.g. Redis. This way, they will be accessible with low latency but won't be considered by the GC because they won't be reclaimed anyway.
  • Another possible solution might be to tune your GC settings: You could switch to G1, increase the size of your young generation or increase the promotion threshold; or a combination of those. Increasing the young generation and reducing promotion might lead to much less growth of the tenured generation and thus to less frequent major collections. Switching to the G1 collector would give you the benefit that this collector is able to only consider some survivor regions and can leave regions with immortal objects alone.

Source https://stackoverflow.com/questions/55259975

Community Discussions, Code Snippets contain sources that include Stack Exchange Network


No vulnerabilities reported

Install GCViewer

You can download it from GitHub, Maven.
You can use GCViewer like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the GCViewer component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .


For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .

DOWNLOAD this Library from

Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases

Save this library and start creating your kit

Explore Related Topics

Share this Page

share link
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases

Save this library and start creating your kit

  • © 2022 Open Weaver Inc.