...

Linux procfs for administratorer: oversigt over vigtige filer

Das Linux procfs viser kerneens aktuelle tilstand via virtuelle filer under /proc. For administrationen er især belastning, hukommelse, processer, fildeskriptorer og blokenheder relevante. Det er afgørende at forstå sammenhængen: Nogle værdier er øjebliksbilleder, andre er tællere siden opstart eller glidende gennemsnit. Du bør derfor aldrig kun se på en enkelt værdi, men sammenholde den med relevante signaler og konteksten for værten, VM’en eller containeren.

Forstå procfs: virtuel kernevisning i stedet for datalager

Das procfs er et virtuelt filsystem: Posterne under /proc afspejler datastrukturer og tilstande i den kørende Linux-kerne. De findes ikke som permanent gemt indhold på et lagringsmedie. Når der læses, genererer kernen den pågældende visning ud fra sin aktuelle tilstand; efter en genstart starter mange tællere for eksempel forfra. Derfor er /proc en grænseflade til overvågning og delvis styring, ikke et sted til egne filer eller permanente konfigurationer.

I forbindelse med administrationen skal der skelnes mellem tre områder. Globale statusfiler som /proc/meminfo, /proc/stat eller /proc/loadavg leverer nøgletal, der dækker hele kernen. Mapper med numeriske navne, f.eks. /proc/1234, leverer detaljer om en enkelt proces. Under /proc/sys findes derimod kerneparametre, som afhængigt af adgangsrettigheder og parametre både kan læses og skrives til. Den lignende filstruktur må ikke skjule, at statusforespørgsler og konfigurationsændringer har fundamentalt forskellige konsekvenser.

Hvilke stier og felter der findes, er ikke det samme på alle Linux-systemer. Kernelversion og -konfiguration, arkitektur, genkendt hardware samt indlæste moduler påvirker de synlige poster. Også navnerum ændrer de enkelte visninger. Et procfs, der er forbundet med et PID-navneområde, begrænser især proces- og PID-visningen; det betyder dog ikke, at globale filer automatisk viser container- eller cgroup-specifikke værdier. Skripter bør kontrollere filer og felter, før de analyserer deres indhold, i stedet for at antage, at der findes en fuldstændig procfs-struktur, der er den samme overalt.

Dette skal adskilles fra sysfs under /sys: Det viser primært enheder, drivere og hardwareobjekter. cgroup2 er desuden relevant for ressourcefordeling og begrænsninger for grupper. procfs forbliver dog den direkte kilde til mange kerne- og processtilstande, som er nødvendige ved en indledende diagnose.

At sætte tællere, øjebliksbilleder og synlighed i den rette sammenhæng

Værdien i sig selv forklarer sjældent et problem i procfs. Først skal dens tidsmæssige sammenhæng afklares: Nogle oplysninger er kumulative tællere siden systemstart, andre beskriver en aktuel tilstand, mens andre igen afspejler glidende tidsvinduer. En høj tællerstand viser i første omgang blot, at en begivenhed har akkumuleret sig siden opstart. En hastighed opstår først ud fra to målepunkter: forskellen mellem værdierne divideret med det mellemliggende tidsinterval. Dette gælder for eksempel for mange CPU-, interrupt- og datamedietællere.

Filen /proc/uptime angiver den samlede driftstid og den samlede inaktivitetstid. Den hjælper med at placere tællere tidsmæssigt siden opstart, men erstatter ikke en måleserie. En engangsforespørgsel er et øjebliksbillede; for at kunne drage pålidelige konklusioner om tendenser, spidsbelastninger eller tilbagevendende belastning kræves der gentagne forespørgsler med tidsstempel. Værdierne kan dog ændre sig allerede under aflæsningen, fordi kernen fortsætter med at arbejde.

