Start her, når tingene går galt på dit Linux-system

1
Start her, når tingene går galt på dit Linux-system

Hvis du har kørt et hvilket som helst operativsystem i længere tid, vil du sandsynligvis være stødt på mærkelige fænomener. Når det kommer til computere, er mærkeligt normalt uvelkomment. Jo længere du kører en given OS-installation uden en geninstallation, jo større er sandsynligheden for, at du ser mindst et par særheder. Dette kan være alt fra programmer, der fryser, til din køleblæser pludselig går op i luften, til alle mulige særheder.

For kommercielle desktop-operativsystemer med massive installationsbaser er det nemt at finde support i form af officielle fabrikanter (OEM) eller OS-udviklerfejlfindings- og dokumentationssider. Men for Linux er sådanne ressourcer ikke altid tilgængelige. Selv når de er det, udsender de ikke altid ensartet vejledning fra distribution til distribution og er ikke garanteret at tage højde for brugerens specifikke hardware.

I dette stykke vil jeg tilbyde et par ruter, du kan krydse for at spore mistænkelig adfærd på dit Linux-system. Denne sekvens af diagnostik er hverken definitiv eller rigid. Jeg hævder ikke, at jeg ved alt, hvad du skal gøre for at finde ud af, hvad der er gået galt på dit Linux-system, og selv hvis jeg gjorde det, ville det være et episk digt af en artikel.

Det er meget muligt, at ikke alle procedurer er relevante for det aktuelle problem. Mit mål er dog at fremlægge et godt antal tests, der i det mindste burde give dig et sted at starte. Disse vil bekvemt (med én undtagelse) tjene dig godt på desktop eller server Linux, da de bruger kommandolinjeværktøjer.

Det følgende vil fortsætte i rækkefølgen af ​​høj til lav abstraktionslag, nemlig fra applikationsniveauet ned til OS-niveauet. Lad os uden videre grave.

Browser slukket opgave? Åbn dens Task Manager

Browsere er blevet så robuste og centrale i desktopcomputeroplevelsen, at de nu har deres egen OS-lignende procesmanager. Disse værktøjer giver brugerne mulighed for at se, hvilke åbne webforbindelser der bruger systemressourcer, og hvor meget.

Hvis din webbrowser er det vigtigste program, der kører på din computer, når ressourcestigninger eller opbremsninger dukker op, er procesmanageren en uvurderlig ressource. Det giver et klarere billede end din OS-procesmanager, fordi browserprocesmanageren er klar over, hvilke af dens indgående processer, der drives af hvilke websider.

Hver browser har sin egen måde at komme til sin opgavehåndtering. I Firefox og Chrome kan du få adgang til opgavehåndteringen fra deres respektive menuer øverst til højre. Chrom og nære derivater (som Chrome) giver også mulighed for at trykke på Shift + Escape-tasterne for at få adgang til værktøjet. Når du har åbnet opgavehåndteringen, kan du sortere processer efter CPU- eller hukommelsesforbrug for at bestemme, hvad der griber ind i begge. Endelig kan du dræbe en browserproces, der forsøger at klamre sig til din computers hardware.

Tag det fra ‘toppen’

Hvis din browser ikke er stjernen i showet, vil du sikkert gerne se alle de processer dit system jonglerer med. Den bedste måde at gøre det på er at åbne din terminal og bruge top kommando. I det væsentlige er det en opgavehåndtering til Unix-lignende systemer (som Linux). Med den kan du se CPU-brug, hukommelsesforbrug og meget mere for hver aktiv proces. Som du ville forvente, kan du også sortere efter disse statistikker. Eventuelle ude af kontrol processer kan dræbes lige fra top.

Men hvis du tænker top er din gennemsnitlige opgaveleder, tro om igen. Du kan sortere efter enhver tilgængelig metrik, inklusive køretid og “pænhed” (dybest set procesprioritet). Åh ja, der er procesprioritet. Du kan også vælge at vise processer som et træ, der angiver, hvilke processer der har affødt andre. Det bedste af det hele er, at du kan søge efter en hvilken som helst tekstsekvens, en funktion, der i høj grad mangler i mange konkurrerende OS’ers opgavehåndtering.

