Open 's ochtends de website van de ontwikkelomgeving, een menulijst wordt niet geladen en ontdek dat er inderdaad een probleem is met de interface.
Log in op de server om de Java-applicatie te bekijkenRedirect-uitvoerbestanden en logbestanden, vond dat de laatste logtijd bleef op 21:15, zoals weergegeven in de onderstaande figuur:
Controleer de systeemlogs
8 sep 21:30:05 centos7-dev04 kernel: Uit geheugen: Kill process 32452 (java) score 84 of offer kind 8 sep 21:30:05 centos7-dev04 kernel: Proces 32452 (java) gekillt, UID 0, total-vm:7016412kB, anon-rss:1421400kB, file-rss:0kB, shmem-rss:0kB
Als je vermoedt dat een applicatie door Linux is uitgeschakeld, kun je deze ook snel oplossen met het volgende commando:
Om het geheugengebruik te controleren, is het commando als volgt:
InhalenBovenste commando, en dan typ Msleutels, gesorteerd op basis van het geheugen dat het proces gebruikt, zoals weergegeven in de onderstaande figuur:
PID: De identificatie van het proces GEBRUIKER: De proceseigenaar PR: Hoe minder prioriteit het proces, hoe kleiner de prioriteit, hoe meer prioriteit er moet worden uitgevoerd Nice: Waarde VIRT: Het virtuele geheugen dat door het proces wordt ingenomen RES: Het fysieke geheugen dat door het proces wordt ingenomen SHR: Gedeeld geheugen dat door het proces wordt gebruikt S: De staat van het proces. S duidt hibernatie aan, R staat op lopen, Z op deadlock, en N geeft aan dat de procesprioriteit negatief is %CPU: Het gebruikspercentage van de CPU die door het proces wordt gebruikt %MEM: Het percentage fysiek geheugen en het totale geheugen dat door het proces wordt gebruikt TIME+: De totale CPU-tijd die het proces na start verbruikt, dat wil zeggen de cumulatieve waarde van de CPU-gebruikstijd. COMMAND: De naam van het procesopstartcommando
De reden dat de applicatie bleef hangen was omdat de server zonder geheugen kwam te zitten, en Linux de Java-applicatie automatisch stopte volgens sommige regels; de Java-applicatie neemt immers een zeer grote hoeveelheid geheugen in beslag.
Je kunt controleren welke Java-applicatie specifiek is door het volgende commando te gebruiken:
oplossing
1. Verhoog het servergeheugen 2. Beperk het geheugengebruik voor Java-applicaties 3. Migreer sommige Java-applicaties naar andere servers
|