Selv de synlige data har deres begrænsninger. /proc/self henviser altid til den proces, der netop løser stien. Det gør den praktisk til scripts og interaktive kontroller uden at skulle antage en PID. Adgangen til andre processers mapper kan dog begrænses af filrettigheder, Linux-capabilities og procfs-mount-optionen hidepid være begrænset. Manglende indsigt skyldes i dette tilfælde ikke en fejl i procfs, men er en beskyttelse mod udlæsning af følsomme procesoplysninger.

Der skal udvises særlig forsigtighed i containere. Et procfs, der er bundet til et PID-navneområde, viser for procesrelaterede stier kun processerne i denne navneområdesyn. Globale kernefiler som /proc/meminfo, /proc/stat eller /proc/diskstats kan derimod fortsat afspejle værdier fra værten og er ikke automatisk begrænset til containerens grænseværdier. Før enhver diagnose skal det derfor afklares, om spørgsmålet vedrører processer, globale kerneværdier eller de faktisk tildelte ressourcer; begrænsninger og forbrug i en container skal desuden indgå i cgroup2-analysen.

Læsning, konfiguration og sikring under /proc/sys

Området /proc/sys er filsystemvisningen i sysctl-grænsefladen. Aflæsning af en værdi tjener til diagnostiske formål. Skriveadgang ændrer derimod direkte den kørende kernels adfærd og kan påvirke tjenester, ressourceforbrug eller sikkerhedsfunktioner. At en ændring træder i kraft uden genstart, betyder ikke, at den er risikofri eller automatisk permanent: Persistensen afhænger af den valgte systemkonfiguration.

Mappestrukturen gør det lettere at finde rundt i starten. Under /proc/sys/fs findes blandt andet globale filsystem- og filhåndteringsparametre. /proc/sys/vm samler indstillingerne for hukommelsesstyring, mens /proc/sys/net indeholder netværksrelaterede parametre. Hvilke undermapper og nøgler der er tilgængelige, afhænger igen af kernekonfigurationen og systemets funktioner. En eksisterende parameter er derfor ikke en generel opskrift på optimering; dens dokumentation og den konkrete arbejdsbelastning er afgørende.

Et modeksempel på tilsyneladende optimering er drop_caches under /proc/sys/vm. Kernel-dokumentationen angiver, at funktionen er beregnet til fejlfinding og test, og fraråder brug til andre formål, da tømning af genanvendelige cacher kan medføre et ydelsestab. Lidt ledig hukommelse er i sig selv ikke en grund til at tømme cacher: Kernen bruger bevidst RAM også til filcache.

Der bør være en klar begrundelse for enhver ændring. Notér først udgangsværdien, dokumenter formålet og de forventede bivirkninger, foretag ændringen på en kontrolleret måde, og overvåg derefter de relevante måleværdier samt systemets adfærd. Planlæg tilbagevejen på forhånd, og overfør først en værdi til en permanent konfiguration efter en faglig gennemgang. Yderligere grundlæggende oplysninger om parametre og deres kontrollerede administration behandles i artiklen Kernel-tuning i Linux-hosting: Et overblik over Sysctl-parametre.

De vigtigste procfs-filer opdelt efter administrationsopgave

Valget af en procfs-fil bør tage udgangspunkt i det administrative behov, ikke i at få en så fuldstændig liste over mapper som muligt. Globale filer leverer ofte værdier, der gælder for hele kernen, processtier beskriver en enkelt synlig proces, og poster under /proc/sys/fs angiver konfiguration og systemomfattende grænser. Nogle værdier er aktuelle tilstande, andre er tællere, der er akkumuleret siden opstart, eller glidende gennemsnit. Denne skelnen afgør, om en enkelt aflæsning er tilstrækkelig, eller om der er behov for to målepunkter.

