Почему GarbageCollectorMXBean / MemoryPoolMXBean возвращает разные значения в одной среде - PullRequest
0 голосов
/ 16 октября 2018

Я заметил, что GarbageCollectorMXBean#getName() и MemoryPoolMXBean#getName() возвращают разные значения между двумя серверами.

Я попытался запустить простой код, который показывает имя бина, как показано ниже.

ManagementFactory.getGarbageCollectorMXBeans().forEach(b ->
    System.out.println(b.getName()));

ManagementFactory.getMemoryPoolMXBeans().forEach(b ->
    System.out.println(b.getName()));

результат ниже.

Сервер 1

EC2 AMI:

ami-08847abae18baa040

ОС:

$ cat /etc/system-release
Amazon Linux 2
$ cat /etc/system-release-cpe
cpe:2.3:o:amazon:amazon_linux:2

JDK:

java-1.8.0-openjdk-1.8.0.181-3.b13.amzn2.x86_64

Вывод:

Copy                  
MarkSweepCompact      
Code Cache            
Metaspace             
Compressed Class Space
Eden Space            
Survivor Space        
Tenured Gen     

Сервер 2

EC2 AMI:

ami-08847abae18baa040

ОС:

$ cat /etc/system-release
Amazon Linux 2
$ cat /etc/system-release-cpe
cpe:2.3:o:amazon:amazon_linux:2

JDK:

java-1.8.0-openjdk-1.8.0.181-3.b13.amzn2.x86_64

Вывод:

PS Scavenge           
PS MarkSweep          
Code Cache            
Metaspace             
Compressed Class Space
PS Eden Space         
PS Survivor Space     
PS Old Gen        

Как описано,

  1. AMI и Linux версии одинаковы
  2. JDK версии одинаковы
  3. GarbageCollectorMXBean-имена не одинаковы

    • Копировать <-> PS Scavenge
    • MarkSweepCompact <-> PS MarkSweep
  4. MemoryPoolMXЗначки бина не одинаковы

    • Пространство Eden <-> Пространство Eden PS
    • Пространство Survivor <-> Пространство PS Survivor
    • Штатный генерал <-> PS Старый генерал

Единственное их отличие яs ec2 instance-type.

  • Сервер 1 - t3.micro
  • Сервер 2 - t3.small

Это очень странно для меня, кто-нибудь знает почему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...