Sc jvm customization


跳转到: 导航, 搜索


JVM Customization

GC-Invisible Heap

for more details please click Here

[source code 1] [source code 2] [source code 3] [source code 4] by changren sajia hongxi

GC-Invisible Heap Shared Memory

For details please click Here by kungu

[source code] by sajia

TAOBAOJDK-003: Add support for JVM parameter extension

Add basic support for Taobao-specific extensions to VM flags

[source code] by sajia

TAOBAOJDK-006: Large array allocating warning

Add a new VM flag, ArrayAllocationWarningSize, to monitor/log large array allocation. Lots of GC problems result from large array, with the new added internal parameter ArrayAllocationWarningSize, we can set a threshold when JVM allocates array with its size exceeds ArrayAllocationWarningSize, JVM will output related such as owner thread, array size and thread stacktrace in gclog, a typical example please click here.

[source code] by hongxi

TAOBAOJDK-009: Interface to set java stack size

Most users only know how to set the stack size of all Java threads to the same value with the -Xss option. This patch wraps around the Thread constructor overload that could specify the stack size so to enable users create threads with a different stack size from other threads.

[source code] by sajia

TAOBAOJDK-010: Print the reason of garbage collection

The reason triggers gc is variable from system to system in Taobao, both in the official HotSpot and OpenJdk there is no convenient way to confirm gc reason directly. Now the problem has been solved, by means of adding new runtime parameter PrintGCReason , JVM will output gc reason and related trigger data in the gclog, to help locating and resolving gc problem.

[source code] by sajia

TAOBAOJDK-011: Add parameter UseTaobaoPatchJAR

Add jre/lib/taobao-patch.jar to bootclasspath Automaticly.

[source code] by sajia

TAOBAOJDK-012: Change parameter PrintJNIGCStalls type

[source code] by sajia

TAOBAOJDK-013: Fix object lost problem when dump heap

[source code] by sajia

TAOBAOJDK-018: Print assembly code in Crash Log

The JVM will create a Crash Log file when the process crashs. Patched VM outputs assembly code along with related binary code.

[source code] by sajia

TAOBAOJDK-019: Add new API for GC

Use the JMX-manageable DisableExplicitGC and ExplicitGCInvokesConcurrent flags to force a system GC

[source code] by sajia

TAOBAOJDK-024: change parameter type

[source code] by sajia