469 |
469 |
470 const ChunkManager* cm = Metaspace::get_chunk_manager(mdtype); |
470 const ChunkManager* cm = Metaspace::get_chunk_manager(mdtype); |
471 return cm->chunk_free_list_summary(); |
471 return cm->chunk_free_list_summary(); |
472 } |
472 } |
473 |
473 |
474 void MetaspaceUtils::print_metaspace_change(size_t prev_metadata_used) { |
474 void MetaspaceUtils::print_metaspace_change(const metaspace::MetaspaceSizesSnapshot& pre_meta_values) { |
475 log_info(gc, metaspace)("Metaspace: " SIZE_FORMAT "K->" SIZE_FORMAT "K(" SIZE_FORMAT "K)", |
475 const metaspace::MetaspaceSizesSnapshot meta_values; |
476 prev_metadata_used/K, used_bytes()/K, reserved_bytes()/K); |
476 |
|
477 if (Metaspace::using_class_space()) { |
|
478 log_info(gc, metaspace)(HEAP_CHANGE_FORMAT" " |
|
479 HEAP_CHANGE_FORMAT" " |
|
480 HEAP_CHANGE_FORMAT, |
|
481 HEAP_CHANGE_FORMAT_ARGS("Metaspace", |
|
482 pre_meta_values.used(), |
|
483 pre_meta_values.committed(), |
|
484 meta_values.used(), |
|
485 meta_values.committed()), |
|
486 HEAP_CHANGE_FORMAT_ARGS("NonClass", |
|
487 pre_meta_values.non_class_used(), |
|
488 pre_meta_values.non_class_committed(), |
|
489 meta_values.non_class_used(), |
|
490 meta_values.non_class_committed()), |
|
491 HEAP_CHANGE_FORMAT_ARGS("Class", |
|
492 pre_meta_values.class_used(), |
|
493 pre_meta_values.class_committed(), |
|
494 meta_values.class_used(), |
|
495 meta_values.class_committed())); |
|
496 } else { |
|
497 log_info(gc, metaspace)(HEAP_CHANGE_FORMAT, |
|
498 HEAP_CHANGE_FORMAT_ARGS("Metaspace", |
|
499 pre_meta_values.used(), |
|
500 pre_meta_values.committed(), |
|
501 meta_values.used(), |
|
502 meta_values.committed())); |
|
503 } |
477 } |
504 } |
478 |
505 |
479 void MetaspaceUtils::print_on(outputStream* out) { |
506 void MetaspaceUtils::print_on(outputStream* out) { |
480 Metaspace::MetadataType nct = Metaspace::NonClassType; |
507 Metaspace::MetadataType nct = Metaspace::NonClassType; |
481 |
508 |