Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 26139|Svar: 0

[Kilde] [Øvelse] Fejlsøg problemet med at køre en Java-applikation på en Linux-server og lægge på

[Kopier link]
Opslået på 09/09/2021 10.52.50 | | | |
Åbner man udviklermiljøets hjemmeside om morgenen, er der ikke indlæst en menuliste, og finder ud af, at der faktisk er et problem med grænsefladen.

Log ind på serveren for at se Java-applikationenOmdirigeringsuddatafiler og logfiler, fandt ud af, at den sidste logaritmetid forblev på 21:15, som vist i figuren nedenfor:



Tjek systemloggene

8. sep 21:30:05 centos7-dev04 kernel: Out of memory: Kill process 32452 (java) score 84 eller sacrifice child
8. sep 21:30:05 centos7-dev04 kernel: Dræbte proces 32452 (java), UID 0, total-vm:7016412kB, anon-rss:1421400kB, file-rss:0kB, shmem-rss:0kB



Hvis du mistænker, at en applikation er blevet ødelagt af Linux, kan du også hurtigt fejlfinde den ved at bruge følgende kommando:



For at tjekke hukommelsesforbruget er kommandoen som følger:



Pastopkommando, og derefter skriv mnøgler, sorteret efter den hukommelse, processen bruger, som vist i figuren nedenfor:

PID: Processens ID
BRUGER: Proces-ejeren
PR: Prioriteten i processen, jo mindre prioritet, desto mere prioritet skal udføres
Nice: Værdi
VIRT: Den virtuelle hukommelse, som processen optager
RES: Den fysiske hukommelse, som processen optager.
SHR: Delt hukommelse, der bruges af processen
S: Tilstanden af processen. S angiver dvale, R indikerer kørende, Z indikerer deadlock, og N angiver, at procesprioritetsværdien er negativ
%CPU: Brugsraten af CPU'en, der bruges af processen
%MEM: Procentdelen af fysisk hukommelse og samlet hukommelse, som processen bruger
TIME+: Den samlede CPU-tid, som processen bruger efter dens start, altså den samlede værdi af CPU-brugstiden.
KOMMANDO: Navnet på proces-opstartskommandoen



Grunden til, at applikationen lagde på, var, at serveren løb tør for hukommelse, og Linux dræbte automatisk Java-applikationen ifølge nogle regler, trods alt optager Java-applikationen en meget stor mængde hukommelse.

Du kan tjekke, hvilken Java-applikation der er specifik ved at bruge følgende kommando:



opløsning

1. Øg serverhukommelsen
2. Begræns hukommelsesforbruget for Java-applikationer
3. Migrer nogle Java-applikationer til andre servere





Tidligere:Linux Overlay-filsystem i Docker
Næste:To værktøjer anbefales til analyse af Docker-billedlaget
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com