VisualVM alokuje pamięć?...

0

Uczę się profilowania w VisualVM i natrafiłem na zjawisko którego nie rozumiem.
Generalnie mam aplikacje, która coś sobie tam robi, z założenia nie powinna alokować żadnej pamięci podczas przetwarzania requestów i tak się dzieje, bo pozostawiając ją na np. 5 min -verbose:gc nie pokazuje żadnej aktywności gc. Nie mniej jednak, gdy odpalę VisualVM i zaczne obserwować co się dzieje, m.in w pluginie Visual GC (albo po prostu w samplerze), to widzę że w Eden Space co jakieś 5-10 sekund jest z czapy alokowane jakieś 1,5 mega bajta. No i przy apce która chodzi z 2-3 minuty, przy odpalonym VisualVM i -verbose:gc mam info że było minor gc i wtf...
Generalnie jak sprawdze stacktrace tych alokowanych Object[] i char[] to widzę że są chyba initializowane w kontekście tego visualvm, tylko dlaczego?
Na necie nigdzie nie znalazłem info na ten temat, to może ktoś mi tutaj to wyjaśni?

0

Skądś te sample musi brać do analizy, co 100ms próbuje dostać się do safepointu i zrobić JvmtiEnv::GetAllStackTraces i potem gdy Eden już się przepełnia to robi minor gc. W widoku visualvm odświeżanie jest co chyba 2 sekundy, więc nie wiem skąd nagle co 5-10sekund robi Ci się 1,5 mega więcej, no chyba że ustawiłeś co większy okres. Zaznaczam, że znawcą nie jestem, może przyjdzie ktoś mądrzejszy i mnie poprawi xd

1 użytkowników online, w tym zalogowanych: 0, gości: 1