Vigtige procfs-filer til typiske administrationsopgaver
StiFormålTypisk spørgsmålDatatypeVigtig begrænsningSikker læseforespørgsel
/proc/loadavgsystembelastningEr der opgaver, der venter?1-, 5- og 15-minutters gennemsnitIkke udelukkende CPU-udnyttelsecat /proc/loadavg
/proc/statCPU- og kerneltællereHvordan fordeler CPU-tiden sig?Akkumuleret siden opstartiowait bør ikke vurderes isoleretgrep -E ‚^(cpu|intr|ctxt|processes)‘ /proc/stat
/proc/meminfoOversigt over lageretEr der ledig lagerplads?Aktuelle gemte værdierMemFree alene er ikke nok; i containeren er det ikke nødvendigvis cgroup-specifiktcat /proc/meminfo
/proc/pressure/cpuCPU-stopVenter opgaver på CPU'en?Tidsvindue og tæller»full« på systemniveau kan ikke fortolkes og returneres som nullcat /proc/pressure/cpu
/proc/tryk/hukommelsehukommelsestrykBlokerer lagerpladsmangel opgaver?Tidsvindue og tællerPSI skal være tilgængeligtcat /proc/pressure/memory
/proc/pressure/ioI/O-stallerEr der opgaver, der venter på I/O?Tidsvindue og tællerEr ikke en erstatning for en analyse af udstyretcat /proc/pressure/io
/proc//statusProcesstatusHvor stor og aktiv er en proces?Aktuelle procesdataRettigheder og PID-navneområdet kan begrænse adgangencat /proc/$$/status
/proc//fdÅbn deskriptorerHvilke objekter indeholder en proces?Aktuelle symbolske linksMange FD'er er ikke nødvendigvis en lækagels -l /proc/$$/fd
/proc//mapsVirtuelle kortlægningerHvilke områder omfatter en proces?Aktuel kortlægningslisteOfte for omfattende til en indledende analysecat /proc/$$/maps
/proc/diskstatsBlokudstyr-I/OHvilke enheder fungerer?Akkumuleret siden opstartRater kræver to stikprøver; værdier kan være gældende for hele værtencat /proc/diskstats
/proc/sys/fs/file-nrBrug af filhåndtagHvor mange brugernavne bruger systemet?Aktuel tæller og grænseDet midterste felt er nul på moderne Linux-systemercat /proc/sys/fs/file-nr
/proc/sys/fs/file-maxGrænse for filhåndtagHvilket globalt loft gælder?Aktiv parameterMå ikke forveksles med procesgrænsecat /proc/sys/fs/file-max

Tabellen er en hjælp til at komme i gang, ikke en diagnosekæde. En afvigende værdi kræver altid en uafhængig bekræftelse: Load med CPU- og I/O-data, hukommelsesværdier med Pressure Stall Information og procesparametre med tjenestens adfærd. Især /proc/diskstats og /proc/stat er kumulative tællere; forskellen over et kendt interval giver et mere meningsfuldt billede af hastighederne end det absolutte niveau. I containere skal man desuden kontrollere, om en fil leverer globale kernelværdier eller en oversigt, der er tilgængelig pr. cgroup. De følgende afsnit inddeler derfor signalerne efter belastning, hukommelse, processer og I/O.

Belastning, CPU og hukommelse: Samlet vurdering af signaler

Hvis systemet kører langsomt, er /proc/loadavg et godt udgangspunkt, men det giver ikke et fuldstændigt billede af CPU-belastningen. De tre værdier viser den gennemsnitlige belastning for de sidste 1, 5 og 15 minutter. Belastningen omfatter ikke kun kørbare enheder i tilstanden R, men også opgaver i den uafbrydelige ventetilstand D, f.eks. ved I/O. Det fjerde felt viser de aktuelt kørbare enheder i forhold til alle eksisterende planlægningsenheder. Høj Gennemsnitlig belastning kan derfor være et tegn på konkurrence om CPU-ressourcer, blokerede I/O-adgange eller begge dele.

Konceptuel sammenkobling af belastnings-, lagrings-, CPU- og I/O-signaler.
Konceptuel illustration: Først når flere kerneindikatorer kombineres, er det muligt at foretage en pålidelig klassificering af belastningen.
Terminal
cat /proc/loadavg
grep -E '^(cpu|intr|ctxt|processes)' /proc/stat
cat /proc/meminfo
cat /proc/pressure/memory

