什麼是MEM和mem.free在春季啓動指標的含義通過/度端點暴露?春季啓動器指標MEM和mem.free
我們部署在三個節點,一個新的Spring引導微服務,MEM每盒的負載測試是始終圍繞250M出來4G總在VM中,mem.free像正常負荷的100倍不切實際的負荷下可以降至15M,並在測試後緩慢恢復。
它們不是堆內存,因爲Spring Boot Metrics分別報告它們,它們不是Java進程本身,因爲從命令行我可以看到無論負載有多大,它都停留在4G的16%左右,大約爲900MB。下面是/指標呼叫響應片段:
{
mem: 227657,
mem.free: 44280,
processors: 2,
instance.uptime: 80393579,
uptime: 80414405,
systemload.average: 0.03,
heap.committed: 133632,
heap.init: 61440,
heap.used: 89351,
heap: 872448,
nonheap.committed: 96688,
nonheap.init: 2496,
nonheap.used: 94025,
nonheap: 0,
threads.peak: 109,
threads.daemon: 34,
threads.totalStarted: 183,
threads: 63,
classes: 10079,
classes.loaded: 10155,
classes.unloaded: 76,
.... }
Grafana mem.free截圖過去24小時,最低點是高負載測試期間(15MB!)
格拉法納cpu和內存使用情況報告如下所示,它告訴我在這段時間內處於壓力下的CPU是可以理解的。但是,Java進程的內存(僅1春天開機在機器上運行)穩定:
那麼什麼又是MEM和mem.free在春季啓動指標的含義是什麼?
謝謝。這是非常明確的解釋。現在我可以看到mem(227657)= mem.free(44280)+ heap.used(89351)+ nonheap.used(94025) – MichaelYu
我也在這些盒子裏發現默認的JVM InitialHeapSize = 31457280,它非常小而且不均勻足夠的類(94025000)。當我設置-Xms = 256m時,mem變爲321136,mem.free增加到169665,這很好。 – MichaelYu