Announcement

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

Filtrare i workloads per runtime JVM

Trovi tutti i workloads Java di un cluster con un solo clic, senza bisogno di label

By Vadim Solovey

·

Shipped by

Oleksii KoshkinAbror Kenjaev

La memoria Java non si comporta come le altre. Un heap fisso definito con -Xmx non si riduce solo perché è stato ridotto il limit del container: fare il right-sizing di un servizio Java allo stesso modo di un'API stateless è il modo migliore per ritrovarsi con un OOMKill. La maggior parte dei team lo sa e vuole gestire i propri workloads JVM con particolare attenzione. Il problema è trovarli. Quasi nessuno etichetta i pod con "questo esegue una JVM", quindi rispondere alla domanda "mostrami solo i workloads Java di questo cluster" significava fare grep sui manifest o chiedere in giro.

Questa lacuna è ora colmata. La tabella dei workloads di PerfectScale include una colonna Runtime con un filtro: All, JVM, Non-JVM.

Cosa ottiene

PerfectScale rileva automaticamente i container Java tramite il proprio node agent: il filtro si basa quindi sul rilevamento, non sul rigore con cui vengono applicate le label. Un workload viene classificato come JVM se almeno uno dei suoi container ne esegue una. La colonna Runtime compare in ogni scheda della tabella dei workloads (Recommendations, Labels and Policies, HPA, GPU) ogni volta che vengono rilevati container Java nel cluster e nell'intervallo di tempo selezionati, ed è inclusa anche nell'export CSV.

Cosa significa in pratica:

Un inventario JVM con un solo clic. Filtri per JVM, esporti il CSV e consegni al team della piattaforma Java un elenco completo dei servizi Java con request, limit e raccomandazioni attuali. Senza dipendere dalla memoria storica del team.

Un percorso più sicuro verso il right-sizing automatizzato. Filtri per Non-JVM e attivi prima l'automazione per tutto ciò che non è Java. Poi prenda l'elenco JVM e verifichi le impostazioni dell'heap rispetto ai limit dei container prima di lasciare che l'automazione intervenga. I workloads con un -Xmx fisso vicino al limit di memoria sono quelli che meritano un'occhiata.

Triage più rapido dei problemi di memoria Java. Il filtro si affianca a quanto PerfectScale fa già per Java: metriche heap, non-heap e del garbage collector per ogni container, e raccomandazioni che rispettano i parametri heap configurati esplicitamente invece di ridurre i limit al di sotto di MaxHeapSize.

Come iniziare

  1. Abiliti il rilevamento JVM, se non l'ha già fatto. Basta un flag helm sull'agent di PerfectScale, descritto nella guida ai container Java. Il rilevamento funziona sui nodi Linux.
  2. Apra la tabella dei workloads di un cluster. Quando vengono rilevati container Java, compare la colonna Runtime con il relativo filtro.
  3. Selezioni JVM o Non-JVM, oppure esporti il CSV per l'inventario completo.

Il filtro Runtime è già disponibile per tutti i clienti. Se esegue molto Java e questa novità cambia il modo in cui rivede le raccomandazioni — o anche se non lo cambia — ci farebbe piacere saperlo.