Как сопоставить значение Memory.usage_in_bytes и итоговый вывод выделенной памяти jcmdnative_memoryJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как сопоставить значение Memory.usage_in_bytes и итоговый вывод выделенной памяти jcmdnative_memory

Сообщение Anonymous »

Я запускаю контейнер на основе Java (Java 17) в модуле k8s. Я пытался сопоставить значение выделенной памяти в «сводке jcmd VM.native_memory» и /sys/fs/cgroup/memory/memory.usage_in_bytes. В моем случае значение Memory.usage_in_bytes было намного выше значения выделенной памяти.
cat Memory.usage_in_bytes
1597472768
Это результат, когда я зашел в контейнер Java и выполнил указанную выше команду.
Изображение

[img]https://i.sstatic .net/Dd7JCN74.png[/img]

Это результат сводки встроенной памяти.
Вопрос:< /p>
Общий объем выделенной памяти от jcmd — 857660 КБ. Я пытаюсь понять, какая часть процесса Java использует 1 597 472 768 (memory.usage_in_bytes) - 857 660 000 байт.
Другие подробности:
Вывод VM.flags:
-XX:CICompilerCount=2 -XX:CompressedClassSpaceSize=436207616 -XX:ConcGCThreads=1 -XX:+FlightRecorder -XX:G1ConcRefinementThreads=2 -XX:G1EagerReclaimRemSetThreshold=8 -XX:G1HeapRegionSize=1048576 -XX:G1PeriodicGCInterval=10000 -XX:GCDrainStackTargetSize=64 -XX:InitialHeapSize=33554432 -XX:+ManagementServer -XX:MarkStackSize=4194304 -XX:MaxHeapFreeRatio=10 -XX:MaxHeapSize=1073741824 -XX:MaxMetaspaceSize=536870912 -XX:MaxNewSize=643825664 -XX:MaxRAM=2147483648 -XX:MaxRAMPercentage=50.000000 -XX:MetaspaceSize=16777216 -XX:MinHeapDeltaBytes=1048576 -XX:MinHeapFreeRatio=5 -XX:MinHeapSize=8388608 -XX:NativeMemoryTracking=summary -XX:NonNMethodCodeHeapSize=5826188 -XX:NonProfiledCodeHeapSize=122916026 -XX:-OmitStackTraceInFastThrow -XX:+PrintNMTStatistics -XX:ProfiledCodeHeapSize=122916026 -XX:ReservedCodeCacheSize=251658240 -XX:+SegmentedCodeCache -XX:SoftMaxHeapSize=1073741824 -XX:-THPStackMitigation -XX:ThreadStackSize=1024 -XX:+UnlockDiagnosticVMOptions -XX:+UseAdaptiveSizePolicy -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:+UseG1GC -XX:+UseStringDeduplication
Я использую клиентскую библиотеку Redisson для связи с Redis.
https://openjdk.org/jeps/346 - Я столкнулся с этим и понял, что это исправлено в самой Java 12.
Поскольку мы используем клиент Redisson, я понимаю, что используется библиотека Netty, которая создает память Direct. Мне не удалось узнать, сколько прямой памяти используется из вывода команды jcmd own_memory.

Подробнее здесь: https://stackoverflow.com/questions/793 ... summary-co
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»