Muistivuotojen tunnistus
Edeltävät toimet:
Muistivuoto on virhe ohjelman dynaamisessa muistinvarauslogiikassa, joka aiheuttaa sen, ettei ohjelma pysty käyttämään uudelleen tyhjennettyä muistia. Toisin sanoen objekteja, joita ei enää tarvita, ei käytetä uudelleen. Odottamattoman suuri määrä tällaisia ilmentymiä saattaa aiheuttaa muistivuodon. Jos muistivuoto on vakavaa tasoa, se voi johtaa sovelluksen ennenaikaiseen keskeytykseen, koska muisti loppuu kesken.
Muistivuodot aiheutuvat objekteista, jotka säilyttävät viittaukset toisiin objekteihin ja täten estävät siivoustoimintoa käyttämästä vapauttamattomia objekteja uudelleen.Objektiviitetaulukon avulla voidaan tunnistaa nämä viittaukset.
Muistivuodon etsintä sovelluksesta
Voit tunnistaa muistivuodon sovelluksestasi seuraavasti:
- Valitse profilointi- ja kirjausperspektiivissä joko valvontaohjelma tai Profiloinnin valvontaohjelma -näkymän agentti.
- Napsauta hiiren kakkospainikkeella valvontaohjelmaa tai agenttia ja valitse Kerää objektiviitteet -vaihtoehto. Objektiviitteet kerätään nyt.
- Napsauta hiiren kakkospainiketta uudelleen ja valitse Avaa kohteessa > Objektiviite. Objektiviitetaulukko avautuu.
- Valitse paikallinen valikkokuvake
ja valitse Näytä viitteet viittaajan mukaan -vaihtoehto.
- Tutki objektiluetteloa ja objektiviitteiden määrää.Ne, joissa on viitteitä, ovat mahdollisia muistivuoto-ongelmia.
Muistivuodon etsintä tapahtumiin perustuvasta toiminnosta
Tämän toimintosarjan avulla on helppo tunnistaa ohjelman vaihe, joka luo uusia objekteja, mutta ei vapauta niitä, ja siten estää niiden poiston siivoustoiminnon kautta. Ohjelma luo esimerkiksi valintaikkunan, mutta valintaikkunaan liittyvät objektit säilyvät varattuina ikkunan sulkemisen jälkeen.Voit tunnistaa muistivuodon tapahtumiin perustuvasta toiminnosta seuraavasti:
- Valitse profilointi- ja kirjausperspektiivissä joko valvontaohjelma tai Profiloinnin valvontaohjelma -näkymän agentti.
- Kerää objektiviitteet ennen kyseistä toimintoa.
Napsauta hiiren kakkospainiketta ja valitse Kerää objektiviitteet -vaihtoehto. Objektiviitteet kerätään nyt.
- Napsauta hiiren kakkospainikkeella valvontaohjelmaa ja valitse Avaa seuraavan kohteen avulla > Objektiviitteet. Tutki objektiviitetaulukkoa ja kiinnitä huomiota luotuihin objektiviitteisiin.
- Aja toiminto, jota haluat tutkia.
- Kerää objektiviitteet, kun toiminto on tehty.
Napsauta hiiren kakkospainiketta ja valitse uudelleen Kerää objektiviitteet -vaihtoehto.
- Napsauta hiiren kakkospainikkeella valvontaohjelmaa ja valitse Avaa seuraavan kohteen avulla > Objektiviitteet.
Tutki objektiviitetaulukkoa ja kiinnitä huomiota luotuihin objektiviitteisiin.
- Voit tutkia tietyn objektin viitteitä seuraavasti:
- Valitse objektiviitetaulukon avattavasta valikosta Näytä viitteet kohteen mukaan -vaihtoehto.
- Valitse objektiluokka ja laajenna objekti.
- Tunnista viitteet, jotka estävät uusien objektien käytön uudelleen.
Aiheeseen liittyviä käsitteitä
Profilointityökalun yleiskuvaus
Profilointiresurssit
Objektiviitetaulukko
Aiheeseen liittyviä tehtäviä
Sovelluksen profilointi
Java-prosessin aloitus tai liittäminen
(C) Copyright IBM Corporation 2000, 2006. All rights reserved.