Oversigt over åbne filer

Hvis du har mistanke om, at problemet ikke er CPU- eller hukommelsesforbrug, men usædvanligt disk I/O, skal du trække det ud lsof. Det er et værktøj, jeg både elsker og ikke bruger nær nok. Denne CLI-kommando viser alle de filer, der i øjeblikket er åbne. Med andre ord lader det brugere gennemgå alle filer, der læses fra eller skrives til.

Det lsof kommandoen har kraftfulde muligheder, der er for mange til at dække i detaljer, for at begrænse de filtyper, der skal udsendes. En af mine favoritter er “-u” flaget til at filtrere til eller udelukke filer af brugeren, der får adgang til dem. Hvis du har en række lyssky processer (måske fra top), kan du bruge “-p”-flaget til kun at slå disse processer op (ved PID) for at se de filer, den arbejder på.

Min yndlingsmåde at lave kort arbejde på lsof’s output er at røre det ind i grep og se hvad jeg kan finde. På denne måde kan jeg søge efter ethvert mønster, der er til stede, uanset om det er bruger, sti eller noget andet, jeg kan komme i tanke om.

Det er ligeglad, hvis jeg afkoder

Leder du efter et fugleperspektiv af al hardwaren på dit system? Se ikke længere end dmidecode.

Eksekverer dmidecode i skallen med superbrugerrettigheder vil udskrive en oversigt over din systemhardware, med en liste over mærket, modellen og tilstandene for det udstyr, som dit OS sidder oven på. Dette er især nyttigt, hvis du bruger en mere gør-det-selv-smag af Linux eller forsøger at få usædvanlig hardware til at være funktionel.

For eksempel, hvis du har brug for at installere et ikke-standard kernemodul, kører dmidecode vil informere dig om, hvilken enhed systemet registrerer, og dermed hvilket modul du skal tilføje.

Linux er ikke en destination, det er en proces

Hvis tingene begynder at blive rigtig behårede, kan du begynde at grave i dit systems funktion på lavere niveau.

Først på vores dybe dyk er /proc vejviser. I modsætning til typiske mapper, der fortsætter med statisk indhold mellem støvlerne, /proc bliver dynamisk udfyldt med information læst fra kernen og hardware ved opstart, opdateret løbende under drift og fjernet ved nedlukning. Da alt her behandles som en fil, er det eneste, brugerne skal gøre, at læse filerne for at se, hvad der er skrevet til dem.

Jeg kunne helt sikkert godt holde ud at sætte mig bedre ind i, hvad der er her, men nogle pirringer gav interessante fund. For eksempel kan du se monteringsmulighederne for alle dine fysiske diske. Du kan også få tællinger for mislykkede kerneoperationer som hænger og panik. Du kan endda gennemse alle hardware-drivere, der er indlæst ved opstart.

For at give et mere konkret eksempel kunne jeg godt se mig selv dumpe ud /proc/scsi/device_info for at kontrollere, hvorfor en indsat SCSI-grænseflade ikke blev fundet. Du skal måske være lidt kreativ med /procmen det vil ikke skuffe, hvis du gør det.

Hent ‘dmesg’

Apropos kernen, så kan du opdage præcis, hvad den har lavet ved at køre dmesg med superbrugerautoritet. Dette udsender kerneloggen til din konsol i kronologisk rækkefølge fra opstart. Hvis kernen nogensinde har prøvet at arbejde med noget hardware og kom til kort, vil den journalføre sin afviste fremrykning her.

Mens du sandsynligvis ikke behøver at ty til dmesg ofte er det en kommando, som enhver Linux-bruger har brug for at kende, udelukkende på grund af hvor hurtigt den lader dig komme til bunds i hardwareproblemer. Det er den kommando, som forumbeboere forventer, at du kører, så de kan få det, de har brug for, for at vide, hvilken retning de skal pege dig på.

Linux er fyldt med alle mulige fantastiske systemdiagnoseværktøjer, men når noget på dit system går galt, vil du sandsynligvis ikke gøre det med dem ovenfor.

lignende indlæg

Leave a Reply