CPU-linjerne fra /proc/stat indeholder tidsandele siden systemstart i USER_HZ. For at beregne udnyttelsesandele ud fra disse skal to aflæsninger sammenlignes; en enkelt aflæsning viser kun den akkumulerede tid. Værdien iowait er i denne sammenhæng ikke et direkte mål for lagtid i lagringssystemet: Beregningen heraf har dokumenterede begrænsninger og kan under visse omstændigheder endda falde. For at fastslå, om årsagen ligger i I/O, er det derfor også nyttigt at se på enhedsværdier og I/O-PSI.

Selv en lav værdi for MemFree er ikke nødvendigvis tegn på RAM-mangel. Linux bruger målrettet ledig RAM til cache. MemAvailable estimerer, hvor meget hukommelse nye programmer forventeligt kan få stillet til rådighed uden swapping, og er som regel mere nyttig til en første vurdering. Først når MemAvailable bliver knap, og der samtidig opstår hukommelsesstopp, bliver tegnene på hukommelsestryk. I en container kan disse globale hukommelsesværdier dog stamme fra værten; for garanterede eller begrænsede ressourcer er cgroup2-perspektivet desuden afgørende.

Filerne under /proc/pressure supplerer dette billede. For memory og io betyder »some«, at mindst nogle opgaver ikke kom videre i en del af tidsvinduet; »full« angiver her en tilstand, hvor alle opgaver, der ikke var inaktive, var blokeret på samme tid. Værdierne »avg10«, »avg60« og »avg300« henviser til henholdsvis 10, 60 og 300 sekunder, mens »total« er en kumuleret tæller for blokeringer. For CPU er »full« på systemniveau ikke semantisk defineret og udgives siden Linux 5.13 af kompatibilitetsårsager som nul; som diagnostisk værdi skal det derfor ikke fortolkes på systemniveau. CPU-, memory- og io-PSI besvarer forskellige spørgsmål og bør ikke bruges i stedet for hinanden.

Hvis en tjeneste reagerer langsomt, når MemFree er lavt, skal du først tjekke MemAvailable og /proc/pressure/memory. Hvis begge ser normale ud, taler det imod et akut systemomfattende hukommelsespres. Derefter kan /proc//status vise, om den pågældende proces f.eks. har en høj VmRSS-værdi, mange tråde eller en usædvanlig tilstand. Denne kombination skelner mellem en cache-intensiv, men normal hukommelsesudnyttelse og et problem, der kræver yderligere procesanalyse.

Undersøgelse af processer, filbeskrivere og disk-I/O

For at sikre en sikker øvelse med en garanteret eksisterende proces står $$ for PID’en for den aktuelle shell. Statusfilen er mere læselig for mennesker end den feltbaserede stat-fil. Navnet identificerer processen, State angiver dens tilstand, PPid angiver forælderprocessen, og Threads angiver antallet af tråde. VmRSS er en hurtig tilnærmelse til resident hukommelse, hvor RSS-registreringen foregår skalerbart og asynkront og derfor kan være unøjagtig; VmSize beskriver derimod det virtuelle adresserum. FDSize beskriver størrelsen af deskriptortabellen, ikke nødvendigvis antallet af aktuelt åbne poster. Frivillige og ufrivillige kontekstskift kan hjælpe med at klassificere planlægningsadfærd, men er ikke i sig selv bevis på en fejl.

Terminal
cat /proc/$$/status
ls -l /proc/$$/fd
Adskilt præsentation af procesressourcer og systemomfattende enheds-I/O med et abstrakt formidlingslag.
Konceptuel illustration: Procesdata og blokudstyrs I/O er separate analyseniveauer, som ikke kan tilordnes direkte én til én.

fd-mappen indeholder symbolske links til åbne filer, pipes, enheder eller sockets. Den kan f.eks. hjælpe med at finde en proces, der fortsat holder en slettet logfil åben. Et stort antal åbne fildeskriptorer er dog helt forventeligt i forbindelse med proxyservere, databaser eller hændelsesorienterede servere. Til filtrerede visninger og tildeling på tværs af processer er Brug lsof til at analysere åbne filer et passende supplement. Kommandolinjer fra cmdline kan afsløre fortrolige argumenter; environ er endnu mere følsomt på grund af mulige adgangsoplysninger eller tokens og bør derfor ikke bruges til rutinemæssige forespørgsler.

