So korrelieren Sie den Wert von „memory.usage_in_bytes“ und die zugesicherte Speicherausgabe von „native_memory“ von jcm

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: So korrelieren Sie den Wert von „memory.usage_in_bytes“ und die zugesicherte Speicherausgabe von „native_memory“ von jcm

by Anonymous » 23 Dec 2024, 18:32

Ich verwende einen Java-basierten (Java 17) Container im k8s-Pod. Ich habe versucht, den Wert des zugesicherten Speichers in „jcmd VM.native_memory summary“ und /sys/fs/cgroup/memory/memory.usage_in_bytes zu korrelieren. In meinem Fall war der Wert von „memory.usage_in_bytes“ viel höher als der Wert des zugesicherten Speichers.
cat memory.usage_in_bytes
1597472768
Dies ist die Ausgabe, wenn ich in den Java-Container übergehe und den obigen Befehl ausführe.
Image

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

Dies ist die Ausgabe der Zusammenfassung des nativen Speichers.
Frage:< /p>
Gesamt zugewiesener Speicher von jcmd ist 857660 KB. Ich versuche zu verstehen, welcher Teil des Java-Prozesses 1.597.472.768 (memory.usage_in_bytes) – 857.660.000 Bytes verbraucht.
Weitere Details:
VM.flags-Ausgabe ist:
-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
Ich verwende die Redisson-Clientbibliothek, um mit Redis zu kommunizieren.
https://openjdk.org /jeps/346 – Ich bin darauf gestoßen und habe verstanden, dass dies in Java 12 selbst behoben ist.
Da wir den Redisson-Client verwenden, verstehe ich, dass die Netty-Bibliothek verwendet wird, die direkten Speicher nutzt . Ich konnte in der Befehlsausgabe von jcmd native_memory nicht herausfinden, wie viel direkter Speicher verwendet wird.

Top