8245724: Move g1 periodic gc logging to G1InitLogger
Reviewed-by: kbarrett, tschatzl
This commit is contained in:
parent
2ff952bf32
commit
6e1403480a
src/hotspot/share/gc
g1
shared
test/hotspot/jtreg/gc/g1
@ -40,6 +40,16 @@ void G1InitLogger::print_workers() {
|
||||
}
|
||||
}
|
||||
|
||||
void G1InitLogger::print_gc_specific() {
|
||||
// Print a message about periodic GC configuration.
|
||||
if (G1PeriodicGCInterval != 0) {
|
||||
log_info(gc, init)("Periodic GC: Enabled");
|
||||
log_info(gc, init)("Periodic GC Interval: " UINTX_FORMAT "ms", G1PeriodicGCInterval);
|
||||
} else {
|
||||
log_info(gc, init)("Periodic GC: Disabled");
|
||||
}
|
||||
}
|
||||
|
||||
void G1InitLogger::print() {
|
||||
G1InitLogger init_log;
|
||||
init_log.print_all();
|
||||
|
@ -31,7 +31,7 @@ class G1InitLogger : public GCInitLogger {
|
||||
protected:
|
||||
virtual void print_heap();
|
||||
virtual void print_workers();
|
||||
|
||||
virtual void print_gc_specific();
|
||||
public:
|
||||
static void print();
|
||||
};
|
||||
|
@ -101,13 +101,6 @@ void G1YoungRemSetSamplingThread::check_for_periodic_gc(){
|
||||
void G1YoungRemSetSamplingThread::run_service() {
|
||||
double vtime_start = os::elapsedVTime();
|
||||
|
||||
// Print a message about periodic GC configuration.
|
||||
if (G1PeriodicGCInterval != 0) {
|
||||
log_info(gc)("Periodic GC enabled with interval " UINTX_FORMAT "ms", G1PeriodicGCInterval);
|
||||
} else {
|
||||
log_info(gc)("Periodic GC disabled");
|
||||
}
|
||||
|
||||
while (!should_terminate()) {
|
||||
sample_young_list_rs_length();
|
||||
|
||||
|
@ -39,6 +39,7 @@ void GCInitLogger::print_all() {
|
||||
print_compressed_oops();
|
||||
print_heap();
|
||||
print_workers();
|
||||
print_gc_specific();
|
||||
}
|
||||
|
||||
void GCInitLogger::print() {
|
||||
@ -106,6 +107,10 @@ void GCInitLogger::print_workers() {
|
||||
}
|
||||
}
|
||||
|
||||
void GCInitLogger::print_gc_specific() {
|
||||
// To allow additional gc specific logging.
|
||||
}
|
||||
|
||||
const char* GCInitLogger::large_pages_support() {
|
||||
if (UseLargePages) {
|
||||
#ifdef LINUX
|
||||
|
@ -38,6 +38,7 @@ class GCInitLogger : public StackObj {
|
||||
virtual void print_compressed_oops();
|
||||
virtual void print_heap();
|
||||
virtual void print_workers();
|
||||
virtual void print_gc_specific();
|
||||
public:
|
||||
void print_all();
|
||||
static void print();
|
||||
|
@ -31,8 +31,8 @@ package gc.g1;
|
||||
* @library /test/lib /
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* @modules java.management/sun.management
|
||||
* @run main/othervm -XX:MaxNewSize=32M -XX:InitialHeapSize=48M -Xmx128M -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=25 -XX:+UseG1GC -XX:G1PeriodicGCInterval=3000 -XX:+G1PeriodicGCInvokesConcurrent -Xlog:gc,gc+periodic=debug,gc+ergo+heap=debug gc.g1.TestPeriodicCollection
|
||||
* @run main/othervm -XX:MaxNewSize=32M -XX:InitialHeapSize=48M -Xmx128M -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=25 -XX:+UseG1GC -XX:G1PeriodicGCInterval=3000 -XX:-G1PeriodicGCInvokesConcurrent -Xlog:gc,gc+periodic=debug,gc+ergo+heap=debug gc.g1.TestPeriodicCollection
|
||||
* @run main/othervm -XX:MaxNewSize=32M -XX:InitialHeapSize=48M -Xmx128M -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=25 -XX:+UseG1GC -XX:G1PeriodicGCInterval=3000 -XX:+G1PeriodicGCInvokesConcurrent -Xlog:gc*,gc+periodic=debug,gc+ergo+heap=debug gc.g1.TestPeriodicCollection
|
||||
* @run main/othervm -XX:MaxNewSize=32M -XX:InitialHeapSize=48M -Xmx128M -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=25 -XX:+UseG1GC -XX:G1PeriodicGCInterval=3000 -XX:-G1PeriodicGCInvokesConcurrent -Xlog:gc*,gc+periodic=debug,gc+ergo+heap=debug gc.g1.TestPeriodicCollection
|
||||
*/
|
||||
|
||||
import com.sun.management.HotSpotDiagnosticMXBean;
|
||||
|
@ -35,14 +35,14 @@ package gc.g1;
|
||||
* -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
|
||||
* -XX:+UseG1GC -XX:G1PeriodicGCInterval=100
|
||||
* -XX:+G1PeriodicGCInvokesConcurrent
|
||||
* -Xlog:gc,gc+periodic=debug
|
||||
* -Xlog:gc*,gc+periodic=debug
|
||||
* gc.g1.TestPeriodicCollectionJNI
|
||||
* @run main/othervm/native
|
||||
* -Xbootclasspath/a:.
|
||||
* -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
|
||||
* -XX:+UseG1GC -XX:G1PeriodicGCInterval=100
|
||||
* -XX:-G1PeriodicGCInvokesConcurrent
|
||||
* -Xlog:gc,gc+periodic=debug
|
||||
* -Xlog:gc*,gc+periodic=debug
|
||||
* gc.g1.TestPeriodicCollectionJNI
|
||||
*/
|
||||
|
||||
|
@ -42,23 +42,24 @@ public class TestPeriodicLogMessages {
|
||||
public static void main(String[] args) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
|
||||
"-XX:G1PeriodicGCInterval=0",
|
||||
"-Xlog:gc,gc+periodic=debug",
|
||||
"-Xlog:gc+init,gc+periodic=debug",
|
||||
"-Xmx10M",
|
||||
GCTest.class.getName());
|
||||
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
output.shouldContain("Periodic GC disabled");
|
||||
output.shouldContain("Periodic GC: Disabled");
|
||||
output.shouldNotContain("Checking for periodic GC");
|
||||
output.shouldHaveExitValue(0);
|
||||
|
||||
pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
|
||||
"-XX:G1PeriodicGCInterval=100",
|
||||
"-Xlog:gc,gc+periodic=debug",
|
||||
"-Xlog:gc+init,gc+periodic=debug",
|
||||
"-Xmx10M",
|
||||
GCTest.class.getName());
|
||||
|
||||
output = new OutputAnalyzer(pb.start());
|
||||
output.shouldContain("Periodic GC enabled with interval 100ms");
|
||||
output.shouldContain("Periodic GC: Enabled");
|
||||
output.shouldContain("Periodic GC Interval: 100ms");
|
||||
output.shouldContain("Checking for periodic GC");
|
||||
output.shouldHaveExitValue(0);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user