maps viser en liste over virtuelle hukommelsesområder med tilladelser, offset, enhed, inode og eventuelt sti. smaps supplerer med detaljerede hukommelsesværdier for hvert mapping og leverer et mere præcist, men mere ressourcekrævende øjebliksbillede end RSS-oplysningerne. Begge filer er beregnet til dybdegående hukommelsesanalyser: Deres output kan være omfattende, og fortolkningen af de enkelte mappinger kræver kontekst. Ved en første gennemgang er status samt de systemdækkende hukommelses- og PSI-filer som regel mere effektive.

Ved høj belastning og lav CPU-udnyttelse udvider /proc/diskstats diagnosticeringen til enhedsniveauet. Filen fører kumulative I/O-statistikker for hvert blokenhed. For at vurdere aktiviteten som en hastighed skal to tidspunkter sammenlignes. Her skal der skelnes klart mellem fysiske drev, partitioner og virtuelle enheder eller Device Mapper-enheder; tællere på forskellige niveauer må ikke blot lægges sammen uden videre. En proces’ åbne fildeskriptor kan ikke umiddelbart tilknyttes en diskstats-enhedstæller: Filsystemet, cachen og mappingslagene ligger imellem. Sammen med /proc/pressure/io kan man dog kontrollere, om observerbare I/O-stops og enhedsaktivitet falder sammen tidsmæssigt.

procfs i drift: Forespørgsler, overvågning og databeskyttelse

For at kunne udføre gentagelige driftsdiagnoser skal du behandle procfs-forespørgsler som målepunkter: Du noterer tidsstempel, systemkontekst og den konkrete forespørgsel. Mange værdier er kumulerede tællere siden opstart; først når forskellen mellem to værdier divideres med tidsintervallet, får man en hastighed. Dette gælder for eksempel for tællere fra /proc/diskstats. En enkelt forespørgsel kan derfor påvise aktivitet, men kan hverken pålideligt kvantificere gennemstrømningen eller en vedvarende forringelse.

Et overvågningssystem bør med faste intervaller blandt andet indhente lagerværdier fra /proc/meminfo, enhedsværdier fra /proc/diskstats, registrere proces- og systemtilstande samt udskriftssignaler, hvis der er kernelunderstøttelse til rådighed. Den skal konvertere råværdier til passende enheder, beregne forskelle for tællere og gemme historik. I containere må det ikke sidestille globale procfs-værdier med arbejdsbelastningens ressourcebegrænsninger: Processpor kan være begrænset til PID-navneområdet, mens hukommelses- eller enhedsværdier delvist afspejler værten. For begrænsninger og udnyttelse af en gruppe er supplerende cgroup2-metrikker nødvendige. Kun tidsmæssige forløb muliggør pålidelige tærskelværdier: En høj værdi kan være normal, hvis den passer ind i det forventede belastningsvindue; en pludselig stigning i forhold til den egne baseline er ofte mere relevant. De tilgængelige procfs-poster afhænger af den kørende kerne og dens konfiguration.

Direkte filer og værktøjer supplerer hinanden. ps, top eller htop er egnet til den interaktive procesvisning; free, vmstat, iostat, pidstat, ss og sar Afhængigt af installationen forbereder de data til bestemte spørgsmål. procfs er stadig nyttigt, hvis du vil tjekke kernelkilden direkte eller oprette et lille, overskueligt script. Til alarmering og kapacitetsplanlægning er tidsseriedata som regel det mest passende niveau.

