Pisu ted jednoduchy monitorovaci skript na dohled java aplikace pres JMX.
MBean java.lang:type=Memory - atribut NonHeapMemoryUsage.max mi ukazuje -1.
Pricemz u HeapMemoryUsage.max tam mam normalni hodnotu.
Potrebuju vyrobit procentualni metriku used/max memory a v pripade NonHeapMemory to nejsem schopen spocist, kvuli tomu nemyslu -1.
Cova se to stejne v JDK8 i JDK11
Google mi nevratil nic.
Vite nekdo proc, to vraci nesmysl -1?
Je to chyba nebo nejaky tajny zamer?
Dik za jakekoliv info.
Moc jsem toho taky nenasel.
jmx["java.lang:type=Memory",NonHeapMemoryUsage.used]: We already monitored the heap memory usage on the gateway; this will monitor the non-heap memory usage v knize Zabbix 4 Network Monitoring - Third Edition
Kdyz se divam na nasu tomcat, tak je tam taky -1.
Co takhle pouzit committed, vidim to jako prvni atribut NonHeapMemoryUsage.
Nebo pouzij volnou pamet systemu misto max, -1 je asi bez omezeni, takze by to mohlo davat i realne hodnoty?
Dik za snahu.
Este jsem nasel u garbage collectoru, atribut LastGCInfo, kde je i stav pameti po pslednim provedemen GC. Tam numera sice jsou, ale netusim, jake pameti se to tyka.
A je na vyber se dvou GC implemetaci (v JDK8 je to MarkSweep a Scavenge), pricemz u MarkSweep tam mam prazdny Composite object, u Scavenge realne data. A netusim, cim se GC voli, tusim ze je mozno nejak pomoct JAVAOPTS.
Vsude u kazdeho atributu jako description ciste hovno.
Cekal bych, ze Oracle bude mit tyhle triviality aspon nekde zadokumentovane, co a jak se ma monitorovat, tohle je tuseni stinu.
Dival jsem se na Zabbix, ti maji v default templatech uz uplne nesmysle, ktere vedou leda k tomu, ze pulka itemu sviti unsupported.