2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Viitteet:
①Käytä mtracea JVM:n muistivuotojen seuraamiseen
②Vianetsintätapaus korkeasta Java-muistin käytöstä
Selvitä muistivuodon paikka (katso yksityiskohtaiset komennot viitemateriaalista ①)
Käytä jna:ta ottaaksesi mtrace käyttöön Java-koodissa muistin varauksen seuraamiseksi
Käytä mtrace-komentoa lokitiedostojen analysointiin ja muistivuodon kutsupisteiden hankkimiseen.
arthas tarkistaa muistivuodon hälytyspisteen kutsupinon (voit käyttää hälytyspisteen osoitetta suoraan, toiminnon nimeä ei vaadita)
Hanki muistivuotosisältö (katso viitemateriaalit ② yksityiskohtaisia komentoja varten)
Kun palvelua testataan offline-tilassa, kun QPS on korkea, koneen nio.directbuffer-alueen varaama muisti kasvaa yhtäkkiä, mikä aiheuttaa OOM:n esiintymisen kontissa.
Yllä olevien vianetsintäideoiden avulla päätimme lopulta, että RPC-kehys loi suuren määrän dataa suorapuskurialueella. Itse asiassa, kun QPS on korkea, valitsinsäikeiden määrä on pieni ja kulutuskapasiteetti on riittämätön, mikä johtaa pyyntö- ja vastausdatan ruuhkaan suorapuskurialueella.