Der gælder også synlighedsbegrænsninger for rent læsebaserede forespørgsler. Adgangsrettigheder, mount-indstillinger og PID-navneområder kan skjule procesdata eller begrænse dem til en container-visning. Omvendt betyder en separat /proc-montering ikke, at hver global kernefiler kun indeholder data fra containeren. En manglende procespost eller en uventet høj global værdi er derfor i første omgang en indikation på, at man bør afklare kørselsmiljøet, monteringsindstillingerne og cgroup-konteksten.

Diagnoseforløb for langsomme tjenester og ressourceflaskehalse

Fejlfinding starter med et symptom, ikke med en enkelt værdi, der formodes at være årsagen. Kontroller derefter mindst ét uafhængigt signal, og noter, om observationen vedrører værten, en virtuel maskine eller en container. På den måde undgår du for eksempel at vurdere en høj belastning forhastet som et CPU-problem eller et stort antal åbne deskriptorer forhastet som et lækageproblem. De følgende fremgangsmåder er indledende læsebaserede diagnoser og erstatter ikke applikationsrelaterede logfiler.

Kompakte diagnoseforløb med procfs
SymptomLæs førstJuster derefterUndgå fejltolkninger
Høj belastning/proc/loadavg/proc/stat, /proc/pressure/io, /proc/diskstatsBelastningen omfatter opgaver, der kører, og opgaver, der venter uden afbrydelse, ikke blot CPU-arbejde.
Anslået lagertryk/proc/meminfo/proc/pressure/memory, /proc//statusEt lavt MemFree-tal er i sig selv ikke bevis på manglende RAM; MemAvailable og Stalls tæller også med.
Markant I/O-ventetid/proc/stat/proc/pressure/io, /proc/diskstats ved to målepunkteriowait er ikke en direkte måling af ventetiden og har dokumenterede begrænsninger.
Mange åbne filer/proc/sys/fs/file-nr og /proc/sys/fs/file-max/proc//fd, tjenesteadfærdMange deskriptorer kan være normale for en server; grænser og vækst er vigtigere.
Tjenesten starter ikke/proc//status, hvis der opstår en proces/proc//fd, tjenestelog, brugte ressourcerEn usynlig proces kan være afsluttet eller køre uden for det synlige PID-navneområde.

Ved en høj Load Average skal du først kontrollere, om det er kørende eller ventende opgaver, der driver tallet op. Belastningsoplysningerne viser gennemsnitsværdier over et, fem og 15 minutter og tager højde for både R- og D-tilstande. Du bør derfor kun med forsigtighed sammenligne CPU-tidsfelter med I/O-belastning og enhedsaktivitet. Især iowait må ikke fortolkes isoleret som lagerlatens.

Ved langsom anvendelse og lav MemFree er MemAvailable den bedste første kontekstværdi. Tilføj hukommelses-PSI og status for den pågældende proces, f.eks. dens VmRSS, antal tråde og tilstand. PSI skelner mellem følgende i forbindelse med hukommelse og I/O: some for delvist blokerede opgaver og full til fuldstændig blokering af ikke-idler-opgaver. Hvis PSI-filer mangler, kan dette skyldes kernekonfigurationen eller miljøet; det udelukker ikke, at der er tale om en flaskehals.

Til fil- og procesdiagnoser kan rettigheder og PID-navneområder begrænser informationsværdien. I containere beskriver /proc ofte kun den tildelte procesverden. Ved afvist adgang eller ufuldstændige mapper skal du derfor kontrollere brugerrettigheder, procfs-mount-indstillinger og navnerums-konteksten, før du drager en teknisk konklusion ud fra fraværet af data.

Rette typiske misforståelser og vælge de rette værktøjer

Fire fejl, der ofte fører til forkerte handlinger i forbindelse med Linux-administration. Få MemFree betyder ikke automatisk, at der er mangel på RAM, da kernen blandt andet bruger hukommelsen som cache; for nye applikationer er MemAvailable det mere sigende skøn. En høj belastning er ikke et tegn på CPU-mætning, da også opgaver, der venter uden at kunne afbrydes, indgår i beregningen. En høj andel af iowait måler ikke en datamedies umiddelbare latenstid. Og procfs er ikke identisk overalt: Kernelversion, konfiguration, hardware, moduler og navnerum påvirker filer og felter.

