Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 26139|Antwoord: 0

[Bron] [Oefening] Los het probleem op van het draaien van een Java-applicatie op een Linux-server en dan ophangen

[Link kopiëren]
Geplaatst op 09-09-2021 10:52:50 | | | |
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





Vorig:Linux Overlay-bestandssysteem in Docker
Volgend:Twee tools worden aanbevolen voor het analyseren van de Docker-imagelaag
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com