Vælg metoden ud fra spørgsmålet. Til en punktuel årsagsanalyse giver procfs direkte rådata fra den kørende kerne. For at få et hurtigt, menneskeligt læsbart overblik er specialiserede kommandolinjeværktøjer som regel mere effektive. Når tendenser, alarmer eller kapacitetsbeslutninger er afgørende, har du brug for en overvågning, der placerer målepunkter i en tidsmæssig sammenhæng, beregner forskelle mellem tællere og opbevarer historiske sammenligningsværdier. Ved ressourcebegrænsninger for enkelte tjenester eller containere supplerer en analyse på cgroup-niveau den globale værtsoversigt; PSI kan, hvis det er konfigureret korrekt, også være tilgængeligt pr. cgroup.

Der skal udvises særlig tilbageholdenhed i forbindelse med /proc/sys. At læse en parameter er en diagnostisk handling, mens at skrive til den ændrer kerneadfærden. Du bør kun ændre en værdi, hvis årsagen er forstået, udgangsværdien er dokumenteret, virkningerne kan observeres, og der er en vej tilbage. Mapperne fs, vm og net inddeler parametrene efter emne, men giver ikke nogen universelle indstillingsanbefalinger.

Eksemplet drop_caches viser forskellen mellem indgreb og optimering: Kernel-dokumentationen beskriver grænsefladen som ikke-destruktiv, advarer dog mod ydelsesproblemer og anbefaler ikke, at den anvendes som en almindelig driftsforanstaltning uden for test- eller fejlfindingsscenarier. En forsigtig regel lyder derfor: Mål først, foretag derefter en velbegrundet og begrænset ændring, observer virkningen og bivirkningerne, og dokumentér beslutningen.

Kilder og den aktuelle videnskabelige viden

Status for undersøgelsen:

Oplysningerne er opdateret pr. 22. september 2026. De synlige procfs-stier og -felter kan variere afhængigt af kerneversion, konfiguration, hardware, navnerum og rettigheder. Den kernel-dokumentation, der er anvendt til drop_caches og netværksparametre, er versionsafhængig; tjek dokumentationen for den anvendte kernel, hvis kernelversionen er en anden.

https://docs.kernel.org/filesystems/proc.html

https://docs.kernel.org/admin-guide/sysctl/

https://docs.kernel.org/admin-guide/sysctl/fs.html

https://docs.kernel.org/5.17/admin-guide/sysctl/vm.html

https://docs.kernel.org/7.1/admin-guide/sysctl/net.html

https://man7.org/linux/man-pages/man5/proc_loadavg.5.html

https://www.man7.org/linux/man-pages/man5/proc_stat.5.html

https://www.man7.org/linux/man-pages/man5/proc_meminfo.5.html

https://docs.kernel.org/accounting/psi.html

https://man7.org/linux/man-pages/man5/proc_pid_status.5.html

https://man7.org/linux/man-pages/man5/proc_diskstats.5.html

Aktuelle artikler

Konceptuel fremstilling af kerntilstande, der kan ses via procfs.
Administration

Linux procfs for administratorer: oversigt over vigtige filer

procfs giver direkte indsigt i den kørende Linux-kerne. Denne vejledning forklarer vigtige filer under /proc, beskriver tællere og øjebliksbilleder og viser sikre diagnostiske metoder til belastning, hukommelse, processer, I/O og sysctl-parametre.

Konceptuel fremstilling af en primærserver med to replikaer og en kontinuerlig replikeringsstrøm.
Databaser

Sådan forstår du Redis-replikationsbacklog: PSYNC, størrelse og HA-grænser

Redis-replikationsbackloggen gemmer et begrænset udsnit af replikationsstrømmen. Den gør det ofte muligt at udføre en PSYNC i stedet for en fuld resync efter korte forbindelsesafbrydelser, men erstatter hverken persistent datalagring eller et gennemtænkt højtilgængelighedskoncept.