{"id":21649,"date":"2026-09-22T12:58:28","date_gmt":"2026-09-22T10:58:28","guid":{"rendered":"https:\/\/webhosting.de\/?p=21649"},"modified":"2026-09-22T12:58:31","modified_gmt":"2026-09-22T10:58:31","slug":"linux-procfs-for-administratorer","status":"publish","type":"post","link":"https:\/\/webhosting.de\/da\/linux-procfs-fuer-administratoren\/","title":{"rendered":"Linux procfs for administratorer: oversigt over vigtige filer"},"content":{"rendered":"<div class=\"wh-article\"><p class=\"wh-lead\">Das <strong>Linux procfs<\/strong> viser kerneens aktuelle tilstand via virtuelle filer under \/proc. For administrationen er is\u00e6r belastning, hukommelse, processer, fildeskriptorer og blokenheder relevante. Det er afg\u00f8rende at forst\u00e5 sammenh\u00e6ngen: Nogle v\u00e6rdier er \u00f8jebliksbilleder, andre er t\u00e6llere siden opstart eller glidende gennemsnit. Du b\u00f8r derfor aldrig kun se p\u00e5 en enkelt v\u00e6rdi, men sammenholde den med relevante signaler og konteksten for v\u00e6rten, VM\u2019en eller containeren.  <\/p><nav class=\"wh-toc\" aria-label=\"Indholdet af denne artikel\"><p class=\"wh-toc-title\">G\u00e5 direkte til afsnittet<\/p><div class=\"wh-toc-grid\"><a class=\"wh-toc-link\" href=\"#proc-basics\">Forst\u00e5 procfs: virtuel kernevisning i stedet for datalager<\/a><a class=\"wh-toc-link\" href=\"#proc-time-context\">At s\u00e6tte t\u00e6llere, \u00f8jebliksbilleder og synlighed i den rette sammenh\u00e6ng<\/a><br><a class=\"wh-toc-link\" href=\"#proc-sysctl-boundary\">L\u00e6sning, konfiguration og sikring under \/proc\/sys<\/a><br><a class=\"wh-toc-link\" href=\"#proc-overview-table\">De vigtigste procfs-filer opdelt efter administrationsopgave<\/a><br><a class=\"wh-toc-link\" href=\"#proc-load-memory\">Belastning, CPU og hukommelse<\/a><br><a class=\"wh-toc-link\" href=\"#proc-process-io\">Unders\u00f8gelse af processer og datamedier-I\/O<\/a><br><a class=\"wh-toc-link\" href=\"#proc-monitoring\">procfs i drift: Foresp\u00f8rgsler, overv\u00e5gning og databeskyttelse<\/a><br><a class=\"wh-toc-link\" href=\"#proc-troubleshooting\">Diagnoseforl\u00f8b for langsomme tjenester og ressourceflaskehalse<\/a><br><a class=\"wh-toc-link\" href=\"#proc-decisions\">Rette typiske misforst\u00e5elser og v\u00e6lge de rette v\u00e6rkt\u00f8jer<\/a><\/div><\/nav><h2 id=\"proc-basics\">Forst\u00e5 procfs: virtuel kernevisning i stedet for datalager<\/h2><p>Das <strong>procfs<\/strong> er et virtuelt filsystem: Posterne under \/proc afspejler datastrukturer og tilstande i den k\u00f8rende Linux-kerne. De findes ikke som permanent gemt indhold p\u00e5 et lagringsmedie. N\u00e5r der l\u00e6ses, genererer kernen den p\u00e5g\u00e6ldende visning ud fra sin aktuelle tilstand; efter en genstart starter mange t\u00e6llere for eksempel forfra. Derfor er \/proc en gr\u00e6nseflade til overv\u00e5gning og delvis styring, ikke et sted til egne filer eller permanente konfigurationer.  <\/p><p>I forbindelse med administrationen skal der skelnes mellem tre omr\u00e5der. Globale statusfiler som \/proc\/meminfo, \/proc\/stat eller \/proc\/loadavg leverer n\u00f8gletal, der d\u00e6kker hele kernen. Mapper med numeriske navne, f.eks. \/proc\/1234, leverer detaljer om en enkelt proces. Under \/proc\/sys findes derimod kerneparametre, som afh\u00e6ngigt af adgangsrettigheder og parametre b\u00e5de kan l\u00e6ses og skrives til. Den lignende filstruktur m\u00e5 ikke skjule, at statusforesp\u00f8rgsler og konfigurations\u00e6ndringer har fundamentalt forskellige konsekvenser.  <\/p><p>Hvilke stier og felter der findes, er ikke det samme p\u00e5 alle Linux-systemer. Kernelversion og -konfiguration, arkitektur, genkendt hardware samt indl\u00e6ste moduler p\u00e5virker de synlige poster. Ogs\u00e5 navnerum \u00e6ndrer de enkelte visninger. Et procfs, der er forbundet med et PID-navneomr\u00e5de, begr\u00e6nser is\u00e6r proces- og PID-visningen; det betyder dog ikke, at globale filer automatisk viser container- eller cgroup-specifikke v\u00e6rdier. Skripter b\u00f8r kontrollere filer og felter, f\u00f8r de analyserer deres indhold, i stedet for at antage, at der findes en fuldst\u00e6ndig procfs-struktur, der er den samme overalt.  <\/p><p>Dette skal adskilles fra sysfs under \/sys: Det viser prim\u00e6rt enheder, drivere og hardwareobjekter. cgroup2 er desuden relevant for ressourcefordeling og begr\u00e6nsninger for grupper. procfs forbliver dog den direkte kilde til mange kerne- og processtilstande, som er n\u00f8dvendige ved en indledende diagnose.  <\/p><h2 id=\"proc-time-context\">At s\u00e6tte t\u00e6llere, \u00f8jebliksbilleder og synlighed i den rette sammenh\u00e6ng<\/h2><p>V\u00e6rdien i sig selv forklarer sj\u00e6ldent et problem i procfs. F\u00f8rst skal dens tidsm\u00e6ssige sammenh\u00e6ng afklares: Nogle oplysninger er <strong>kumulative t\u00e6llere<\/strong> siden systemstart, andre beskriver en aktuel tilstand, mens andre igen afspejler glidende tidsvinduer. En h\u00f8j t\u00e6llerstand viser i f\u00f8rste omgang blot, at en begivenhed har akkumuleret sig siden opstart. En hastighed opst\u00e5r f\u00f8rst ud fra to m\u00e5lepunkter: forskellen mellem v\u00e6rdierne divideret med det mellemliggende tidsinterval. Dette g\u00e6lder for eksempel for mange CPU-, interrupt- og datamediet\u00e6llere.  <\/p><p>Filen \/proc\/uptime angiver den samlede driftstid og den samlede inaktivitetstid. Den hj\u00e6lper med at placere t\u00e6llere tidsm\u00e6ssigt siden opstart, men erstatter ikke en m\u00e5leserie. En engangsforesp\u00f8rgsel er et \u00f8jebliksbillede; for at kunne drage p\u00e5lidelige konklusioner om tendenser, spidsbelastninger eller tilbagevendende belastning kr\u00e6ves der gentagne foresp\u00f8rgsler med tidsstempel. V\u00e6rdierne kan dog \u00e6ndre sig allerede under afl\u00e6sningen, fordi kernen forts\u00e6tter med at arbejde.  <\/p><p>Selv de synlige data har deres begr\u00e6nsninger. \/proc\/self henviser altid til den proces, der netop l\u00f8ser stien. Det g\u00f8r den praktisk til scripts og interaktive kontroller uden at skulle antage en PID. Adgangen til andre processers mapper kan dog begr\u00e6nses af filrettigheder, Linux-capabilities og procfs-mount-optionen <code data-no-translation=\"\">hidepid<\/code> v\u00e6re begr\u00e6nset. Manglende indsigt skyldes i dette tilf\u00e6lde ikke en fejl i procfs, men er en beskyttelse mod udl\u00e6sning af f\u00f8lsomme procesoplysninger.  <\/p><p>Der skal udvises s\u00e6rlig forsigtighed i containere. Et procfs, der er bundet til et PID-navneomr\u00e5de, viser for procesrelaterede stier kun processerne i denne navneomr\u00e5desyn. Globale kernefiler som \/proc\/meminfo, \/proc\/stat eller \/proc\/diskstats kan derimod fortsat afspejle v\u00e6rdier fra v\u00e6rten og er ikke automatisk begr\u00e6nset til containerens gr\u00e6nsev\u00e6rdier. F\u00f8r enhver diagnose skal det derfor afklares, om sp\u00f8rgsm\u00e5let vedr\u00f8rer processer, globale kernev\u00e6rdier eller de faktisk tildelte ressourcer; begr\u00e6nsninger og forbrug i en container skal desuden indg\u00e5 i cgroup2-analysen.  <\/p><h2 id=\"proc-sysctl-boundary\">L\u00e6sning, konfiguration og sikring under \/proc\/sys<\/h2><p>Omr\u00e5det <strong>\/proc\/sys<\/strong> er filsystemvisningen i sysctl-gr\u00e6nsefladen. Afl\u00e6sning af en v\u00e6rdi tjener til diagnostiske form\u00e5l. Skriveadgang \u00e6ndrer derimod direkte den k\u00f8rende kernels adf\u00e6rd og kan p\u00e5virke tjenester, ressourceforbrug eller sikkerhedsfunktioner. At en \u00e6ndring tr\u00e6der i kraft uden genstart, betyder ikke, at den er risikofri eller automatisk permanent: Persistensen afh\u00e6nger af den valgte systemkonfiguration.  <\/p><p>Mappestrukturen g\u00f8r det lettere at finde rundt i starten. Under \/proc\/sys\/fs findes blandt andet globale filsystem- og filh\u00e5ndteringsparametre. \/proc\/sys\/vm samler indstillingerne for hukommelsesstyring, mens \/proc\/sys\/net indeholder netv\u00e6rksrelaterede parametre. Hvilke undermapper og n\u00f8gler der er tilg\u00e6ngelige, afh\u00e6nger igen af kernekonfigurationen og systemets funktioner. En eksisterende parameter er derfor ikke en generel opskrift p\u00e5 optimering; dens dokumentation og den konkrete arbejdsbelastning er afg\u00f8rende.    <\/p><p>Et modeksempel p\u00e5 tilsyneladende optimering er <code data-no-translation=\"\">drop_caches<\/code> under \/proc\/sys\/vm. Kernel-dokumentationen angiver, at funktionen er beregnet til fejlfinding og test, og frar\u00e5der brug til andre form\u00e5l, da t\u00f8mning af genanvendelige cacher kan medf\u00f8re et ydelsestab. Lidt ledig hukommelse er i sig selv ikke en grund til at t\u00f8mme cacher: Kernen bruger bevidst RAM ogs\u00e5 til filcache.  <\/p><p>Der b\u00f8r v\u00e6re en klar begrundelse for enhver \u00e6ndring. Not\u00e9r f\u00f8rst udgangsv\u00e6rdien, dokumenter form\u00e5let og de forventede bivirkninger, foretag \u00e6ndringen p\u00e5 en kontrolleret m\u00e5de, og overv\u00e5g derefter de relevante m\u00e5lev\u00e6rdier samt systemets adf\u00e6rd. Planl\u00e6g tilbagevejen p\u00e5 forh\u00e5nd, og overf\u00f8r f\u00f8rst en v\u00e6rdi til en permanent konfiguration efter en faglig gennemgang. Yderligere grundl\u00e6ggende oplysninger om parametre og deres kontrollerede administration behandles i artiklen <a href=\"https:\/\/webhosting.de\/da\/kernel-tuning-linux-sysctl-parameter-serverboost-opti\/\">Kernel-tuning i Linux-hosting: Et overblik over Sysctl-parametre<\/a>.<\/p><h2 id=\"proc-overview-table\">De vigtigste procfs-filer opdelt efter administrationsopgave<\/h2><p>Valget af en procfs-fil b\u00f8r tage udgangspunkt i det administrative behov, ikke i at f\u00e5 en s\u00e5 fuldst\u00e6ndig liste over mapper som muligt. Globale filer leverer ofte v\u00e6rdier, der g\u00e6lder for hele kernen, processtier beskriver en enkelt synlig proces, og poster under \/proc\/sys\/fs angiver konfiguration og systemomfattende gr\u00e6nser. Nogle v\u00e6rdier er aktuelle tilstande, andre er t\u00e6llere, der er akkumuleret siden opstart, eller glidende gennemsnit. Denne skelnen afg\u00f8r, om en enkelt afl\u00e6sning er tilstr\u00e6kkelig, eller om der er behov for to m\u00e5lepunkter. <\/p><div class=\"wh-table-scroll\" tabindex=\"0\" role=\"region\" aria-label=\"Vigtige procfs-filer til typiske administrationsopgaver\"><table><caption>Vigtige procfs-filer til typiske administrationsopgaver<\/caption><thead><tr><th scope=\"col\">Sti<\/th><th scope=\"col\">Form\u00e5l<\/th><th scope=\"col\">Typisk sp\u00f8rgsm\u00e5l<\/th><th scope=\"col\">Datatype<\/th><th scope=\"col\">Vigtig begr\u00e6nsning<\/th><th scope=\"col\">Sikker l\u00e6seforesp\u00f8rgsel<\/th><\/tr><\/thead><tbody><tr><td>\/proc\/loadavg<\/td><td>systembelastning<\/td><td>Er der opgaver, der venter?<\/td><td>1-, 5- og 15-minutters gennemsnit<\/td><td>Ikke udelukkende CPU-udnyttelse<\/td><td>cat \/proc\/loadavg<\/td><\/tr><tr><td>\/proc\/stat<\/td><td>CPU- og kernelt\u00e6llere<\/td><td>Hvordan fordeler CPU-tiden sig?<\/td><td>Akkumuleret siden opstart<\/td><td>iowait b\u00f8r ikke vurderes isoleret<\/td><td>grep -E \u201a^(cpu|intr|ctxt|processes)\u2018 \/proc\/stat<\/td><\/tr><tr><td>\/proc\/meminfo<\/td><td>Oversigt over lageret<\/td><td>Er der ledig lagerplads?<\/td><td>Aktuelle gemte v\u00e6rdier<\/td><td>MemFree alene er ikke nok; i containeren er det ikke n\u00f8dvendigvis cgroup-specifikt<\/td><td>cat \/proc\/meminfo<\/td><\/tr><tr><td>\/proc\/pressure\/cpu<\/td><td>CPU-stop<\/td><td>Venter opgaver p\u00e5 CPU'en?<\/td><td>Tidsvindue og t\u00e6ller<\/td><td>\u00bbfull\u00ab p\u00e5 systemniveau kan ikke fortolkes og returneres som null<\/td><td>cat \/proc\/pressure\/cpu<\/td><\/tr><tr><td>\/proc\/tryk\/hukommelse<\/td><td>hukommelsestryk<\/td><td>Blokerer lagerpladsmangel opgaver?<\/td><td>Tidsvindue og t\u00e6ller<\/td><td>PSI skal v\u00e6re tilg\u00e6ngeligt<\/td><td>cat \/proc\/pressure\/memory<\/td><\/tr><tr><td>\/proc\/pressure\/io<\/td><td>I\/O-staller<\/td><td>Er der opgaver, der venter p\u00e5 I\/O?<\/td><td>Tidsvindue og t\u00e6ller<\/td><td>Er ikke en erstatning for en analyse af udstyret<\/td><td>cat \/proc\/pressure\/io<\/td><\/tr><tr><td>\/proc\/\/status<\/td><td>Processtatus<\/td><td>Hvor stor og aktiv er en proces?<\/td><td>Aktuelle procesdata<\/td><td>Rettigheder og PID-navneomr\u00e5det kan begr\u00e6nse adgangen<\/td><td>cat \/proc\/$$\/status<\/td><\/tr><tr><td>\/proc\/\/fd<\/td><td>\u00c5bn deskriptorer<\/td><td>Hvilke objekter indeholder en proces?<\/td><td>Aktuelle symbolske links<\/td><td>Mange FD'er er ikke n\u00f8dvendigvis en l\u00e6kage<\/td><td>ls -l \/proc\/$$\/fd<\/td><\/tr><tr><td>\/proc\/\/maps<\/td><td>Virtuelle kortl\u00e6gninger<\/td><td>Hvilke omr\u00e5der omfatter en proces?<\/td><td>Aktuel kortl\u00e6gningsliste<\/td><td>Ofte for omfattende til en indledende analyse<\/td><td>cat \/proc\/$$\/maps<\/td><\/tr><tr><td>\/proc\/diskstats<\/td><td>Blokudstyr-I\/O<\/td><td>Hvilke enheder fungerer?<\/td><td>Akkumuleret siden opstart<\/td><td>Rater kr\u00e6ver to stikpr\u00f8ver; v\u00e6rdier kan v\u00e6re g\u00e6ldende for hele v\u00e6rten<\/td><td>cat \/proc\/diskstats<\/td><\/tr><tr><td>\/proc\/sys\/fs\/file-nr<\/td><td>Brug af filh\u00e5ndtag<\/td><td>Hvor mange brugernavne bruger systemet?<\/td><td>Aktuel t\u00e6ller og gr\u00e6nse<\/td><td>Det midterste felt er nul p\u00e5 moderne Linux-systemer<\/td><td>cat \/proc\/sys\/fs\/file-nr<\/td><\/tr><tr><td>\/proc\/sys\/fs\/file-max<\/td><td>Gr\u00e6nse for filh\u00e5ndtag<\/td><td>Hvilket globalt loft g\u00e6lder?<\/td><td>Aktiv parameter<\/td><td>M\u00e5 ikke forveksles med procesgr\u00e6nse<\/td><td>cat \/proc\/sys\/fs\/file-max<\/td><\/tr><\/tbody><\/table><\/div><p>Tabellen er en hj\u00e6lp til at komme i gang, ikke en diagnosek\u00e6de. En afvigende v\u00e6rdi kr\u00e6ver altid en uafh\u00e6ngig bekr\u00e6ftelse: Load med CPU- og I\/O-data, hukommelsesv\u00e6rdier med Pressure Stall Information og procesparametre med tjenestens adf\u00e6rd. Is\u00e6r \/proc\/diskstats og \/proc\/stat er <strong>kumulative t\u00e6llere<\/strong>; 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\u00e6rdier eller en oversigt, der er tilg\u00e6ngelig pr. cgroup. De f\u00f8lgende afsnit inddeler derfor signalerne efter belastning, hukommelse, processer og I\/O.<\/p><h2 id=\"proc-load-memory\">Belastning, CPU og hukommelse: Samlet vurdering af signaler<\/h2><p>Hvis systemet k\u00f8rer langsomt, er \/proc\/loadavg et godt udgangspunkt, men det giver ikke et fuldst\u00e6ndigt billede af CPU-belastningen. De tre v\u00e6rdier viser den gennemsnitlige belastning for de sidste 1, 5 og 15 minutter. Belastningen omfatter ikke kun k\u00f8rbare enheder i tilstanden R, men ogs\u00e5 opgaver i den uafbrydelige ventetilstand D, f.eks. ved I\/O. Det fjerde felt viser de aktuelt k\u00f8rbare enheder i forhold til alle eksisterende planl\u00e6gningsenheder. H\u00f8j <strong>Gennemsnitlig belastning<\/strong> kan derfor v\u00e6re et tegn p\u00e5 konkurrence om CPU-ressourcer, blokerede I\/O-adgange eller begge dele. <\/p><figure class=\"wp-block-image size-large wh-figure\"><img loading=\"lazy\" width=\"800\" height=\"534\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/procfs-last-speicher-signale-4bfe68af-detail1-fe433c8680-1024x683.webp\" class=\"wp-image-21653\" alt=\"Konceptuel sammenkobling af belastnings-, lagrings-, CPU- og I\/O-signaler.\" decoding=\"async\" srcset=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/procfs-last-speicher-signale-4bfe68af-detail1-fe433c8680-1024x683.webp 1024w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/procfs-last-speicher-signale-4bfe68af-detail1-fe433c8680-300x200.webp 300w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/procfs-last-speicher-signale-4bfe68af-detail1-fe433c8680-768x512.webp 768w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/procfs-last-speicher-signale-4bfe68af-detail1-fe433c8680-18x12.webp 18w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/procfs-last-speicher-signale-4bfe68af-detail1-fe433c8680.webp 1536w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\"><figcaption>Konceptuel illustration: F\u00f8rst n\u00e5r flere kerneindikatorer kombineres, er det muligt at foretage en p\u00e5lidelig klassificering af belastningen.<\/figcaption><\/figure><div class=\"wh-code-window\" data-wh-code=\"\"><div class=\"wh-code-toolbar\"><span>Terminal<\/span><button type=\"button\" class=\"wh-code-copy\" data-wh-copy=\"\" hidden=\"\">Kopier kode<\/button><span class=\"wh-copy-status\" aria-live=\"polite\"><\/span><span data-wh-copy-success=\"\" hidden=\"\">Kopieret<\/span><span data-wh-copy-fallback=\"\" hidden=\"\">Kode er markeret \u2013 kopier venligst<\/span><\/div><pre class=\"wh-code\" data-no-translation=\"\" translate=\"no\"><code class=\"language-sh\">cat \/proc\/loadavg\ngrep -E '^(cpu|intr|ctxt|processes)' \/proc\/stat\ncat \/proc\/meminfo\ncat \/proc\/pressure\/memory<\/code><\/pre><\/div><p>CPU-linjerne fra \/proc\/stat indeholder tidsandele siden systemstart i USER_HZ. For at beregne udnyttelsesandele ud fra disse skal to afl\u00e6sninger sammenlignes; en enkelt afl\u00e6sning viser kun den akkumulerede tid. V\u00e6rdien iowait er i denne sammenh\u00e6ng ikke et direkte m\u00e5l for lagtid i lagringssystemet: Beregningen heraf har dokumenterede begr\u00e6nsninger og kan under visse omst\u00e6ndigheder endda falde. For at fastsl\u00e5, om \u00e5rsagen ligger i I\/O, er det derfor ogs\u00e5 nyttigt at se p\u00e5 enhedsv\u00e6rdier og I\/O-PSI. <\/p><p>Selv en lav v\u00e6rdi for MemFree er ikke n\u00f8dvendigvis tegn p\u00e5 RAM-mangel. Linux bruger m\u00e5lrettet ledig RAM til cache. MemAvailable estimerer, hvor meget hukommelse nye programmer forventeligt kan f\u00e5 stillet til r\u00e5dighed uden swapping, og er som regel mere nyttig til en f\u00f8rste vurdering. F\u00f8rst n\u00e5r MemAvailable bliver knap, og der samtidig opst\u00e5r hukommelsesstopp, bliver tegnene p\u00e5 <strong>hukommelsestryk<\/strong>. I en container kan disse globale hukommelsesv\u00e6rdier dog stamme fra v\u00e6rten; for garanterede eller begr\u00e6nsede ressourcer er cgroup2-perspektivet desuden afg\u00f8rende. <\/p><p>Filerne under \/proc\/pressure supplerer dette billede. For memory og io betyder \u00bbsome\u00ab, at mindst nogle opgaver ikke kom videre i en del af tidsvinduet; \u00bbfull\u00ab angiver her en tilstand, hvor alle opgaver, der ikke var inaktive, var blokeret p\u00e5 samme tid. V\u00e6rdierne \u00bbavg10\u00ab, \u00bbavg60\u00ab og \u00bbavg300\u00ab henviser til henholdsvis 10, 60 og 300 sekunder, mens \u00bbtotal\u00ab er en kumuleret t\u00e6ller for blokeringer. For CPU er \u00bbfull\u00ab p\u00e5 systemniveau ikke semantisk defineret og udgives siden Linux 5.13 af kompatibilitets\u00e5rsager som nul; som diagnostisk v\u00e6rdi skal det derfor ikke fortolkes p\u00e5 systemniveau. CPU-, memory- og io-PSI besvarer forskellige sp\u00f8rgsm\u00e5l og b\u00f8r ikke bruges i stedet for hinanden. <\/p><p>Hvis en tjeneste reagerer langsomt, n\u00e5r MemFree er lavt, skal du f\u00f8rst 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\u00e5g\u00e6ldende proces f.eks. har en h\u00f8j VmRSS-v\u00e6rdi, mange tr\u00e5de eller en us\u00e6dvanlig tilstand. Denne kombination skelner mellem en cache-intensiv, men normal hukommelsesudnyttelse og et problem, der kr\u00e6ver yderligere procesanalyse. <\/p><h2 id=\"proc-process-io\">Unders\u00f8gelse af processer, filbeskrivere og disk-I\/O<\/h2><p>For at sikre en sikker \u00f8velse med en garanteret eksisterende proces st\u00e5r $$ for PID\u2019en for den aktuelle shell. Statusfilen er mere l\u00e6selig for mennesker end den feltbaserede stat-fil. Navnet identificerer processen, State angiver dens tilstand, PPid angiver for\u00e6lderprocessen, og Threads angiver antallet af tr\u00e5de. VmRSS er en hurtig tiln\u00e6rmelse til resident hukommelse, hvor RSS-registreringen foreg\u00e5r skalerbart og asynkront og derfor kan v\u00e6re un\u00f8jagtig; VmSize beskriver derimod det virtuelle adresserum. FDSize beskriver st\u00f8rrelsen af deskriptortabellen, ikke n\u00f8dvendigvis antallet af aktuelt \u00e5bne poster. Frivillige og ufrivillige kontekstskift kan hj\u00e6lpe med at klassificere planl\u00e6gningsadf\u00e6rd, men er ikke i sig selv bevis p\u00e5 en fejl.  <\/p><div class=\"wh-code-window\" data-wh-code=\"\"><div class=\"wh-code-toolbar\"><span>Terminal<\/span><button type=\"button\" class=\"wh-code-copy\" data-wh-copy=\"\" hidden=\"\">Kopier kode<\/button><span class=\"wh-copy-status\" aria-live=\"polite\"><\/span><span data-wh-copy-success=\"\" hidden=\"\">Kopieret<\/span><span data-wh-copy-fallback=\"\" hidden=\"\">Kode er markeret \u2013 kopier venligst<\/span><\/div><pre class=\"wh-code\" data-no-translation=\"\" translate=\"no\"><code class=\"language-sh\">cat \/proc\/$$\/status\nls -l \/proc\/$$\/fd<\/code><\/pre><\/div><figure class=\"wp-block-image size-large wh-figure\"><img loading=\"lazy\" width=\"800\" height=\"534\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/procfs-prozess-fd-io-4bfe68af-detail2-5a910998ae-1024x683.webp\" class=\"wp-image-21654\" alt=\"Adskilt pr\u00e6sentation af procesressourcer og systemomfattende enheds-I\/O med et abstrakt formidlingslag.\" decoding=\"async\" srcset=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/procfs-prozess-fd-io-4bfe68af-detail2-5a910998ae-1024x683.webp 1024w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/procfs-prozess-fd-io-4bfe68af-detail2-5a910998ae-300x200.webp 300w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/procfs-prozess-fd-io-4bfe68af-detail2-5a910998ae-768x512.webp 768w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/procfs-prozess-fd-io-4bfe68af-detail2-5a910998ae-18x12.webp 18w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/procfs-prozess-fd-io-4bfe68af-detail2-5a910998ae.webp 1536w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\"><figcaption>Konceptuel illustration: Procesdata og blokudstyrs I\/O er separate analyseniveauer, som ikke kan tilordnes direkte \u00e9n til \u00e9n.<\/figcaption><\/figure><p>fd-mappen indeholder symbolske links til \u00e5bne filer, pipes, enheder eller sockets. Den kan f.eks. hj\u00e6lpe med at finde en proces, der fortsat holder en slettet logfil \u00e5ben. Et stort antal \u00e5bne fildeskriptorer er dog helt forventeligt i forbindelse med proxyservere, databaser eller h\u00e6ndelsesorienterede servere. Til filtrerede visninger og tildeling p\u00e5 tv\u00e6rs af processer er <a href=\"https:\/\/webhosting.de\/da\/lsof-linux-abne-filer-analyse-diagnose\/\">Brug lsof til at analysere \u00e5bne filer<\/a> et passende supplement. Kommandolinjer fra cmdline kan afsl\u00f8re fortrolige argumenter; environ er endnu mere f\u00f8lsomt p\u00e5 grund af mulige adgangsoplysninger eller tokens og b\u00f8r derfor ikke bruges til rutinem\u00e6ssige foresp\u00f8rgsler. <\/p><p>maps viser en liste over virtuelle hukommelsesomr\u00e5der med tilladelser, offset, enhed, inode og eventuelt sti. smaps supplerer med detaljerede hukommelsesv\u00e6rdier for hvert mapping og leverer et mere pr\u00e6cist, men mere ressourcekr\u00e6vende \u00f8jebliksbillede end RSS-oplysningerne. Begge filer er beregnet til dybdeg\u00e5ende hukommelsesanalyser: Deres output kan v\u00e6re omfattende, og fortolkningen af de enkelte mappinger kr\u00e6ver kontekst. Ved en f\u00f8rste gennemgang er status samt de systemd\u00e6kkende hukommelses- og PSI-filer som regel mere effektive. <\/p><p>Ved h\u00f8j belastning og lav CPU-udnyttelse udvider \/proc\/diskstats diagnosticeringen til enhedsniveauet. Filen f\u00f8rer 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\u00e6llere p\u00e5 forskellige niveauer m\u00e5 ikke blot l\u00e6gges sammen uden videre. En proces\u2019 \u00e5bne fildeskriptor kan ikke umiddelbart tilknyttes en diskstats-enhedst\u00e6ller: 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\u00e6ssigt. <\/p><h2 id=\"proc-monitoring\">procfs i drift: Foresp\u00f8rgsler, overv\u00e5gning og databeskyttelse<\/h2><p>For at kunne udf\u00f8re gentagelige driftsdiagnoser skal du behandle procfs-foresp\u00f8rgsler som m\u00e5lepunkter: Du noterer tidsstempel, systemkontekst og den konkrete foresp\u00f8rgsel. Mange v\u00e6rdier er kumulerede t\u00e6llere siden opstart; f\u00f8rst n\u00e5r forskellen mellem to v\u00e6rdier divideres med tidsintervallet, f\u00e5r man en hastighed. Dette g\u00e6lder for eksempel for t\u00e6llere fra <code data-no-translation=\"\">\/proc\/diskstats<\/code>. En enkelt foresp\u00f8rgsel kan derfor p\u00e5vise aktivitet, men kan hverken p\u00e5lideligt kvantificere gennemstr\u00f8mningen eller en vedvarende forringelse.  <\/p><p>Et overv\u00e5gningssystem b\u00f8r med faste intervaller blandt andet indhente lagerv\u00e6rdier fra <code data-no-translation=\"\">\/proc\/meminfo<\/code>, enhedsv\u00e6rdier fra <code data-no-translation=\"\">\/proc\/diskstats<\/code>, registrere proces- og systemtilstande samt udskriftssignaler, hvis der er kernelunderst\u00f8ttelse til r\u00e5dighed. Den skal konvertere r\u00e5v\u00e6rdier til passende enheder, beregne forskelle for t\u00e6llere og gemme historik. I containere m\u00e5 det ikke sidestille globale procfs-v\u00e6rdier med arbejdsbelastningens ressourcebegr\u00e6nsninger: Processpor kan v\u00e6re begr\u00e6nset til PID-navneomr\u00e5det, mens hukommelses- eller enhedsv\u00e6rdier delvist afspejler v\u00e6rten. For begr\u00e6nsninger og udnyttelse af en gruppe er supplerende cgroup2-metrikker n\u00f8dvendige. Kun tidsm\u00e6ssige forl\u00f8b muligg\u00f8r p\u00e5lidelige t\u00e6rskelv\u00e6rdier: En h\u00f8j v\u00e6rdi kan v\u00e6re normal, hvis den passer ind i det forventede belastningsvindue; en pludselig stigning i forhold til den egne baseline er ofte mere relevant. De tilg\u00e6ngelige procfs-poster afh\u00e6nger af den k\u00f8rende kerne og dens konfiguration.  <\/p><p>Direkte filer og v\u00e6rkt\u00f8jer supplerer hinanden. <code data-no-translation=\"\">ps<\/code>, <code data-no-translation=\"\">top<\/code> eller <code data-no-translation=\"\">htop<\/code> er egnet til den interaktive procesvisning; <code data-no-translation=\"\">free<\/code>, <code data-no-translation=\"\">vmstat<\/code>, <code data-no-translation=\"\">iostat<\/code>, <code data-no-translation=\"\">pidstat<\/code>, <code data-no-translation=\"\">ss<\/code> og <code data-no-translation=\"\">sar<\/code> Afh\u00e6ngigt af installationen forbereder de data til bestemte sp\u00f8rgsm\u00e5l. procfs er stadig nyttigt, hvis du vil tjekke kernelkilden direkte eller oprette et lille, overskueligt script. Til alarmering og kapacitetsplanl\u00e6gning er tidsseriedata som regel det mest passende niveau.<\/p><aside class=\"wh-callout wh-callout-warning\"><p class=\"wh-callout-title\">Videregiv ikke procesdata uden omtanke<\/p><p>Kommandolinjer kan indeholde stier, klient-id\u2019er eller adgangsdata, der ved en fejltagelse er blevet overf\u00f8rt. En process\u2019 milj\u00f8variabler er ofte endnu mere f\u00f8lsomme. Indsaml, gem og del kun disse data, hvis de er n\u00f8dvendige for fejlfinding; begr\u00e6ns adgangen til autoriserede personer.<\/p><\/aside><p>Der g\u00e6lder ogs\u00e5 synlighedsbegr\u00e6nsninger for rent l\u00e6sebaserede foresp\u00f8rgsler. Adgangsrettigheder, mount-indstillinger og PID-navneomr\u00e5der kan skjule procesdata eller begr\u00e6nse 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\u00f8j global v\u00e6rdi er derfor i f\u00f8rste omgang en indikation p\u00e5, at man b\u00f8r afklare k\u00f8rselsmilj\u00f8et, monteringsindstillingerne og cgroup-konteksten.  <\/p><h2 id=\"proc-troubleshooting\">Diagnoseforl\u00f8b for langsomme tjenester og ressourceflaskehalse<\/h2><p>Fejlfinding starter med et symptom, ikke med en enkelt v\u00e6rdi, der formodes at v\u00e6re \u00e5rsagen. Kontroller derefter mindst \u00e9t uafh\u00e6ngigt signal, og noter, om observationen vedr\u00f8rer v\u00e6rten, en virtuel maskine eller en container. P\u00e5 den m\u00e5de undg\u00e5r du for eksempel at vurdere en h\u00f8j belastning forhastet som et CPU-problem eller et stort antal \u00e5bne deskriptorer forhastet som et l\u00e6kageproblem. De f\u00f8lgende fremgangsm\u00e5der er indledende l\u00e6sebaserede diagnoser og erstatter ikke applikationsrelaterede logfiler.<\/p><div class=\"wh-table-scroll\" tabindex=\"0\" role=\"region\" aria-label=\"Kompakte diagnoseforl\u00f8b med procfs\"><table><caption>Kompakte diagnoseforl\u00f8b med procfs<\/caption><thead><tr><th scope=\"col\">Symptom<\/th><th scope=\"col\">L\u00e6s f\u00f8rst<\/th><th scope=\"col\">Juster derefter<\/th><th scope=\"col\">Undg\u00e5 fejltolkninger<\/th><\/tr><\/thead><tbody><tr><td>H\u00f8j belastning<\/td><td>\/proc\/loadavg<\/td><td>\/proc\/stat, \/proc\/pressure\/io, \/proc\/diskstats<\/td><td>Belastningen omfatter opgaver, der k\u00f8rer, og opgaver, der venter uden afbrydelse, ikke blot CPU-arbejde.<\/td><\/tr><tr><td>Ansl\u00e5et lagertryk<\/td><td>\/proc\/meminfo<\/td><td>\/proc\/pressure\/memory, \/proc\/\/status<\/td><td>Et lavt MemFree-tal er i sig selv ikke bevis p\u00e5 manglende RAM; MemAvailable og Stalls t\u00e6ller ogs\u00e5 med.<\/td><\/tr><tr><td>Markant I\/O-ventetid<\/td><td>\/proc\/stat<\/td><td>\/proc\/pressure\/io, \/proc\/diskstats ved to m\u00e5lepunkter<\/td><td>iowait er ikke en direkte m\u00e5ling af ventetiden og har dokumenterede begr\u00e6nsninger.<\/td><\/tr><tr><td>Mange \u00e5bne filer<\/td><td>\/proc\/sys\/fs\/file-nr og \/proc\/sys\/fs\/file-max<\/td><td>\/proc\/\/fd, tjenesteadf\u00e6rd<\/td><td>Mange deskriptorer kan v\u00e6re normale for en server; gr\u00e6nser og v\u00e6kst er vigtigere.<\/td><\/tr><tr><td>Tjenesten starter ikke<\/td><td>\/proc\/\/status, hvis der opst\u00e5r en proces<\/td><td>\/proc\/\/fd, tjenestelog, brugte ressourcer<\/td><td>En usynlig proces kan v\u00e6re afsluttet eller k\u00f8re uden for det synlige PID-navneomr\u00e5de.<\/td><\/tr><\/tbody><\/table><\/div><p>Ved en h\u00f8j Load Average skal du f\u00f8rst kontrollere, om det er k\u00f8rende eller ventende opgaver, der driver tallet op. Belastningsoplysningerne viser gennemsnitsv\u00e6rdier over et, fem og 15 minutter og tager h\u00f8jde for b\u00e5de R- og D-tilstande. Du b\u00f8r derfor kun med forsigtighed sammenligne CPU-tidsfelter med I\/O-belastning og enhedsaktivitet. Is\u00e6r <strong>iowait<\/strong> m\u00e5 ikke fortolkes isoleret som lagerlatens.   <\/p><p>Ved langsom anvendelse og lav MemFree er <strong>MemAvailable<\/strong> den bedste f\u00f8rste kontekstv\u00e6rdi. Tilf\u00f8j hukommelses-PSI og status for den p\u00e5g\u00e6ldende proces, f.eks. dens VmRSS, antal tr\u00e5de og tilstand. PSI skelner mellem f\u00f8lgende i forbindelse med hukommelse og I\/O: <code data-no-translation=\"\">some<\/code> for delvist blokerede opgaver og <code data-no-translation=\"\">full<\/code> til fuldst\u00e6ndig blokering af ikke-idler-opgaver. Hvis PSI-filer mangler, kan dette skyldes kernekonfigurationen eller milj\u00f8et; det udelukker ikke, at der er tale om en flaskehals.   <\/p><p>Til fil- og procesdiagnoser kan rettigheder og <strong>PID-navneomr\u00e5der<\/strong> begr\u00e6nser informationsv\u00e6rdien. I containere beskriver \/proc ofte kun den tildelte procesverden. Ved afvist adgang eller ufuldst\u00e6ndige mapper skal du derfor kontrollere brugerrettigheder, procfs-mount-indstillinger og navnerums-konteksten, f\u00f8r du drager en teknisk konklusion ud fra frav\u00e6ret af data.  <\/p><h2 id=\"proc-decisions\">Rette typiske misforst\u00e5elser og v\u00e6lge de rette v\u00e6rkt\u00f8jer<\/h2><p>Fire fejl, der ofte f\u00f8rer til forkerte handlinger i forbindelse med Linux-administration. F\u00e5 <code data-no-translation=\"\">MemFree<\/code> betyder ikke automatisk, at der er mangel p\u00e5 RAM, da kernen blandt andet bruger hukommelsen som cache; for nye applikationer er MemAvailable det mere sigende sk\u00f8n. En h\u00f8j belastning er ikke et tegn p\u00e5 CPU-m\u00e6tning, da ogs\u00e5 opgaver, der venter uden at kunne afbrydes, indg\u00e5r i beregningen. En h\u00f8j andel af iowait m\u00e5ler ikke en datamedies umiddelbare latenstid. Og procfs er ikke identisk overalt: Kernelversion, konfiguration, hardware, moduler og navnerum p\u00e5virker filer og felter.   <\/p><p>V\u00e6lg metoden ud fra sp\u00f8rgsm\u00e5let. Til en punktuel \u00e5rsagsanalyse giver <strong>procfs<\/strong> direkte r\u00e5data fra den k\u00f8rende kerne. For at f\u00e5 et hurtigt, menneskeligt l\u00e6sbart overblik er specialiserede kommandolinjev\u00e6rkt\u00f8jer som regel mere effektive. N\u00e5r tendenser, alarmer eller kapacitetsbeslutninger er afg\u00f8rende, har du brug for en overv\u00e5gning, der placerer m\u00e5lepunkter i en tidsm\u00e6ssig sammenh\u00e6ng, beregner forskelle mellem t\u00e6llere og opbevarer historiske sammenligningsv\u00e6rdier. Ved ressourcebegr\u00e6nsninger for enkelte tjenester eller containere supplerer en analyse p\u00e5 cgroup-niveau den globale v\u00e6rtsoversigt; PSI kan, hvis det er konfigureret korrekt, ogs\u00e5 v\u00e6re tilg\u00e6ngeligt pr. cgroup.  <\/p><p>Der skal udvises s\u00e6rlig tilbageholdenhed i forbindelse med <code data-no-translation=\"\">\/proc\/sys<\/code>. At l\u00e6se en parameter er en diagnostisk handling, mens at skrive til den \u00e6ndrer kerneadf\u00e6rden. Du b\u00f8r kun \u00e6ndre en v\u00e6rdi, hvis \u00e5rsagen er forst\u00e5et, udgangsv\u00e6rdien er dokumenteret, virkningerne kan observeres, og der er en vej tilbage. Mapperne <code data-no-translation=\"\">fs<\/code>, <code data-no-translation=\"\">vm<\/code> og <code data-no-translation=\"\">net<\/code> inddeler parametrene efter emne, men giver ikke nogen universelle indstillingsanbefalinger.  <\/p><p>Eksemplet <code data-no-translation=\"\">drop_caches<\/code> viser forskellen mellem indgreb og optimering: Kernel-dokumentationen beskriver gr\u00e6nsefladen 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\u00e5l f\u00f8rst, foretag derefter en velbegrundet og begr\u00e6nset \u00e6ndring, observer virkningen og bivirkningerne, og dokument\u00e9r beslutningen.  <\/p><section class=\"wh-sources\"><h2>Kilder og den aktuelle videnskabelige viden<\/h2><p>Status for unders\u00f8gelsen: <time datetime=\"2026-09-22\">2026-09-22<\/time><\/p><p>Oplysningerne er opdateret pr. 22. september 2026. De synlige procfs-stier og -felter kan variere afh\u00e6ngigt af kerneversion, konfiguration, hardware, navnerum og rettigheder. Den kernel-dokumentation, der er anvendt til drop_caches og netv\u00e6rksparametre, er versionsafh\u00e6ngig; tjek dokumentationen for den anvendte kernel, hvis kernelversionen er en anden.<\/p><div class=\"wh-source-urls\"><p><span class=\"wh-source-url\" data-no-translation=\"\" dir=\"ltr\">https:\/\/docs.kernel.org\/filesystems\/proc.html<\/span><\/p><p><span class=\"wh-source-url\" data-no-translation=\"\" dir=\"ltr\">https:\/\/docs.kernel.org\/admin-guide\/sysctl\/<\/span><\/p><p><span class=\"wh-source-url\" data-no-translation=\"\" dir=\"ltr\">https:\/\/docs.kernel.org\/admin-guide\/sysctl\/fs.html<\/span><\/p><p><span class=\"wh-source-url\" data-no-translation=\"\" dir=\"ltr\">https:\/\/docs.kernel.org\/5.17\/admin-guide\/sysctl\/vm.html<\/span><\/p><p><span class=\"wh-source-url\" data-no-translation=\"\" dir=\"ltr\">https:\/\/docs.kernel.org\/7.1\/admin-guide\/sysctl\/net.html<\/span><\/p><p><span class=\"wh-source-url\" data-no-translation=\"\" dir=\"ltr\">https:\/\/man7.org\/linux\/man-pages\/man5\/proc_loadavg.5.html<\/span><\/p><p><span class=\"wh-source-url\" data-no-translation=\"\" dir=\"ltr\">https:\/\/www.man7.org\/linux\/man-pages\/man5\/proc_stat.5.html<\/span><\/p><p><span class=\"wh-source-url\" data-no-translation=\"\" dir=\"ltr\">https:\/\/www.man7.org\/linux\/man-pages\/man5\/proc_meminfo.5.html<\/span><\/p><p><span class=\"wh-source-url\" data-no-translation=\"\" dir=\"ltr\">https:\/\/docs.kernel.org\/accounting\/psi.html<\/span><\/p><p><span class=\"wh-source-url\" data-no-translation=\"\" dir=\"ltr\">https:\/\/man7.org\/linux\/man-pages\/man5\/proc_pid_status.5.html<\/span><\/p><p><span class=\"wh-source-url\" data-no-translation=\"\" dir=\"ltr\">https:\/\/man7.org\/linux\/man-pages\/man5\/proc_diskstats.5.html<\/span><\/p><\/div><\/section><\/div>","protected":false},"excerpt":{"rendered":"<p>procfs giver direkte indsigt i den k\u00f8rende Linux-kerne. Denne vejledning forklarer vigtige filer under \/proc, beskriver t\u00e6llere og \u00f8jebliksbilleder og viser sikre diagnostiske metoder til belastning, hukommelse, processer, I\/O og sysctl-parametre.<\/p>","protected":false},"author":1,"featured_media":21652,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[780],"tags":[],"class_list":["post-21649","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administration-anleitungen"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"surfer_file_name":null,"surfer_file_original_url":null,"_wp_attachment_image_alt":null,"litespeed-optimize-set":null,"litespeed-optimize-size":null,"_oembed_b5e1eb923ad3b086e579b1befcd4075c":null,"_elementor_source_image_hash":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"_source_url":null,"_elementor_migrations_state_8b2d":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":"780","_wh_make_key":"wh_4bfe68af3a01e55dbd77837eb0b68ff1","rank_math_internal_links_processed":"1","_wh_make_topic":"Linux procfs f\u00fcr Administratoren \u2013 wichtige Dateien im \u00dcberblick","_wh_make_input_keywords":["procfs linux","\/proc filesystem","linux administration"],"_wh_make_config":{"research_model":"gpt-5.6-terra","writer_model":"gpt-5.6-terra","review_model":"gpt-5.6-sol","image_model":"gpt-image-2.5-flare","image_quality":"medium","image_format":"webp","final_status":"draft","charts_enabled":true},"_wh_make_links":{"I1":{"id":"I1","post_id":20324,"url":"https:\/\/webhosting.de\/kernel-livepatch-oracle-linux-oracle-ksplice-ueberblick-sicherheit\/","title":"Kernel Livepatch under Oracle Linux: oracle ksplice i korte tr\u00e6k","excerpt":"Med Oracle Ksplice installerer jeg sikkerhedsopdateringer til kernen og brugerrummet under Oracle Linux, mens systemet k\u00f8rer \u2013 uden genstart og uden at afbryde igangv\u00e6rende arbejdsopgaver. Dette indl\u00e6g forklarer den praktiske anvendelse af Kernel Livepatch, belyser Ksplice-klienterne og viser, hvordan jeg udruller opdateringer p\u00e5 en sikker, reproducerbar og revisionsbar m\u00e5de. Hovedpunkter: Ingen genstart: Kernelopdateringer k\u00f8rer uden nedetid. Brugeromr\u00e5de: glibc\/OpenSSL kan patchees live. Hypervisor: KVM- og Xen-opdateringer under drift. Rollback: Fortryd patches uden genstart. Automatiseret: Styring via klient og API. Kernel Livepatch: kort og klart Med Kernel Livepatch opdaterer jeg sikkerhedsrettelser direkte i den aktive kerne \u2013 uden genstart. Patches \u00e6ndrer funktioner i arbejdsminnet, s\u00e5 tjenesterne forts\u00e6tter med at k\u00f8re, og der ikke er behov for vedligeholdelsesvinduer. Det reducerer nedetid, mindsker risikoen og sikrer, at systemerne er tilg\u00e6ngelige hele tiden. Jeg lukker sikkerhedshuller hurtigere, fordi jeg ikke skal planl\u00e6gge genstarter. For produktive servere i 24\/7-drift er dette en klar fordel, is\u00e6r ved databaser og virtualisering. Oracle Ksplice i kort oversigt Oracle Ksplice leverer live-patches til kernen, hypervisoren og vigtige brugerrumsbiblioteker. Jeg installerer opdateringer p\u00e5 en kontrolleret m\u00e5de, overv\u00e5ger status og tr\u00e6kker \u00e6ndringer tilbage med det samme, hvis det er n\u00f8dvendigt. P\u00e5 den m\u00e5de opretholder jeg et h\u00f8jt sikkerhedsniveau uden at standse arbejdsbelastningerne. Enhanced Client udvider fokus ud over kernen og d\u00e6kker glibc, OpenSSL samt KVM\/Xen. Det resulterer i et sammenh\u00e6ngende patch-koncept for v\u00e6rter og g\u00e6ster, b\u00e5de on-premises og i skyen. Forl\u00f8b i kernen: trin for trin Ksplice udregner forskellen mellem den oprindelige og m\u00e5lkernen og opbygger et patch-modul ud fra denne. Jeg indl\u00e6ser dette modul i det k\u00f8rende system, hvor det erstatter eller supplerer de ber\u00f8rte funktioner. F\u00f8r implementeringen kontrollerer Ksplice den aktive kernels konsistens, s\u00e5 ingen afvigelser f\u00f8rer til risikable tilstande. Under opdateringen forbliver tjenesterne tilg\u00e6ngelige; processen er letv\u00e6gts. Hvis der skal installeres flere rettelser, automatiserer jeg processen, f.eks. med `ksplice upgrade -y`, og dokumenterer resultatet umiddelbart efter udrulningen. Brugeromr\u00e5det, KV"},"I2":{"id":"I2","post_id":18128,"url":"https:\/\/webhosting.de\/kernel-tuning-linux-sysctl-parameter-serverboost-opti\/","title":"Kernel-tuning i Linux-hosting: Et overblik over Sysctl-parametre","excerpt":"Kernel-tuning i Linux-hosting giver m\u00e5lbare pr\u00e6stationsgevinster, fordi jeg m\u00e5lrettet tilpasser sysctl-parametre for netv\u00e6rk, hukommelse, CPU og sikkerhed. Her indl\u00e6ser jeg profiler uden genstart og tilpasser v\u00e6rdierne til arbejdsbelastninger, samtidighed og I\/O-adf\u00e6rd, s\u00e5 serveren reagerer hurtigt og fungerer p\u00e5lideligt under belastning. Centrale punkter: sysctl styrer kernens adf\u00e6rd under k\u00f8rsel Optimering af netv\u00e6rk: backlogs, sockets, TCP Optimering af hukommelse: Swapping, Dirty Pages Finjustering af CPU: Scheduler, PID\u2019er H\u00e5rdg\u00f8ring af sikkerheden uden overhead Hvad er sysctl i Linux-hosting? Med sysctl l\u00e6ser og \u00e6ndrer jeg kerneparametre under k\u00f8rsel uden at kompilere kernen. V\u00e6rdierne findes som filer i mappen \/proc\/sys, f.eks. net\/ipv4\/tcp_max_syn_backlog, og styrer netv\u00e6rk, hukommelse og sikkerhed. For hosting-arbejdsbelastninger med mange forbindelser reducerer den direkte finjustering latenstoppe og timeouts. Jeg foretager midlertidige \u00e6ndringer med sysctl -w og skriver permanente profiler i \/etc\/sysctl.d\/*.conf. Derefter indl\u00e6ser jeg det hele med sysctl --system og tjekker dmesg samt journal-logfiler, s\u00e5 jeg hurtigt kan opdage fejlkonfigurationer. S\u00e5dan bruger jeg sysctl sikkert F\u00f8r \u00e6ndringer sikkerhedskopierer jeg profiler og dokumenterer de aktuelle v\u00e6rdier med sysctl -a, s\u00e5 jeg til enhver tid kan rulle tilbage. Jeg tester f\u00f8rst nye v\u00e6rdier p\u00e5 staging-VM'er med sammenlignelig belastning. Derefter \u00f8ger jeg parametrene trinvist, overv\u00e5ger metrics og justerer igen. S\u00e5dan forhindrer jeg OOM-kills, socket-drops og sporadiske retransmissioner. Til reproducerbare ops\u00e6tninger opretter jeg en separat fil, f.eks. \/etc\/sysctl.d\/99-hosting.conf, og indl\u00e6ser den p\u00e5 en kontrolleret m\u00e5de. Test # midlertidigt: sudo sysctl -w net.core.somaxconn=65535 sudo sysctl -w net.ipv4.tcp_max_syn_backlog=4096 Indstil # permanent: sudo tee \/etc\/sysctl.d\/99-hosting.conf &gt;\/dev\/null &lt;&lt;&#039;EOF&#039; net.core.somaxconn = 65535 net.ipv4.tcp_max_syn_backlog = 4096 vm.swappiness = 10 vm.dirty_ratio = 20 EOF sudo sysctl --system Netv\u00e6rksparametre, der p\u00e5virker webserveren Ved mange samtidige forbindelser \u00f8ger jeg somaxconn, s\u00e5 listen-backloggen i Nginx eller Apache ikke l\u00f8ber over. Med net.ipv4.tcp_max_syn_backlog \u00f8ger jeg k\u00f8en af halv\u00e5bne forbindelser, hvilket under Traffic-S"},"I3":{"id":"I3","post_id":20594,"url":"https:\/\/webhosting.de\/lsof-linux-offene-dateien-analyse-diagnose\/","title":"Effektiv brug af lsof: Analyse af \u00e5bne filer og processer","excerpt":"Ich setze lsof linux ein, um in Sekunden zu sehen, welcher Prozess welche Datei, Socket oder welchen Port offen h\u00e4lt. So erkenne ich blockierte Logs, belegte Ports und gesperrte Dateien ohne Umwege und l\u00f6se St\u00f6rungen zielgerichtet. Zentrale Punkte Damit der Einstieg gelingt, fasse ich die wichtigsten Aspekte kurz zusammen. Ressourcen sichtbar machen: Prozesse, Dateien, Verzeichnisse, Ger\u00e4te, Pipes, Sockets. Filter nutzen: nach Prozessname (-c), PID (-p), Benutzer (-u), Datei, Verzeichnis (+d\/+D), Port (-i). Fehler eingrenzen: gesperrte Dateien finden, Portkonflikte aufl\u00f6sen, h\u00e4ngende Dienste zuordnen. Netzwerk pr\u00fcfen: aktive Verbindungen und belegte Ports schnell identifizieren. Workflow straffen: erst eingrenzen, dann gezielt pr\u00fcfen, anschlie\u00dfend handeln. Warum lsof im Alltag z\u00e4hlt Ich nutze lsof, wenn ein Dienst nicht startet, eine Datei \u201ebusy\u201c meldet oder ein Port bereits belegt ist. Das Tool verbindet Datei, Prozess, Benutzer und Netzwerk in einer klaren Sicht. Ich erkenne sofort, welcher PID den Zugriff h\u00e4lt und seit wann. So handle ich statt zu raten und beende den richtigen Prozess, statt versehentlich den falschen Dienst zu stoppen. Gerade auf produktiven Servern gewinne ich damit Minuten bis Stunden, weil ich die Ursache direkt am Prozess festmache. Dieser Ansatz spart Tickets, reduziert Ausf\u00e4lle und schafft belastbare Erkenntnisse. Grundsyntax und Ausgabe verstehen Die Grundform lautet lsof [Optionen] &lt;Ziel&gt; und liefert ohne Parameter alle aktuell offenen Objekte. Auf stark ausgelasteten Systemen filtere ich die Ausgabe, statt mich durch tausende Zeilen zu arbeiten. Wichtig ist, dass Linux \u201eDatei\u201c weit fasst: dazu z\u00e4hlen Verzeichnisse, Ger\u00e4te, Bibliotheken und Netzwerk-Sockets. In der Ausgabe helfen Spalten wie COMMAND, PID, USER, FD, TYPE, NAME. Ich richte meinen Blick zuerst auf FD (Dateideskriptor), TYPE (REG, DIR, IPv4\/6) und NAME mit Pfad oder Portangabe. Wer diese Spalten liest, versteht in kurzer Zeit den aktuellen Systemzustand und ordnet Ressourcen sauber zu Prozessen. Installation und Berechtigungen in der Praxis Auf vielen Distributionen ist lsof nicht vorinstalliert. Ich installiere es daher fr\u00fchzeitig \u00fcber den Paketmanager (apt insta"}},"_wh_make_stage":"entwurf","_wh_make_research_date":"2026-09-22","_wh_make_sitemap_info":{"index":"https:\/\/webhosting.de\/sitemap_index.xml","sitemaps":["https:\/\/webhosting.de\/post-sitemap1.xml","https:\/\/webhosting.de\/post-sitemap2.xml","https:\/\/webhosting.de\/post-sitemap3.xml","https:\/\/webhosting.de\/post-sitemap4.xml"],"url_count":3092,"fetched_at":"2026-09-22T03:42:35+00:00","selected_ids":[20324,18128,20594]},"_wh_make_draft_hash":"bfdaf9e7d44d670e5d156feda1b7015d25a643f1321ba185b7f8fd15d38a8ca1","_wh_make_work":{"version":"2.1","identity":{"sheet_ref":"1VMjxV8Q73i0Q1HO6s-u4jNHVRF0snliGCeg97intLPs","sheet_name":"Tabellenblatt1","external_id":"1386","topic":"Linux procfs f\u00fcr Administratoren \u2013 wichtige Dateien im \u00dcberblick","keywords":["procfs linux","\/proc filesystem","linux administration"],"category_input":"780"},"config":{"research_model":"gpt-5.6-terra","writer_model":"gpt-5.6-terra","review_model":"gpt-5.6-sol","image_model":"gpt-image-2.5-flare","image_quality":"medium","image_format":"webp","final_status":"draft","charts_enabled":true},"phase":"done","pending":null,"receipts":{"71a606c73073acb4042020c3952de4d4":"b009a40f880ed74f6b5c58a57387d8a137ddcd313831b4b7e65b3b6087a873e3","bf5ef0afe81bff06d64e1f2192080095":"bd6119be8c56af22935021629da9b86028c2ef7388132396679f3db5839ddede","23d7b85a19c3a588cf1ae808e44a02d5":"64ecae8725e3c95dffe3e421b8a0de19a8d1c0e5576f82dd46c2b974dd1a1dce","265b0195f2bbd3fe54c408a58c583078":"aab6a20756ff5321fc40862a310de7f77aefe7b7f8a61282bb207c4b29812784","10dd185c9e68e880cbfa341be1017e42":"94f28451bd20d4ad72c4e2180c32bb8b7640443dc3237764503598ba56c4b72f","2b344208a5cdfa03fb14b181daaacab7":"91449995ef6b1bfdf300839ec11234d6ad68916af1c9fdc7dfb150b84e6fe6e0","47b9972c3a85c20d135bb6f77968c58a":"39d8b4bef966e2703db549b06bc5b3cacd5a2f43bee688201a3ded4b6fe1e816","1e91e3d00fd20b26c9ae106396ec02bf":"b9b19889bff8bc7c45288c5cea913db3b6b3c36daf687f7b1be215760e6b63c7","1a13bbea094331829e89c25e79bcbca3":"5b15a2466f705fdb76c37f948bac4ae5c7ab5bfbb512add5307bb8aba06f1eb9","34526c07aeb09223cbe08bd32e68d423":"dc36dbb668a58a0903f4fb7f87cfe4ebf7b573044f95d01457af5c2c8a11ed15","b1c43b362eaa9c6b4a47c5ca0d44df0c":"246dc1a7993f7605763d10eecbb6009de0932af5b0d25a34f7310ed61f1d804e","245b49e67839ba6a8c9166f5f2077523":"a6585bdbd0935af0fe730a94d5f759320610ac3b1aa3e7042997e00919daeb25","e3ab60134a30110be714c49548588248":"be05c9f92fd706c6639d1294e032c30a9630b42042fa49f53ed7d1d70f29ac8d"},"parts":{"1":[{"id":"proc-basics","heading":"procfs verstehen: virtuelle Kernelansicht statt Datenspeicher","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Das ","ref":""},{"kind":"strong","text":"procfs","ref":""},{"kind":"text","text":" ist ein virtuelles Dateisystem: Die Eintr\u00e4ge unter \/proc bilden Datenstrukturen und Zust\u00e4nde des laufenden Linux-Kernels ab. Sie liegen nicht als dauerhaft gespeicherte Inhalte auf einem Datentr\u00e4ger. Beim Lesen erzeugt der Kernel die jeweilige Ansicht aus seinem aktuellen Zustand; nach einem Neustart beginnen etwa viele Z\u00e4hler erneut. Deshalb ist \/proc eine Schnittstelle f\u00fcr Beobachtung und teilweise Steuerung, kein Ort f\u00fcr eigene Dateien oder persistente Konfigurationen. ","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr die Administration sind drei Bereiche zu unterscheiden. Globale Statusdateien wie \/proc\/meminfo, \/proc\/stat oder \/proc\/loadavg beschreiben den Host beziehungsweise die sichtbare Systeminstanz. Verzeichnisse mit numerischen Namen, etwa \/proc\/1234, liefern Details zu einem einzelnen Prozess. Unter \/proc\/sys liegen dagegen Kernelparameter, die abh\u00e4ngig von Berechtigung und Parameter sowohl lesbar als auch schreibbar sein k\u00f6nnen. Die \u00e4hnliche Dateiform darf nicht dar\u00fcber hinwegt\u00e4uschen, dass Statusabfrage und Konfigurations\u00e4nderung grundverschiedene Folgen haben. ","ref":""},{"kind":"citation","text":"","ref":"S8"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Welche Pfade und Felder vorhanden sind, ist nicht auf jedem Linux-System identisch. Kernelversion und -konfiguration, Architektur, erkannte Hardware sowie geladene Module beeinflussen die sichtbaren Eintr\u00e4ge. Auch ein Prozess- oder anderer Namespace kann die Ansicht begrenzen. Skripte sollten daher Dateien und Felder pr\u00fcfen, bevor sie deren Inhalt auswerten, statt eine vollst\u00e4ndige, \u00fcberall gleiche procfs-Struktur vorauszusetzen. ","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Davon abzugrenzen ist sysfs unter \/sys: Es stellt vor allem Ger\u00e4te, Treiber und Hardwareobjekte dar. F\u00fcr Ressourcenverteilung und Grenzen von Gruppen ist au\u00dferdem cgroup2 relevant. procfs bleibt jedoch die unmittelbare Quelle f\u00fcr viele Kernel- und Prozesszust\u00e4nde, die bei einer ersten Diagnose ben\u00f6tigt werden. ","ref":""},{"kind":"citation","text":"","ref":"S8"}]}]},{"id":"proc-time-context","heading":"Z\u00e4hler, Momentaufnahmen und Sichtbarkeit richtig einordnen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Der Wert allein erkl\u00e4rt bei procfs selten ein Problem. Zuerst ist sein Zeitbezug zu kl\u00e4ren: Einige Angaben sind ","ref":""},{"kind":"strong","text":"kumulative Z\u00e4hler","ref":""},{"kind":"text","text":" seit Systemstart, andere beschreiben einen aktuellen Zustand, wieder andere bilden gleitende Zeitfenster ab. Ein hoher Z\u00e4hlerstand zeigt zun\u00e4chst nur, dass sich ein Ereignis seit dem Boot summiert hat. Eine Rate entsteht erst aus zwei Messpunkten: Differenz der Werte geteilt durch das dazwischenliegende Zeitintervall. Das gilt beispielsweise f\u00fcr viele CPU-, Interrupt- und Datentr\u00e4gerz\u00e4hler. ","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Datei \/proc\/uptime liefert die vergangene Betriebsdauer und die aggregierte Idle-Zeit. Sie hilft, Z\u00e4hler seit dem Start zeitlich einzuordnen, ersetzt aber keine Messreihe. Eine einmalige Abfrage ist eine Momentaufnahme; f\u00fcr belastbare Aussagen \u00fcber Trends, Spitzen oder wiederkehrende Last braucht es wiederholte Abfragen mit Zeitstempel. Dabei k\u00f6nnen sich Werte bereits w\u00e4hrend des Lesens ver\u00e4ndern, weil der Kernel weiterarbeitet. ","ref":""},{"kind":"citation","text":"","ref":"S8"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Auch die sichtbaren Daten haben Grenzen. \/proc\/self verweist stets auf den Prozess, der den Pfad gerade aufl\u00f6st. Damit ist er f\u00fcr Skripte und interaktive Pr\u00fcfungen praktisch, ohne eine PID anzunehmen. Der Zugriff auf fremde Prozessverzeichnisse kann jedoch durch Dateirechte, Linux-Capabilities und die procfs-Mount-Option ","ref":""},{"kind":"code","text":"hidepid","ref":""},{"kind":"text","text":" eingeschr\u00e4nkt sein. Fehlende Einblicke sind in diesem Fall kein defektes procfs, sondern ein Schutz gegen das Auslesen sensibler Prozessinformationen. ","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Besondere Vorsicht gilt in Containern. Eine procfs-Instanz kann an einen PID-Namespace gebunden sein; dann zeigt \/proc nur die Prozesse, die in dieser Namespace-Sicht existieren. Werte und PIDs aus einem Container beschreiben folglich nicht automatisch den gesamten Host. Vor jeder Diagnose ist daher zu kl\u00e4ren, ob die Shell auf dem Host, in einer VM oder in einem Container l\u00e4uft. ","ref":""},{"kind":"citation","text":"","ref":"S8"}]}]},{"id":"proc-sysctl-boundary","heading":"Lesen, konfigurieren und absichern unter \/proc\/sys","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Der Bereich ","ref":""},{"kind":"strong","text":"\/proc\/sys","ref":""},{"kind":"text","text":" ist die Dateisystemansicht der sysctl-Schnittstelle. Das Lesen eines Werts dient der Diagnostik. Ein Schreibzugriff ver\u00e4ndert dagegen unmittelbar das Verhalten des laufenden Kernels und kann Dienste, Ressourcenverbrauch oder Sicherheitsmerkmale beeinflussen. Dass eine \u00c4nderung ohne Neustart wirkt, macht sie nicht risikolos und auch nicht automatisch dauerhaft: Persistenz h\u00e4ngt von der gew\u00e4hlten Systemkonfiguration ab. ","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Verzeichnisstruktur erleichtert die erste Einordnung. Unter \/proc\/sys\/fs stehen unter anderem globale Dateisystem- und File-Handle-Parameter. \/proc\/sys\/vm b\u00fcndelt Einstellungen der Speicherverwaltung, w\u00e4hrend \/proc\/sys\/net netzwerkbezogene Parameter enth\u00e4lt. Welche Unterverzeichnisse und Schl\u00fcssel verf\u00fcgbar sind, h\u00e4ngt wiederum von Kernelkonfiguration und Funktionen des Systems ab. Ein vorhandener Parameter ist daher kein allgemeines Tuning-Rezept; seine Dokumentation und der konkrete Workload sind ma\u00dfgeblich. ","ref":""},{"kind":"citation","text":"","ref":"S10"},{"kind":"citation","text":"","ref":"S11"},{"kind":"citation","text":"","ref":"S12"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein Gegenbeispiel f\u00fcr scheinbare Optimierung ist ","ref":""},{"kind":"code","text":"drop_caches","ref":""},{"kind":"text","text":" unter \/proc\/sys\/vm. Die Kernel-Dokumentation ordnet die Funktion Debugging und Tests zu und r\u00e4t von einem Einsatz au\u00dferhalb solcher Zwecke ab, weil das Leeren wiederverwendbarer Caches Leistung kosten kann. Wenig freier Speicher ist f\u00fcr sich genommen kein Grund, Caches zu verwerfen: Der Kernel nutzt RAM bewusst auch f\u00fcr Dateicache. ","ref":""},{"kind":"citation","text":"","ref":"S11"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Vor jeder \u00c4nderung sollte eine nachvollziehbare Ursache vorliegen. Sichere zuerst den Ausgangswert, dokumentiere Zweck und erwartete Nebenwirkungen, \u00e4ndere kontrolliert und beobachte anschlie\u00dfend passende Messwerte sowie Dienstverhalten. Plane den R\u00fcckweg vorab und \u00fcbernimm einen Wert erst nach fachlicher Pr\u00fcfung in eine dauerhafte Konfiguration. Weiterf\u00fchrende Grundlagen zu Parametern und ihrer kontrollierten Verwaltung behandelt der Beitrag ","ref":""},{"kind":"internal_link","text":"Kernel-Tuning im Linux-Hosting: Sysctl-Parameter im \u00dcberblick","ref":"I2"},{"kind":"text","text":".","ref":""}]}]}],"2":[{"id":"proc-overview-table","heading":"Die wichtigsten procfs-Dateien nach Administrationsaufgabe","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Die Auswahl einer procfs-Datei sollte von der Administrationsfrage ausgehen, nicht von einer m\u00f6glichst vollst\u00e4ndigen Verzeichnisliste. Globale Dateien beschreiben den Host oder den sichtbaren Namespace, Prozesspfade einen einzelnen Prozess, und Eintr\u00e4ge unter \/proc\/sys\/fs liefern Konfiguration und systemweite Grenzen. Einige Werte sind aktuelle Zust\u00e4nde, andere seit dem Boot kumulierte Z\u00e4hler oder gleitende Durchschnitte. Diese Unterscheidung entscheidet dar\u00fcber, ob ein einzelnes Auslesen gen\u00fcgt oder zwei Messpunkte n\u00f6tig sind.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"table","caption":"Wichtige procfs-Dateien f\u00fcr typische Verwaltungsfragen","headers":["Pfad","Zweck","Typische Frage","Datencharakter","Wichtige Einschr\u00e4nkung","Sichere Leseabfrage"],"rows":[["\/proc\/loadavg","Systemlast","Sind Aufgaben wartend?","1-, 5-, 15-Minuten-Mittel","Keine reine CPU-Auslastung","cat \/proc\/loadavg"],["\/proc\/stat","CPU- und Kernelz\u00e4hler","Wie verteilen sich CPU-Zeiten?","Seit Boot kumuliert","iowait nicht isoliert bewerten","grep -E '^(cpu|intr|ctxt|processes)' \/proc\/stat"],["\/proc\/meminfo","Speicher\u00fcbersicht","Ist Speicher verf\u00fcgbar?","Aktuelle Speicherwerte","MemFree allein gen\u00fcgt nicht","cat \/proc\/meminfo"],["\/proc\/pressure\/cpu","CPU-Stalls","Warten Tasks auf CPU?","Zeitfenster und Z\u00e4hler","full kann systemweit null sein","cat \/proc\/pressure\/cpu"],["\/proc\/pressure\/memory","Speicherdruck","Blockiert Speicherknappheit Tasks?","Zeitfenster und Z\u00e4hler","PSI muss verf\u00fcgbar sein","cat \/proc\/pressure\/memory"],["\/proc\/pressure\/io","I\/O-Stalls","Warten Tasks auf I\/O?","Zeitfenster und Z\u00e4hler","Kein Ersatz f\u00fcr Ger\u00e4teanalyse","cat \/proc\/pressure\/io"],["\/proc\/<PID>\/status","Prozessstatus","Wie gro\u00df und aktiv ist ein Prozess?","Aktuelle Prozessdaten","Rechte k\u00f6nnen Zugriff begrenzen","cat \/proc\/$$\/status"],["\/proc\/<PID>\/fd","Offene Deskriptoren","Welche Objekte h\u00e4lt ein Prozess?","Aktuelle symbolische Links","Viele FDs sind nicht automatisch ein Leck","ls -l \/proc\/$$\/fd"],["\/proc\/<PID>\/maps","Virtuelle Mappings","Welche Bereiche hat ein Prozess eingebunden?","Aktuelle Mappingliste","F\u00fcr die Erstanalyse oft zu umfangreich","cat \/proc\/$$\/maps"],["\/proc\/diskstats","Blockger\u00e4te-I\/O","Welche Ger\u00e4te arbeiten?","Seit Boot kumuliert","Raten erfordern zwei Stichproben","cat \/proc\/diskstats"],["\/proc\/sys\/fs\/file-nr","File-Handle-Nutzung","Wie viele Handles nutzt das System?","Aktueller Z\u00e4hler und Grenze","Mittleres Feld ist auf modernen Linux-Systemen null","cat \/proc\/sys\/fs\/file-nr"],["\/proc\/sys\/fs\/file-max","File-Handle-Grenze","Welche globale Obergrenze gilt?","Aktiver Parameter","Nicht mit Prozesslimit verwechseln","cat \/proc\/sys\/fs\/file-max"]],"source_ids":["S1","S3","S4","S5","S6","S7","S9","S10"]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Tabelle ist eine Einstiegshilfe, keine Diagnosekette. Ein auff\u00e4lliger Wert verlangt stets ein unabh\u00e4ngiges Gegenzeichen: Load mit CPU- und I\/O-Daten, Speicherwerte mit Pressure Stall Information und Prozessgr\u00f6\u00dfen mit dem Verhalten des Dienstes. Besonders \/proc\/diskstats und \/proc\/stat sind ","ref":""},{"kind":"strong","text":"kumulative Z\u00e4hler","ref":""},{"kind":"text","text":"; ihre Differenz \u00fcber ein bekanntes Intervall ist f\u00fcr Raten aussagekr\u00e4ftiger als der absolute Stand. Die folgenden Abschnitte ordnen die Signale deshalb nach Last, Speicher, Prozessen und I\/O ein.","ref":""}]}]},{"id":"proc-load-memory","heading":"Last, CPU und Speicher: Signale kombiniert bewerten","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Bei einer langsamen Anwendung ist \/proc\/loadavg ein sinnvoller Start, aber kein Urteil \u00fcber die CPU. Die drei Werte bilden die durchschnittliche Last der letzten 1, 5 und 15 Minuten ab. In die Last gehen nicht nur laufbereite Einheiten im Zustand R ein, sondern auch Tasks im ununterbrechbaren Wartezustand D, etwa bei I\/O. Das vierte Feld zeigt die aktuell ausf\u00fchrbaren gegen\u00fcber allen existierenden Scheduling-Einheiten. Hoher ","ref":""},{"kind":"strong","text":"Load Average","ref":""},{"kind":"text","text":" kann daher auf CPU-Konkurrenz, blockierte I\/O-Zugriffe oder beides hinweisen.","ref":""},{"kind":"citation","text":"","ref":"S3"}]},{"type":"code","language":"sh","code":"cat \/proc\/loadavg\ngrep -E '^(cpu|intr|ctxt|processes)' \/proc\/stat\ncat \/proc\/meminfo\ncat \/proc\/pressure\/memory","source_ids":["S3","S4","S5","S6"]},{"type":"paragraph","runs":[{"kind":"text","text":"Die CPU-Zeilen aus \/proc\/stat enthalten Zeitanteile seit dem Systemstart in USER_HZ. Um daraus Auslastungsanteile zu ermitteln, m\u00fcssen zwei Abfragen verglichen werden; ein einzelner Stand zeigt nur angesammelte Zeit. Der Wert iowait ist dabei kein unmittelbares Latenzma\u00df f\u00fcr Storage: Seine Berechnung hat dokumentierte Grenzen und kann unter bestimmten Umst\u00e4nden sogar sinken. F\u00fcr eine I\/O-Ursache sind daher zus\u00e4tzlich Ger\u00e4tewerte und I\/O-PSI sinnvoll.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Auch ein niedriger Wert bei MemFree beweist noch keine RAM-Not. Linux nutzt unbenutzten Arbeitsspeicher gezielt f\u00fcr Cache. MemAvailable sch\u00e4tzt, wie viel Speicher neue Anwendungen voraussichtlich ohne Swapping erhalten k\u00f6nnen, und ist f\u00fcr die erste Einordnung meist hilfreicher. Erst wenn MemAvailable knapp wird und gleichzeitig Speicher-Stalls auftreten, verdichtet sich der Hinweis auf ","ref":""},{"kind":"strong","text":"Speicherdruck","ref":""},{"kind":"text","text":".","ref":""},{"kind":"citation","text":"","ref":"S5"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Dateien unter \/proc\/pressure erg\u00e4nzen diese Sicht: some bedeutet, dass wenigstens einige Tasks w\u00e4hrend eines Anteils des Zeitfensters nicht weiterkamen; full steht f\u00fcr einen Zustand, in dem alle nicht-idlen Tasks gleichzeitig blockiert waren. Die Angaben avg10, avg60 und avg300 beziehen sich auf 10, 60 und 300 Sekunden, total ist ein kumulierter Stall-Z\u00e4hler. CPU-, memory- und io-PSI beantworten unterschiedliche Fragen und sollten nicht gegeneinander ausgetauscht werden.","ref":""},{"kind":"citation","text":"","ref":"S6"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Reagiert ein Dienst bei geringem MemFree langsam, pr\u00fcfst du zun\u00e4chst MemAvailable und \/proc\/pressure\/memory. Sind beide unauff\u00e4llig, spricht das gegen akuten systemweiten Speicherdruck. Anschlie\u00dfend kann \/proc\/<PID>\/status zeigen, ob der betroffene Prozess etwa ungew\u00f6hnlich viel VmRSS belegt, viele Threads hat oder in einem auff\u00e4lligen State steht. Diese Kombination trennt eine Cache-lastige, aber normale Speichernutzung von einem Problem, das weitere Prozessanalyse verlangt.","ref":""},{"kind":"citation","text":"","ref":"S7"}]}]},{"id":"proc-process-io","heading":"Prozesse, Dateideskriptoren und Datentr\u00e4ger-I\/O untersuchen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr eine sichere \u00dcbung mit einem garantiert vorhandenen Prozess steht $$ f\u00fcr die PID der aktuellen Shell. Die status-Datei ist menschenlesbarer als die feldorientierte stat-Datei. Name identifiziert den Prozess, State seinen Zustand, PPid den Elternprozess und Threads die Thread-Anzahl. VmRSS beschreibt den aktuell im RAM residenten Anteil; VmSize ist dagegen virtueller Adressraum. FDSize beschreibt die Gr\u00f6\u00dfe der Deskriptortabelle, nicht zwingend die Zahl aktuell offener Eintr\u00e4ge. Freiwillige und unfreiwillige Kontextwechsel k\u00f6nnen bei der Einordnung von Scheduling-Verhalten helfen, sind allein aber kein Fehlerbeweis.","ref":""},{"kind":"citation","text":"","ref":"S7"}]},{"type":"code","language":"sh","code":"cat \/proc\/$$\/status\nls -l \/proc\/$$\/fd","source_ids":["S7","S1"]},{"type":"paragraph","runs":[{"kind":"text","text":"Das fd-Verzeichnis enth\u00e4lt symbolische Links auf offene Dateien, Pipes, Ger\u00e4te oder Sockets. Es hilft etwa, einen Prozess zu finden, der eine gel\u00f6schte Logdatei weiterhin ge\u00f6ffnet h\u00e4lt. Eine gro\u00dfe Zahl offener Dateideskriptoren ist jedoch bei Proxys, Datenbanken oder ereignisorientierten Servern durchaus erwartbar. F\u00fcr gefilterte Ansichten und die Zuordnung \u00fcber Prozesse hinweg ist ","ref":""},{"kind":"internal_link","text":"lsof zur Analyse offener Dateien einsetzen","ref":"I3"},{"kind":"text","text":" eine passende Erg\u00e4nzung. Kommandozeilen aus cmdline k\u00f6nnen vertrauliche Argumente preisgeben; environ ist wegen m\u00f6glicher Zugangsdaten oder Tokens noch sensibler und keine Routineabfrage.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"maps listet virtuelle Speicherbereiche mit Berechtigungen, Offset, Ger\u00e4t, Inode und gegebenenfalls Pfad. smaps erg\u00e4nzt je Mapping detaillierte Speicherwerte. Beide Dateien sind f\u00fcr vertiefte Speicheranalysen gedacht: Ihre Ausgabe kann gro\u00df sein, und die Interpretation einzelner Mappings erfordert Kontext. F\u00fcr den ersten Blick sind status und die systemweiten Speicher- und PSI-Dateien meist effizienter.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei hohem Load und geringer CPU-Auslastung erweitert \/proc\/diskstats die Diagnose um die Ger\u00e4teebene. Die Datei f\u00fchrt pro Blockger\u00e4t kumulative I\/O-Statistiken. Um Aktivit\u00e4t als Rate zu bewerten, m\u00fcssen zwei Zeitpunkte verglichen werden. Dabei sind physische Laufwerke, Partitionen und virtuelle oder Device-Mapper-Ger\u00e4te sauber zu unterscheiden; Z\u00e4hler verschiedener Ebenen d\u00fcrfen nicht blind addiert werden. Zusammen mit \/proc\/pressure\/io l\u00e4sst sich so pr\u00fcfen, ob beobachtbare I\/O-Stalls und Ger\u00e4teaktivit\u00e4t zeitlich zusammenfallen.","ref":""},{"kind":"citation","text":"","ref":"S9"}]}]}],"3":[{"id":"proc-monitoring","heading":"procfs im Betrieb: Abfragen, Monitoring und Datenschutz","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr wiederholbare Betriebsdiagnosen behandelst du procfs-Abfragen als Messpunkte: Du notierst Zeitstempel, Systemkontext und die konkrete Abfrage. Viele Werte sind seit dem Start kumulierte Z\u00e4hler; erst die Differenz zweier Werte geteilt durch das Zeitintervall ergibt eine Rate. Das gilt etwa f\u00fcr Z\u00e4hler aus ","ref":""},{"kind":"code","text":"\/proc\/diskstats","ref":""},{"kind":"text","text":". Eine Einzelabfrage kann daher Aktivit\u00e4t belegen, aber weder Durchsatz noch eine dauerhafte Verschlechterung zuverl\u00e4ssig quantifizieren. ","ref":""},{"kind":"citation","text":"","ref":"S9"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein Monitoring-System sollte in festen Intervallen unter anderem Speicherwerte aus ","ref":""},{"kind":"code","text":"\/proc\/meminfo","ref":""},{"kind":"text","text":", Ger\u00e4tewerte aus ","ref":""},{"kind":"code","text":"\/proc\/diskstats","ref":""},{"kind":"text","text":", Prozess- und Systemzust\u00e4nde sowie bei verf\u00fcgbarer Kernelunterst\u00fctzung Drucksignale erfassen. Es muss Rohwerte in passende Einheiten umrechnen, bei Z\u00e4hlern Differenzen bilden und Historien speichern. Erst zeitliche Verl\u00e4ufe erlauben belastbare Schwellenwerte: Ein hoher Wert kann normal sein, wenn er zum erwarteten Lastfenster passt; ein pl\u00f6tzlicher Anstieg gegen\u00fcber der eigenen Baseline ist oft relevanter. Die verf\u00fcgbaren procfs-Eintr\u00e4ge h\u00e4ngen vom laufenden Kernel und seiner Konfiguration ab. ","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Direkte Dateien und Werkzeuge erg\u00e4nzen sich. ","ref":""},{"kind":"code","text":"ps","ref":""},{"kind":"text","text":", ","ref":""},{"kind":"code","text":"top","ref":""},{"kind":"text","text":" oder ","ref":""},{"kind":"code","text":"htop","ref":""},{"kind":"text","text":" eignen sich f\u00fcr die interaktive Prozesssicht; ","ref":""},{"kind":"code","text":"free","ref":""},{"kind":"text","text":", ","ref":""},{"kind":"code","text":"vmstat","ref":""},{"kind":"text","text":", ","ref":""},{"kind":"code","text":"iostat","ref":""},{"kind":"text","text":", ","ref":""},{"kind":"code","text":"pidstat","ref":""},{"kind":"text","text":", ","ref":""},{"kind":"code","text":"ss","ref":""},{"kind":"text","text":" und ","ref":""},{"kind":"code","text":"sar","ref":""},{"kind":"text","text":" bereiten je nach Installation Daten f\u00fcr bestimmte Fragen auf. procfs bleibt sinnvoll, wenn du die Kernelquelle direkt pr\u00fcfen oder ein kleines, nachvollziehbares Skript bauen m\u00f6chtest. F\u00fcr Alarmierung und Kapazit\u00e4tsplanung sind Zeitreihendaten meist die passendere Ebene.","ref":""}]},{"type":"callout","variant":"warning","title":"Prozessdaten nicht unbedacht weitergeben","runs":[{"kind":"text","text":"Kommandozeilen k\u00f6nnen Pfade, Mandantenkennungen oder versehentlich \u00fcbergebene Zugangsdaten enthalten. Umgebungsvariablen eines Prozesses sind h\u00e4ufig noch sensibler. Erfasse, speichere und teile diese Daten nur, wenn sie f\u00fcr die Diagnose erforderlich sind; beschr\u00e4nke Zugriffe auf berechtigte Personen.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Auch bei rein lesenden Abfragen gelten Sichtbarkeitsgrenzen. Zugriffsrechte, Mount-Optionen und PID-Namespaces k\u00f6nnen Prozessdaten ausblenden oder auf eine Containeransicht begrenzen. Ein fehlender Eintrag ist deshalb nicht automatisch ein fehlendes Problem auf dem Host, sondern zun\u00e4chst ein Hinweis darauf, die Ausf\u00fchrungsumgebung zu kl\u00e4ren. ","ref":""},{"kind":"citation","text":"","ref":"S1"}]}]},{"id":"proc-troubleshooting","heading":"Diagnosepfade f\u00fcr langsame Dienste und Ressourcenengp\u00e4sse","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Troubleshooting beginnt mit einem Symptom, nicht mit einem vermeintlich schuldigen Einzelwert. Pr\u00fcfe danach mindestens ein unabh\u00e4ngiges Signal und halte fest, ob die Beobachtung den Host, eine virtuelle Maschine oder einen Container betrifft. So vermeidest du beispielsweise, einen hohen Load vorschnell als CPU-Problem oder eine gro\u00dfe Zahl offener Deskriptoren vorschnell als Leck zu bewerten. Die folgenden Pfade sind lesende Erstdiagnosen und ersetzen keine anwendungsbezogenen Logs.","ref":""}]},{"type":"table","caption":"Kompakte Diagnosepfade mit procfs","headers":["Symptom","Zuerst lesen","Danach abgleichen","Fehlinterpretation vermeiden"],"rows":[["Hoher Load","\/proc\/loadavg","\/proc\/stat, \/proc\/pressure\/io, \/proc\/diskstats","Load umfasst laufbereite und ununterbrechbar wartende Tasks, nicht nur CPU-Arbeit."],["Vermuteter Speicherdruck","\/proc\/meminfo","\/proc\/pressure\/memory, \/proc\/<PID>\/status","Niedriges MemFree allein beweist keinen RAM-Mangel; MemAvailable und Stalls z\u00e4hlen mit."],["Auff\u00e4llige I\/O-Wartezeit","\/proc\/stat","\/proc\/pressure\/io, \/proc\/diskstats in zwei Messpunkten","iowait ist keine direkte Latenzmessung und hat dokumentierte Einschr\u00e4nkungen."],["Viele offene Dateien","\/proc\/sys\/fs\/file-nr und \/proc\/sys\/fs\/file-max","\/proc\/<PID>\/fd, Dienstverhalten","Viele Deskriptoren k\u00f6nnen f\u00fcr einen Server normal sein; Grenzen und Wachstum sind wichtiger."],["Dienst startet nicht","\/proc\/<PID>\/status, sofern ein Prozess entsteht","\/proc\/<PID>\/fd, Dienstjournal, belegte Ressourcen","Ein nicht sichtbarer Prozess kann beendet sein oder au\u00dferhalb des sichtbaren PID-Namespace laufen."]],"source_ids":["S1","S3","S4","S5","S6","S9","S10"]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei hoher Load Average pr\u00fcfst du zun\u00e4chst, ob ausf\u00fchrbare oder wartende Aufgaben die Zahl treiben. Die Load-Angaben bilden Durchschnittswerte \u00fcber ein, f\u00fcnf und 15 Minuten ab und ber\u00fccksichtigen sowohl R- als auch D-Zust\u00e4nde. Vergleiche deshalb CPU-Zeitfelder nur mit Vorsicht mit I\/O-Druck und Ger\u00e4teaktivit\u00e4t. Insbesondere ","ref":""},{"kind":"strong","text":"iowait","ref":""},{"kind":"text","text":" darf nicht isoliert als Speicherlatenz gelesen werden. ","ref":""},{"kind":"citation","text":"","ref":"S3"},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei einer langsamen Anwendung und kleinem MemFree ist ","ref":""},{"kind":"strong","text":"MemAvailable","ref":""},{"kind":"text","text":" der bessere erste Kontextwert. Erg\u00e4nze Speicher-PSI und den Status des betroffenen Prozesses, etwa dessen VmRSS, Threadzahl und Zustand. PSI unterscheidet bei Speicher und I\/O zwischen ","ref":""},{"kind":"code","text":"some","ref":""},{"kind":"text","text":" f\u00fcr teilweise blockierte Tasks und ","ref":""},{"kind":"code","text":"full","ref":""},{"kind":"text","text":" f\u00fcr vollst\u00e4ndige Blockierung nicht-idler Tasks. Fehlen PSI-Dateien, kann dies an Kernelkonfiguration oder Umgebung liegen; es widerlegt keinen Engpass. ","ref":""},{"kind":"citation","text":"","ref":"S5"},{"kind":"citation","text":"","ref":"S6"}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr Datei- und Prozessdiagnosen k\u00f6nnen Rechte und ","ref":""},{"kind":"strong","text":"PID-Namespaces","ref":""},{"kind":"text","text":" die Aussagekraft einschr\u00e4nken. In Containern beschreibt \/proc h\u00e4ufig nur die zugeordnete Prozesswelt. Bei verweigertem Zugriff oder unvollst\u00e4ndigen Verzeichnissen pr\u00fcfst du daher Nutzerrechte, procfs-Mount-Optionen und den Namespace-Kontext, bevor du aus der Abwesenheit von Daten eine technische Schlussfolgerung ziehst. ","ref":""},{"kind":"citation","text":"","ref":"S1"}]}]},{"id":"proc-decisions","heading":"Typische Fehlannahmen korrigieren und passende Werkzeuge w\u00e4hlen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Vier Kurzschl\u00fcsse f\u00fchren in der Linux-Administration h\u00e4ufig zu falschen Ma\u00dfnahmen. Wenig ","ref":""},{"kind":"code","text":"MemFree","ref":""},{"kind":"text","text":" bedeutet nicht automatisch RAM-Not, weil der Kernel Speicher unter anderem als Cache nutzt; f\u00fcr neue Anwendungen ist MemAvailable die aussagekr\u00e4ftigere Sch\u00e4tzung. Hoher Load beweist keine CPU-S\u00e4ttigung, da auch ununterbrechbar wartende Aufgaben einflie\u00dfen. Ein hoher iowait-Anteil misst keine unmittelbare Latenz eines Datentr\u00e4gers. Und procfs ist nicht \u00fcberall identisch: Kernelversion, Konfiguration, Hardware, Module und Namespaces beeinflussen Dateien und Felder. ","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"W\u00e4hle die Methode nach der Frage. F\u00fcr eine punktuelle Ursachenanalyse liefert ","ref":""},{"kind":"strong","text":"procfs","ref":""},{"kind":"text","text":" unmittelbare Rohdaten des laufenden Kernels. F\u00fcr eine schnelle, menschenlesbare \u00dcbersicht sind spezialisierte Kommandozeilenwerkzeuge meist effizienter. Wenn Trends, Alarmierung oder Kapazit\u00e4tsentscheidungen z\u00e4hlen, ben\u00f6tigst du ein Monitoring, das Messpunkte zeitlich einordnet, Z\u00e4hlerdifferenzen berechnet und historische Vergleichswerte vorh\u00e4lt. Bei Ressourcenlimits einzelner Dienste oder Container erg\u00e4nzt eine Analyse auf cgroup-Ebene die globale Hostansicht; PSI kann bei passender Konfiguration auch pro cgroup verf\u00fcgbar sein. ","ref":""},{"kind":"citation","text":"","ref":"S6"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Besondere Zur\u00fcckhaltung gilt f\u00fcr ","ref":""},{"kind":"code","text":"\/proc\/sys","ref":""},{"kind":"text","text":". Das Lesen eines Parameters ist Diagnostik, das Schreiben ver\u00e4ndert aktives Kernelverhalten. \u00c4ndere einen Wert nur, wenn die Ursache verstanden ist, der Ausgangswert dokumentiert wurde, Auswirkungen beobachtbar sind und ein R\u00fcckweg feststeht. Die Verzeichnisse ","ref":""},{"kind":"code","text":"fs","ref":""},{"kind":"text","text":", ","ref":""},{"kind":"code","text":"vm","ref":""},{"kind":"text","text":" und ","ref":""},{"kind":"code","text":"net","ref":""},{"kind":"text","text":" ordnen Parameter thematisch, liefern aber keine universellen Tuningvorgaben. ","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Das Beispiel ","ref":""},{"kind":"code","text":"drop_caches","ref":""},{"kind":"text","text":" zeigt den Unterschied zwischen Eingriff und Optimierung: Die Kernel-Dokumentation beschreibt die Schnittstelle als nicht destruktiv, warnt jedoch vor Leistungsproblemen und empfiehlt sie nicht als regul\u00e4re Betriebsma\u00dfnahme au\u00dferhalb von Test- oder Debug-Szenarien. Eine konservative Regel lautet daher: Erst messen, dann eine begr\u00fcndete \u00c4nderung begrenzt vornehmen, Wirkung und Nebenwirkungen beobachten und die Entscheidung dokumentieren. ","ref":""},{"kind":"citation","text":"","ref":"S11"}]}]}]},"plan":{"reader_question":"Welche Informationen liefert das \/proc filesystem bei der Linux-Administration, wie lassen sich die wichtigsten Dateien sicher lesen und wie sind ihre Werte einzuordnen?","sections":[{"id":"proc-basics","heading":"procfs verstehen: virtuelle Kernelansicht statt Datenspeicher","part":1,"target_words":270,"purpose":"Erkl\u00e4rt \/proc als virtuelles Dateisystem des laufenden Kernels und grenzt es von persistenten Dateien ab. Ordnet globale Statusdateien, Prozessverzeichnisse und \/proc\/sys als unterschiedliche Schnittstellen ein. Beschreibt, warum Eintr\u00e4ge je nach Kernelversion, Konfiguration, Hardware, Modulen und Namespace variieren k\u00f6nnen, und grenzt procfs knapp von sysfs sowie cgroup2 ab.","source_ids":["S1","S8"],"internal_link_ids":[]},{"id":"proc-time-context","heading":"Z\u00e4hler, Momentaufnahmen und Sichtbarkeit richtig einordnen","part":1,"target_words":270,"purpose":"Vermittelt die n\u00f6tige Leselogik vor einzelnen Dateien: Werte k\u00f6nnen seit Systemstart kumulieren, einen aktuellen Zustand zeigen oder gleitende Zeitfenster abbilden. Erkl\u00e4rt mit \/proc\/uptime, weshalb zwei Abfragen f\u00fcr Raten n\u00f6tig sind. Behandelt Rechte, hidepid, Linux-Capabilities, \/proc\/self und PID-Namespaces als Grenzen der sichtbaren Prozesswelt.","source_ids":["S1","S8"],"internal_link_ids":[]},{"id":"proc-sysctl-boundary","heading":"Lesen, konfigurieren und absichern unter \/proc\/sys","part":1,"target_words":270,"purpose":"Trennt reine Diagnostik klar vom Schreiben nach \/proc\/sys, das aktives Kernelverhalten ver\u00e4ndert. Erkl\u00e4rt die thematischen Bereiche fs, vm und net, ohne pauschale Tuningwerte zu empfehlen. Nutzt drop_caches als Gegenbeispiel f\u00fcr vermeintliche Optimierungen und formuliert Voraussetzungen f\u00fcr \u00c4nderungen: Ursache verstehen, Ausgangswert sichern, Auswirkungen pr\u00fcfen und R\u00fcckweg planen.","source_ids":["S2","S10","S11","S12"],"internal_link_ids":["I2"]},{"id":"proc-overview-table","heading":"Die wichtigsten procfs-Dateien nach Administrationsaufgabe","part":2,"target_words":280,"purpose":"Enth\u00e4lt die zentrale informative Tabelle mit den Spalten Pfad, Zweck, typische Frage, Datencharakter, wichtige Einschr\u00e4nkung und sichere Leseabfrage. Sie umfasst mindestens \/proc\/loadavg, \/proc\/stat, \/proc\/meminfo, die drei PSI-Dateien, \/proc\/<PID>\/status, \/proc\/<PID>\/fd, \/proc\/<PID>\/maps, \/proc\/diskstats sowie \/proc\/sys\/fs\/file-nr und file-max. Leitet anschlie\u00dfend zur aufgabengeleiteten Detailanalyse \u00fcber.","source_ids":["S1","S3","S4","S5","S6","S7","S9","S10"],"internal_link_ids":[]},{"id":"proc-load-memory","heading":"Last, CPU und Speicher: Signale kombiniert bewerten","part":2,"target_words":280,"purpose":"Zeigt sichere Lesebeispiele f\u00fcr \/proc\/loadavg, ausgew\u00e4hlte Zeilen aus \/proc\/stat und \/proc\/meminfo. Erkl\u00e4rt die Load Average mit R- und D-Tasks, USER_HZ bei CPU-Zeiten, die Einschr\u00e4nkungen von iowait sowie MemAvailable als Sch\u00e4tzung. Erg\u00e4nzt PSI f\u00fcr CPU-, Speicher- und I\/O-Stalls mit some und full. Praxisfall: Eine langsame Anwendung bei niedrigem MemFree wird \u00fcber MemAvailable, memory PSI und Prozessstatus eingeordnet.","source_ids":["S3","S4","S5","S6","S7"],"internal_link_ids":[]},{"id":"proc-process-io","heading":"Prozesse, Dateideskriptoren und Datentr\u00e4ger-I\/O untersuchen","part":2,"target_words":280,"purpose":"Erkl\u00e4rt die Abfrage des aktuellen Shell-Prozesses \u00fcber \/proc\/$$\/status und \/proc\/$$\/fd. Ordnet Name, State, PPid, Threads, VmRSS, FDSize und Kontextwechsel in status ein; behandelt cmdline und besonders environ als potenziell vertrauliche Daten. Stuft maps und smaps als vertiefende, umfangreiche Speicheranalyse ein. Erkl\u00e4rt diskstats als kumulative Ger\u00e4tewerte und unterscheidet physische Ger\u00e4te, Partitionen und virtuelle Ger\u00e4te. Verkn\u00fcpft dies mit dem Fall hoher Load bei geringer CPU-Auslastung.","source_ids":["S1","S7","S9"],"internal_link_ids":["I3"]},{"id":"proc-monitoring","heading":"procfs im Betrieb: Abfragen, Monitoring und Datenschutz","part":3,"target_words":260,"purpose":"\u00dcbertr\u00e4gt procfs in wiederholbare Betriebsabl\u00e4ufe: Nur-Lese-Abfragen, Zeitstempel und zwei Messpunkte f\u00fcr Raten. Erkl\u00e4rt, welche Daten ein Monitoring-System in Intervallen erfassen und wie es Differenzen, Einheiten, Historien und Schwellenwerte aufbereiten muss. Ordnet procfs gegen\u00fcber ps, top beziehungsweise htop, free, vmstat, iostat, pidstat, ss und sar ein. Betont den sorgf\u00e4ltigen Umgang mit Kommandozeilen, Umgebungen und Prozessdaten.","source_ids":["S1","S5","S9"],"internal_link_ids":[]},{"id":"proc-troubleshooting","heading":"Diagnosepfade f\u00fcr langsame Dienste und Ressourcenengp\u00e4sse","part":3,"target_words":260,"purpose":"Enth\u00e4lt eine zweite, kompakte Tabelle mit Symptom, zuerst lesen, danach abgleichen und zu vermeidender Fehlinterpretation. Behandelt mindestens hohen Load, vermuteten Speicherdruck, auff\u00e4llige I\/O-Wartezeiten, viele offene Dateien und einen nicht startenden Dienst. Die Abl\u00e4ufe f\u00fchren von einem Symptom zu mehreren unabh\u00e4ngigen Signalen und benennen ausdr\u00fccklich, wann Rechte, Containergrenzen oder fehlende Kerneloptionen die Diagnoseansicht begrenzen.","source_ids":["S1","S3","S4","S5","S6","S9","S10"],"internal_link_ids":[]},{"id":"proc-decisions","heading":"Typische Fehlannahmen korrigieren und passende Werkzeuge w\u00e4hlen","part":3,"target_words":260,"purpose":"Fasst die entscheidenden Grenzen zusammen: wenig MemFree ist nicht automatisch RAM-Not, hoher Load beweist keine CPU-S\u00e4ttigung, iowait ist keine direkte Latenzmessung und procfs ist nicht auf jedem System identisch. Formuliert Entscheidungskriterien f\u00fcr direkte procfs-Analyse, Spezialwerkzeuge, Zeitreihenmonitoring und vertiefte cgroup-Analyse. Schlie\u00dft mit einer konservativen Regel f\u00fcr \/proc\/sys: nur begr\u00fcndet \u00e4ndern, Wirkung beobachten und \u00c4nderungen dokumentieren.","source_ids":["S1","S2","S4","S6","S11"],"internal_link_ids":[]}]},"repairs":1,"reviews":2,"issues":[],"guard":{"content_md5":"fe641734889fa48edfed948b0aab44cc","title":"Linux procfs for administratorer: oversigt over vigtige filer","slug":"linux-procfs-for-administratorer","excerpt":"procfs giver direkte indsigt i den k\u00f8rende Linux-kerne. Denne vejledning forklarer vigtige filer under \/proc, beskriver t\u00e6llere og \u00f8jebliksbilleder og viser sikre diagnostiske metoder til belastning, hukommelse, processer, I\/O og sysctl-parametre.","status":"draft","featured_media":21652},"verify":{"content_md5":"fe641734889fa48edfed948b0aab44cc","title":"Linux procfs for administratorer: oversigt over vigtige filer","slug":"linux-procfs-for-administratorer","excerpt":"procfs giver direkte indsigt i den k\u00f8rende Linux-kerne. Denne vejledning forklarer vigtige filer under \/proc, beskriver t\u00e6llere og \u00f8jebliksbilleder og viser sikre diagnostiske metoder til belastning, hukommelse, processer, I\/O og sysctl-parametre.","status":"draft","featured_media":21652},"row_number":1880,"created_at":"2026-09-22T06:47:00+00:00","updated_at":"2026-09-22T06:54:07+00:00","verified_at":"2026-09-22T06:54:03+00:00"},"_wh_make_research":"Recherche-Briefing: Linux procfs f\u00fcr Administratoren \u2013 wichtige Dateien im \u00dcberblick\n\nStand der Recherche: 22. September 2026. Zielumfang des sp\u00e4teren Fachartikels: 2.400 bis 2.700 W\u00f6rter.\n\nLeserfrage und Artikelziel\n\nDer Artikel beantwortet die praktische Frage: Welche Informationen liefert das \/proc filesystem bei der Linux-Administration, wie lassen sich die wichtigsten Dateien sicher lesen und wie sind ihre Werte einzuordnen?\n\nDer Schwerpunkt sollte nicht auf einer vollst\u00e4ndigen Liste aller Eintr\u00e4ge liegen. Sinnvoller ist eine Orientierung nach Administrationsaufgaben: Systemlast, CPU, Arbeitsspeicher, Prozesse, offene Dateien, Datentr\u00e4ger-I\/O, Netzwerk sowie Laufzeitparameter unter \/proc\/sys. Leser sollen nach dem Artikel wissen, welche Dateien bei einem konkreten Symptom als Erstes relevant sind, welche Werte nur Momentaufnahmen darstellen und wann spezialisierte Werkzeuge die bessere Wahl sind.\n\nGesicherte Funktionsweise\n\nprocfs ist ein virtuelles Dateisystem. Die Eintr\u00e4ge unter \/proc repr\u00e4sentieren Datenstrukturen und Zust\u00e4nde des laufenden Linux-Kernels; sie sind keine gew\u00f6hnlichen Dateien auf einem persistenten Datentr\u00e4ger. \/proc dient einerseits zum Auslesen von System- und Prozessinformationen, andererseits k\u00f6nnen bestimmte Kernelparameter \u00fcber \/proc\/sys zur Laufzeit konfiguriert werden. Welche Eintr\u00e4ge vorhanden sind, h\u00e4ngt unter anderem von Kernelversion, Kernelkonfiguration, Hardware, geladenen Modulen und Namespaces ab. ([docs.kernel.org](https:\/\/docs.kernel.org\/filesystems\/proc.html?utm_source=openai))\n\nDer Artikel sollte ausdr\u00fccklich zwischen drei Bereichen unterscheiden:\n\nErstens: globale, \u00fcberwiegend lesbare Statusdateien wie \/proc\/meminfo, \/proc\/stat, \/proc\/loadavg und \/proc\/diskstats.\n\nZweitens: prozessbezogene Verzeichnisse unter \/proc\/<PID>. Sie enthalten beispielsweise Statusdaten, Kommandozeile, offene Dateideskriptoren und Speicherabbildungen eines konkreten Prozesses. Der Link \/proc\/self verweist jeweils auf den Prozess, der ihn gerade liest. F\u00fcr fremde Prozesse gelten Zugriffspr\u00fcfungen; sensible Daten k\u00f6nnen au\u00dferdem durch die Mount-Option hidepid eingeschr\u00e4nkt oder verborgen sein. ([docs.kernel.org](https:\/\/docs.kernel.org\/filesystems\/proc.html?utm_source=openai))\n\nDrittens: \/proc\/sys als sysctl-Schnittstelle. Dort sind manche Werte lesbar und schreibbar. Der sp\u00e4tere Artikel sollte Lesezugriffe und \u00c4nderungen klar trennen: Das blo\u00dfe Anzeigen eines Werts ist Diagnostik, das Schreiben ver\u00e4ndert Kernelverhalten zur Laufzeit und verlangt eine fachliche Begr\u00fcndung, dokumentierte Auswirkungen sowie einen R\u00fcckweg. ([docs.kernel.org](https:\/\/docs.kernel.org\/admin-guide\/sysctl\/?utm_source=openai))\n\nVoraussetzungen und sichere Einordnung\n\nAdressiert werden Linux-Administratoren mit Shell-Grundkenntnissen. F\u00fcr viele Lesebeispiele gen\u00fcgt ein unprivilegierter Account; bei fremden Prozessen oder gesch\u00fctzten Daten k\u00f6nnen Rechte, Linux-Capabilities und die procfs-Mount-Optionen den Zugriff verhindern. Das ist kein Fehlerfall, sondern ein Sicherheitsmerkmal. ([docs.kernel.org](https:\/\/docs.kernel.org\/filesystems\/proc.html?utm_source=openai))\n\nDer Artikel sollte vorab vermitteln, dass procfs Werte in verschiedenen Einheiten und Zeitbez\u00fcgen ausgibt. Manche Z\u00e4hler gelten seit Systemstart, andere spiegeln einen aktuellen Zustand, wieder andere sind gleitende Durchschnitte. Erst zwei zeitlich getrennte Abfragen machen aus einem monotonen Z\u00e4hler eine Rate. Ein einzelner hoher Z\u00e4hler ist daher meist kein Leistungsnachweis.\n\nSichere Terminalbeispiele k\u00f6nnen konsequent nur lesend sein:\n\nTerminalbefehl:\ncat \/proc\/meminfo\n\nTerminalbefehl:\ncat \/proc\/loadavg\n\nTerminalbefehl:\ngrep -E '^(cpu|intr|ctxt|processes)' \/proc\/stat\n\nTerminalbefehl:\ncat \/proc\/$$\/status\n\nTerminalbefehl:\nls -l \/proc\/$$\/fd\n\nTerminalbefehl:\nfindmnt -T \/proc\n\nDie Beispiele verwenden $$ bewusst f\u00fcr die aktuelle Shell statt einer angenommenen PID. Sie \u00e4ndern weder Systemparameter noch Prozessdaten.\n\nKernstruktur f\u00fcr den sp\u00e4teren Artikel\n\n1. Systemzustand und Auslastung\n\n\/proc\/loadavg zeigt die Auslastungsdurchschnitte f\u00fcr 1, 5 und 15 Minuten. Anders als eine vereinfachende Erkl\u00e4rung \u201eCPU-Auslastung\u201c nahelegt, umfasst die Load Average laufbereite Scheduling-Einheiten im Zustand R und Einheiten im ununterbrechbaren Wartezustand D, h\u00e4ufig bei I\/O-Wartevorg\u00e4ngen. Der Artikel sollte daraus ableiten: Ein hoher Load-Wert beweist keine CPU-\u00dcberlastung; er ist ein Anlass, CPU-, Speicher- und I\/O-Signale zusammen zu pr\u00fcfen. Das vierte Feld zeigt aktuell ausf\u00fchrbare gegen\u00fcber insgesamt existierenden Kernel-Scheduling-Einheiten. ([man7.org](https:\/\/man7.org\/linux\/man-pages\/man5\/proc_loadavg.5.html?utm_source=openai))\n\n\/proc\/stat liefert globale Kernelstatistiken, insbesondere CPU-Zeitanteile seit dem Boot. CPU-Zeiten werden in USER_HZ gef\u00fchrt, wobei die Architektur beachtet werden muss. Der iowait-Wert verdient einen deutlichen Warnhinweis: Laut Manpage ist er aus mehreren Gr\u00fcnden nicht zuverl\u00e4ssig und kann unter bestimmten Bedingungen sogar sinken. Deshalb sollte der Artikel iowait nicht als isolierte I\/O-Latenzmessung darstellen. ([man7.org](https:\/\/www.man7.org\/linux\/man-pages\/man5\/proc_stat.5.html))\n\nErg\u00e4nzend passt \/proc\/uptime: Betriebsdauer und aggregierte Idle-Zeit liefern Kontext f\u00fcr Z\u00e4hler seit dem Boot, sind aber kein Ersatz f\u00fcr eine Zeitreihe.\n\n2. Arbeitsspeicher, Swap und Speicherdruck\n\n\/proc\/meminfo ist die zentrale Rohdatenquelle f\u00fcr die Speicher\u00fcbersicht. Die Datei liefert unter anderem MemTotal, MemFree, MemAvailable, Cached, Buffers und Swap-Werte. Besonders wichtig ist die Erkl\u00e4rung, dass MemAvailable eine Sch\u00e4tzung des Speichers ist, der f\u00fcr neue Anwendungen ohne Swapping verf\u00fcgbar sein soll. Der Artikel sollte nicht suggerieren, dass ein geringer MemFree-Wert allein Speichermangel bedeutet: Dateicache ist ein erwarteter Bestandteil der Speichernutzung. ([man7.org](https:\/\/www.man7.org\/linux\/man-pages\/man5\/proc_meminfo.5.html))\n\nF\u00fcr neuere oder entsprechend konfigurierte Systeme ist \/proc\/pressure besonders wertvoll. Die Dateien cpu, memory und io enthalten Stall-Anteile f\u00fcr 10, 60 und 300 Sekunden sowie einen kumulierten Stall-Z\u00e4hler. \u201esome\u201c bedeutet, dass mindestens einige Tasks blockiert waren; \u201efull\u201c beschreibt den Zustand, dass alle nicht-idlen Tasks gleichzeitig blockiert waren. Bei CPU-Druck ist systemweites full historisch beziehungsweise semantisch besonders einzuordnen und kann als null erscheinen. ([docs.kernel.org](https:\/\/docs.kernel.org\/accounting\/psi.html))\n\nPraxisfall: Eine Anwendung reagiert langsam, obwohl MemFree klein ist. Ablauf: MemAvailable pr\u00fcfen, anschlie\u00dfend \/proc\/pressure\/memory lesen und bei Bedarf prozessbezogen \/proc\/<PID>\/status betrachten. Erst die Kombination kann darauf hindeuten, ob echter Speicherdruck vorliegt.\n\n3. Prozesse gezielt untersuchen\n\n\/proc\/<PID>\/status ist f\u00fcr Menschen besser lesbar als die feldbasierte Datei \/proc\/<PID>\/stat. Sinnvolle Felder f\u00fcr den Artikel: Name, State, Pid, PPid, Threads, VmSize, VmRSS, FDSize, Kontextwechsel sowie gegebenenfalls Capabilities und Seccomp. Die Datei b\u00fcndelt Informationen aus stat und statm in menschenlesbarer Form. ([man7.org](https:\/\/man7.org\/linux\/man-pages\/man5\/proc_pid_status.5.html?utm_source=openai))\n\n\/proc\/<PID>\/cmdline hilft bei der Zuordnung eines Prozesses, kann aber Argumente enthalten, die vertraulich sein sollen. \/proc\/<PID>\/environ ist noch sensibler und sollte im Artikel nicht als Routinewerkzeug empfohlen werden. Der Hinweis ist wichtig, weil Kommandozeilen oder Umgebungsvariablen fehlerhaft konfigurierte Zugangsdaten enthalten k\u00f6nnen.\n\n\/proc\/<PID>\/fd zeigt die offenen Dateideskriptoren als symbolische Links. Praxisfall: Ein Dienst erreicht sein Dateideskriptor-Limit oder h\u00e4lt gel\u00f6schte Logdateien ge\u00f6ffnet. Der Artikel sollte erkl\u00e4ren, dass diese Ansicht eine Diagnosehilfe ist, aber keine pauschale Aussage \u00fcber ein Leck erlaubt: viele offene Deskriptoren k\u00f6nnen f\u00fcr Proxy-, Datenbank- oder Event-Server erwartbar sein.\n\n\/proc\/<PID>\/maps und \/proc\/<PID>\/smaps sind Spezialwerkzeuge f\u00fcr Speicheranalysen. maps listet virtuelle Speicherbereiche samt Berechtigungen, Offset, Ger\u00e4t, Inode und Pfad; smaps erg\u00e4nzt Speichernutzungswerte je Mapping. Wegen Umfang und Kosten sollte der Artikel diese Dateien als vertiefende Analyse einordnen, nicht als erste Standardabfrage. ([docs.kernel.org](https:\/\/docs.kernel.org\/filesystems\/proc.html))\n\n4. Datentr\u00e4ger und I\/O\n\n\/proc\/diskstats enth\u00e4lt I\/O-Statistiken je Blockger\u00e4t. Entscheidend ist die Einschr\u00e4nkung: Es handelt sich um kumulative Z\u00e4hler. F\u00fcr Raten, etwa gelesene Sektoren pro Sekunde, muss ein Tool zwei Stichproben vergleichen und die Differenz durch das Zeitintervall teilen. Au\u00dferdem m\u00fcssen Partitionen, virtuelle Ger\u00e4te, Device Mapper und physische Laufwerke sauber unterschieden werden. ([man7.org](https:\/\/man7.org\/linux\/man-pages\/man5\/proc_diskstats.5.html))\n\nPraxisfall: Hohe Load Average bei geringer CPU-Auslastung. Die sinnvolle Pr\u00fcfsequenz ist: \/proc\/loadavg als Symptom, \/proc\/stat mit Vorsicht beim iowait, \/proc\/diskstats als Ger\u00e4teperspektive und \/proc\/pressure\/io f\u00fcr beobachtbaren I\/O-Stall. Diese Kombination ist aussagekr\u00e4ftiger als ein einzelner Wert. ([man7.org](https:\/\/man7.org\/linux\/man-pages\/man5\/proc_loadavg.5.html?utm_source=openai))\n\n5. Laufzeitparameter unter \/proc\/sys\n\nDer Artikel sollte \/proc\/sys nicht als Tuning-Katalog behandeln. Sinnvoll sind exemplarische Lesef\u00e4lle:\n\n\/proc\/sys\/fs\/file-nr und file-max zur Einordnung systemweiter File-Handle-Nutzung und -Grenze. Bei file-nr ist das mittlere Feld auf Linux 2.6 und sp\u00e4ter stets null; dies ist laut Kernel-Dokumentation kein Fehler. ([docs.kernel.org](https:\/\/docs.kernel.org\/admin-guide\/sysctl\/fs.html?utm_source=openai))\n\n\/proc\/sys\/vm als Bereich f\u00fcr Speicherverwaltung. Warnbeispiel: drop_caches darf nicht als permanente Speicheroptimierung erscheinen. Die Kernel-Dokumentation beschreibt den Eingriff als nicht destruktiv, warnt aber vor Leistungsproblemen und empfiehlt seine Nutzung au\u00dferhalb von Test- oder Debug-Umgebungen nicht. ([docs.kernel.org](https:\/\/docs.kernel.org\/5.17\/admin-guide\/sysctl\/vm.html?utm_source=openai))\n\n\/proc\/sys\/net enth\u00e4lt netzwerkbezogene Einstellungen, wobei die vorhandenen Unterverzeichnisse von der Kernelkonfiguration abh\u00e4ngen. Statt konkrete Tuningwerte ohne Workload-Kontext zu nennen, sollte der Artikel auf die thematische Struktur und die Pflicht zur jeweiligen Kernel-Dokumentation verweisen. ([docs.kernel.org](https:\/\/docs.kernel.org\/7.1\/admin-guide\/sysctl\/net.html?utm_source=openai))\n\nEntscheidungsalternativen\n\nprocfs eignet sich f\u00fcr direkte Kernelansichten, Troubleshooting und einfache Skripte. F\u00fcr regelm\u00e4\u00dfiges Monitoring sind jedoch spezialisierte Werkzeuge und Zeitreihensysteme h\u00e4ufig geeigneter, weil sie Differenzen berechnen, Einheiten aufbereiten, Historien speichern und Schwellenwerte auswerten k\u00f6nnen. Der Artikel kann ps, top beziehungsweise htop, free, vmstat, iostat, pidstat, ss und sar als Einordnungsalternativen nennen, ohne zu behaupten, dass sie \u00fcberall identisch implementiert sind.\n\nsysfs unter \/sys ist abzugrenzen: Dort stehen prim\u00e4r Ger\u00e4te-, Treiber- und Hardwareobjekte im Vordergrund, w\u00e4hrend procfs den Prozess- und Kernelzustand sowie sysctl-Parameter sichtbar macht. F\u00fcr cgroup-bezogene Ressourcenanalysen ist die cgroup2-Schnittstelle relevant; PSI-Daten existieren bei passender Konfiguration auch pro cgroup. ([docs.kernel.org](https:\/\/docs.kernel.org\/accounting\/psi.html))\n\nGrenzen und typische Fehler\n\nWichtig ist der Hinweis auf Container und PID-Namespaces: Die sichtbare Prozesswelt kann von der Hostansicht abweichen. procfs-Instanzen k\u00f6nnen mit einem PID-Namespace verbunden sein; daraus folgt, dass \/proc in einem Container nicht automatisch den Gesamtzustand des Hosts zeigt. ([docs.kernel.org](https:\/\/docs.kernel.org\/filesystems\/proc.html?utm_source=openai))\n\nTypische Fehler, die der Artikel klar korrigieren sollte:\n\n\u201eWenig freier Speicher bedeutet RAM-Not.\u201c Korrekt ist: Cache und MemAvailable einbeziehen.\n\n\u201eHoher Load bedeutet CPU ist voll.\u201c Korrekt ist: auch blockierte D-Tasks und I\/O-Symptome pr\u00fcfen.\n\n\u201eiowait misst unmittelbar die Speicherlatenz.\u201c Korrekt ist: Der Wert hat dokumentierte Einschr\u00e4nkungen.\n\n\u201e\/proc-Dateien sind \u00fcberall gleich.\u201c Korrekt ist: Verf\u00fcgbarkeit und Felder k\u00f6nnen von Architektur, Kernelkonfiguration und Version abh\u00e4ngen.\n\n\u201eSchreiben nach \/proc\/sys ist nur tempor\u00e4res Feintuning.\u201c Korrekt ist: Es ver\u00e4ndert aktives Kernelverhalten und kann Seiteneffekte erzeugen.\n\nGeeignete Tabelleninformationen\n\nEine zentrale \u00dcbersichtstabelle sollte diese Spalten enthalten: Pfad, Zweck, typische Frage, Datencharakter, wichtige Einschr\u00e4nkung, sichere Leseabfrage.\n\nAufzunehmen sind mindestens \/proc\/loadavg, \/proc\/stat, \/proc\/meminfo, \/proc\/pressure\/cpu, \/proc\/pressure\/memory, \/proc\/pressure\/io, \/proc\/<PID>\/status, \/proc\/<PID>\/fd, \/proc\/<PID>\/maps, \/proc\/diskstats, \/proc\/sys\/fs\/file-nr und \/proc\/sys\/fs\/file-max.\n\nEine zweite, kleinere Tabelle kann die Diagnosepfade b\u00fcndeln: Symptom, zuerst lesen, danach abgleichen, Fehlinterpretation vermeiden. Ein Chart ist ohne eigene Zeitreihendaten nicht sinnvoll; stattdessen sollte der Artikel erkl\u00e4ren, welche procfs-Werte ein Monitoring-System in Intervallen erfassen m\u00fcsste.","_wh_make_sources":{"S1":{"id":"S1","url":"https:\/\/docs.kernel.org\/filesystems\/proc.html?utm_source=openai","title":"\/proc-filsystemet \u2014 Dokumentationen til Linux-kernen"},"S2":{"id":"S2","url":"https:\/\/docs.kernel.org\/admin-guide\/sysctl\/?utm_source=openai","title":"Dokumentation til \/proc\/sys \u2014 Dokumentationen til Linux-kernen"},"S3":{"id":"S3","url":"https:\/\/man7.org\/linux\/man-pages\/man5\/proc_loadavg.5.html?utm_source=openai","title":"proc_loadavg(5) \u2013 Linux-manualside"},"S4":{"id":"S4","url":"https:\/\/www.man7.org\/linux\/man-pages\/man5\/proc_stat.5.html","title":"proc_stat(5) - Linux-manualside"},"S5":{"id":"S5","url":"https:\/\/www.man7.org\/linux\/man-pages\/man5\/proc_meminfo.5.html","title":"proc_meminfo(5) \u2013 Linux-manualside"},"S6":{"id":"S6","url":"https:\/\/docs.kernel.org\/accounting\/psi.html","title":"PSI \u2013 Oplysninger om trykstall \u2014 Dokumentationen til Linux-kernen"},"S7":{"id":"S7","url":"https:\/\/man7.org\/linux\/man-pages\/man5\/proc_pid_status.5.html?utm_source=openai","title":"proc_pid_status(5) \u2013 Linux-manualside"},"S8":{"id":"S8","url":"https:\/\/docs.kernel.org\/filesystems\/proc.html","title":"\/proc-filsystemet \u2014 Dokumentationen til Linux-kernen"},"S9":{"id":"S9","url":"https:\/\/man7.org\/linux\/man-pages\/man5\/proc_diskstats.5.html","title":"proc_diskstats(5) \u2013 Linux-manualside"},"S10":{"id":"S10","url":"https:\/\/docs.kernel.org\/admin-guide\/sysctl\/fs.html?utm_source=openai","title":"Dokumentation til \/proc\/sys\/fs\/ \u2014 Dokumentationen til Linux-kernen"},"S11":{"id":"S11","url":"https:\/\/docs.kernel.org\/5.17\/admin-guide\/sysctl\/vm.html?utm_source=openai","title":"Dokumentation til \/proc\/sys\/vm\/ \u2014 Dokumentationen til Linux-kernen"},"S12":{"id":"S12","url":"https:\/\/docs.kernel.org\/7.1\/admin-guide\/sysctl\/net.html?utm_source=openai","title":"Dokumentation til \/proc\/sys\/net\/ \u2014 Linux-kernelens dokumentation"}},"_wh_make_usage":{"research":{"input_tokens":30521,"output_tokens":3813,"response_id":"resp_073ed8ff6b382178016ab2246876cc87d2b8503366ac1664e4","model":"gpt-5.6-terra","search_calls":3},"plan_bf5ef0afe81bff06d64e1f2192080095":{"input_tokens":6058,"output_tokens":1559,"response_id":"resp_0de368bfe35cea85016ab224a353d087d28d1dd339864c9ac0","model":"gpt-5.6-terra","search_calls":0},"part1_23d7b85a19c3a588cf1ae808e44a02d5":{"input_tokens":8462,"output_tokens":1774,"response_id":"resp_08c3c732be80a763016ab224b8d5a487d28a666b4d2d7de86d","model":"gpt-5.6-terra","search_calls":0},"part2_265b0195f2bbd3fe54c408a58c583078":{"input_tokens":8587,"output_tokens":2518,"response_id":"resp_0d6f6e442e8828d9016ab224d32bc087d294d2ec6d0f53ae99","model":"gpt-5.6-terra","search_calls":0},"part3_10dd185c9e68e880cbfa341be1017e42":{"input_tokens":8569,"output_tokens":2695,"response_id":"resp_0e13b6bb3db886f2016ab224f7f0f887d29c8e52b06d1ccc26","model":"gpt-5.6-terra","search_calls":0},"package_2b344208a5cdfa03fb14b181daaacab7":{"input_tokens":13729,"output_tokens":1220,"response_id":"resp_0eab4b76e280b0c9016ab2252000ec87d29b728d74143c9b58","model":"gpt-5.6-terra","search_calls":0},"review_47b9972c3a85c20d135bb6f77968c58a":{"input_tokens":42548,"output_tokens":1816,"response_id":"resp_06b1fa8a0870acc2016ab2253577d487d2826514bcbe3f7af1","model":"gpt-5.6-sol","search_calls":3},"repair_1e91e3d00fd20b26c9ae106396ec02bf":{"input_tokens":15734,"output_tokens":5609,"response_id":"resp_05eb95a26f473ddc016ab22566298087d2aabd6ac45b7b59bb","model":"gpt-5.6-terra","search_calls":0},"review_1a13bbea094331829e89c25e79bcbca3":{"input_tokens":36697,"output_tokens":1127,"response_id":"resp_0253a1b193c86284016ab225a478bc87d290374c823bac6e4d","model":"gpt-5.6-sol","search_calls":2},"image_hero":{"input_tokens":111,"output_tokens":343,"response_id":"","model":"gpt-image-2.5-flare","search_calls":0},"image_detail1":{"input_tokens":100,"output_tokens":343,"response_id":"","model":"gpt-image-2.5-flare","search_calls":0},"image_detail2":{"input_tokens":117,"output_tokens":343,"response_id":"","model":"gpt-image-2.5-flare","search_calls":0}},"_wh_make_last_error":"","_wh_make_write_intent":{"before":{"content_md5":"b70de2ef86b367d71a1ba876dbc337ce","title":"Linux procfs for administratorer: oversigt over vigtige filer","slug":"linux-procfs-for-administratorer","excerpt":"procfs giver direkte indsigt i den k\u00f8rende Linux-kerne. Denne vejledning forklarer vigtige filer under \/proc, beskriver t\u00e6llere og \u00f8jebliksbilleder og viser sikre diagnostiske metoder til belastning, hukommelse, processer, I\/O og sysctl-parametre.","status":"draft","featured_media":0},"expected":{"content_md5":"fe641734889fa48edfed948b0aab44cc","title":"Linux procfs for administratorer: oversigt over vigtige filer","slug":"linux-procfs-for-administratorer","excerpt":"procfs giver direkte indsigt i den k\u00f8rende Linux-kerne. Denne vejledning forklarer vigtige filer under \/proc, beskriver t\u00e6llere og \u00f8jebliksbilleder og viser sikre diagnostiske metoder til belastning, hukommelse, processer, I\/O og sysctl-parametre.","status":"draft","featured_media":21652},"at":"2026-09-22T06:53:51+00:00"},"_wh_make_design_version":"2.1.1","rank_math_title":"Linux procfs: wichtige \/proc-Dateien erkl\u00e4rt","_wh_make_doc":{"title":"Linux procfs for administratorer: oversigt over vigtige filer","slug":"linux-procfs-for-administratorer","excerpt":"procfs giver direkte indsigt i den k\u00f8rende Linux-kerne. Denne vejledning forklarer vigtige filer under \/proc, beskriver t\u00e6llere og \u00f8jebliksbilleder og viser sikre diagnostiske metoder til belastning, hukommelse, processer, I\/O og sysctl-parametre.","seo":{"title":"Linux procfs: en forklaring p\u00e5 vigtige \/proc-filer","description":"Vigtige procfs-filer for Linux-administratorer: Hvordan man korrekt afl\u00e6ser og fortolker systembelastning, hukommelse, processer, I\/O og \/proc\/sys.","focus_keyword":"Linux procfs"},"lead":[{"kind":"text","text":"Das ","ref":""},{"kind":"strong","text":"Linux procfs","ref":""},{"kind":"text","text":" zeigt den aktuellen Zustand des Kernels \u00fcber virtuelle Dateien unter \/proc. F\u00fcr die Administration sind vor allem Last, Speicher, Prozesse, Dateideskriptoren und Blockger\u00e4te relevant. Entscheidend ist die Einordnung: Manche Werte sind Momentaufnahmen, andere Z\u00e4hler seit dem Boot oder gleitende Mittelwerte. Lies deshalb nie nur einen Einzelwert, sondern gleiche ihn mit passenden Signalen und dem Kontext von Host, VM oder Container ab. ","ref":""},{"kind":"citation","text":"","ref":"S1"}],"images":{"hero":{"prompt":"Konzeptionelle technische Illustration eines Linux-Servers als transparenter Kern mit mehreren klar getrennten Datenstr\u00f6men zu virtuellen Dateiansichten: CPU-Auslastung, Arbeitsspeicher, Prozesse, Datentr\u00e4ger-I\/O und Netzwerk. Abstrakte Terminal- und Dateisystemelemente, dunkler neutraler Hintergrund, pr\u00e4ziser Editorial-Stil, keine Schrift, keine Zahlen, keine Logos.","alt":"Konzeptionelle Darstellung von Kernelzust\u00e4nden, die \u00fcber procfs sichtbar werden.","caption":"Konzeptionelle Illustration: procfs macht ausgew\u00e4hlte Zust\u00e4nde des laufenden Kernels als Dateiansichten zug\u00e4nglich.","filename_base":"linux-procfs-kernelansicht","section_id":"","after_block":0},"detail1":{"prompt":"Konzeptionelle Infografik zu kombinierter Linux-Diagnose: ein zentraler Lastindikator verzweigt zu CPU-Zeit, verf\u00fcgbarem Speicher, Speicher-Stalls und I\/O-Stalls. Zeige Zusammenh\u00e4nge durch farblich zur\u00fcckhaltende Linien und abstrahierte Systemmodule, ohne Text, Zahlen, Legenden oder Logos.","alt":"Konzeptionelle Verkn\u00fcpfung von Last-, Speicher-, CPU- und I\/O-Signalen.","caption":"Konzeptionelle Illustration: Erst mehrere Kernelindikatoren zusammen erm\u00f6glichen eine belastbare Einordnung von Last.","filename_base":"procfs-last-speicher-signale","section_id":"proc-load-memory","after_block":1},"detail2":{"prompt":"Konzeptionelle technische Darstellung mit zwei getrennten Analyseebenen: links ein einzelner Linux-Prozess mit offenen Dateideskriptoren und virtuellen Speicherbereichen, rechts systemweite Blockger\u00e4te-I\/O. Dazwischen eine abstrahierte Dateisystem-, Cache- und Device-Mapper-Schicht, die keine direkte 1:1-Verbindung suggeriert. Sachlicher dunkler Stil, keine Schrift, Zahlen oder Logos.","alt":"Getrennte Darstellung von Prozessressourcen und systemweiter Ger\u00e4te-I\/O mit abstrahierter Vermittlungsschicht.","caption":"Konzeptionelle Illustration: Prozessdaten und Blockger\u00e4te-I\/O sind getrennte Analyseebenen, die nicht direkt eins zu eins zugeordnet werden k\u00f6nnen.","filename_base":"procfs-prozess-fd-io","section_id":"proc-process-io","after_block":2}},"chart":null,"social":{"facebook":"Linux procfs richtig nutzen: Welche \/proc-Dateien bei Last, Speicherproblemen, Prozessen und I\/O wirklich weiterhelfen \u2013 und warum Einzelwerte oft t\u00e4uschen.","instagram":"procfs ist keine gew\u00f6hnliche Dateiablage: So ordnest du \/proc-Werte f\u00fcr Last, Speicher, Prozesse und I\/O korrekt ein.","tiktok":"Hoher Load ist nicht automatisch CPU-Last. Diese procfs-Dateien helfen bei der Linux-Diagnose.","youtube":"Linux procfs erkl\u00e4rt: Wichtige \/proc-Dateien f\u00fcr Last, RAM, Prozesse und I\/O richtig lesen","threads":"procfs liefert Kernel-Rohdaten, aber selten sofort eine Diagnose. Entscheidend sind Zeitbezug, Namespace und der Abgleich mehrerer Signale.","x":"Linux procfs f\u00fcr Admins: \/proc\/loadavg, meminfo, stat, pressure, Prozesspfade und diskstats richtig einordnen. Warum hohe Load, wenig MemFree oder iowait allein keine Diagnose sind."},"avatar_script":"procfs ist die direkte Dateiansicht auf viele Zust\u00e4nde des laufenden Linux-Kernels. F\u00fcr die t\u00e4gliche Diagnose ist nicht entscheidend, m\u00f6glichst viele Dateien zu kennen, sondern passende Signale zusammenzuf\u00fchren. Ein hoher Load Average kann CPU-Konkurrenz bedeuten, aber ebenso auf wartende I\/O-Tasks hinweisen. Wenig MemFree ist normal, wenn der Kernel RAM als Cache verwendet; MemAvailable und Speicher-PSI liefern den wichtigeren Kontext. Prozessverzeichnisse helfen bei einzelnen Diensten, k\u00f6nnen aber durch Rechte, hidepid oder PID-Namespaces eingeschr\u00e4nkt sein. Unter \/proc\/sys beginnt dagegen Konfiguration: Lesen ist Diagnostik, Schreiben ver\u00e4ndert aktives Kernelverhalten. F\u00fcr Trends und Alarmierung erg\u00e4nzen Monitoring-Werkzeuge die punktuelle procfs-Abfrage.","version_note":"Recherchestand: 22. September 2026. Die sichtbaren procfs-Pfade und Felder k\u00f6nnen je nach Kernelversion, Konfiguration, Hardware, Namespaces und Berechtigungen abweichen. Die f\u00fcr drop_caches und Netzwerkparameter herangezogenen Kernel-Dokumentationen sind versionsgebunden; pr\u00fcfe bei abweichender Kernelversion die Dokumentation des eingesetzten Kernels.","sections":[{"id":"proc-basics","heading":"procfs verstehen: virtuelle Kernelansicht statt Datenspeicher","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Das ","ref":""},{"kind":"strong","text":"procfs","ref":""},{"kind":"text","text":" ist ein virtuelles Dateisystem: Die Eintr\u00e4ge unter \/proc bilden Datenstrukturen und Zust\u00e4nde des laufenden Linux-Kernels ab. Sie liegen nicht als dauerhaft gespeicherte Inhalte auf einem Datentr\u00e4ger. Beim Lesen erzeugt der Kernel die jeweilige Ansicht aus seinem aktuellen Zustand; nach einem Neustart beginnen etwa viele Z\u00e4hler erneut. Deshalb ist \/proc eine Schnittstelle f\u00fcr Beobachtung und teilweise Steuerung, kein Ort f\u00fcr eigene Dateien oder persistente Konfigurationen. ","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr die Administration sind drei Bereiche zu unterscheiden. Globale Statusdateien wie \/proc\/meminfo, \/proc\/stat oder \/proc\/loadavg liefern kernelweite Kennzahlen. Verzeichnisse mit numerischen Namen, etwa \/proc\/1234, liefern Details zu einem einzelnen Prozess. Unter \/proc\/sys liegen dagegen Kernelparameter, die abh\u00e4ngig von Berechtigung und Parameter sowohl lesbar als auch schreibbar sein k\u00f6nnen. Die \u00e4hnliche Dateiform darf nicht dar\u00fcber hinwegt\u00e4uschen, dass Statusabfrage und Konfigurations\u00e4nderung grundverschiedene Folgen haben. ","ref":""},{"kind":"citation","text":"","ref":"S8"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Welche Pfade und Felder vorhanden sind, ist nicht auf jedem Linux-System identisch. Kernelversion und -konfiguration, Architektur, erkannte Hardware sowie geladene Module beeinflussen die sichtbaren Eintr\u00e4ge. Auch Namespaces ver\u00e4ndern einzelne Ansichten. Ein procfs, das mit einem PID-Namespace verbunden ist, begrenzt insbesondere die Prozess- und PID-Sicht; daraus folgt jedoch nicht, dass globale Dateien automatisch container- oder cgroup-spezifische Werte zeigen. Skripte sollten Dateien und Felder pr\u00fcfen, bevor sie deren Inhalt auswerten, statt eine vollst\u00e4ndige, \u00fcberall gleiche procfs-Struktur vorauszusetzen. ","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Davon abzugrenzen ist sysfs unter \/sys: Es stellt vor allem Ger\u00e4te, Treiber und Hardwareobjekte dar. F\u00fcr Ressourcenverteilung und Grenzen von Gruppen ist au\u00dferdem cgroup2 relevant. procfs bleibt jedoch die unmittelbare Quelle f\u00fcr viele Kernel- und Prozesszust\u00e4nde, die bei einer ersten Diagnose ben\u00f6tigt werden. ","ref":""},{"kind":"citation","text":"","ref":"S8"}]}]},{"id":"proc-time-context","heading":"Z\u00e4hler, Momentaufnahmen und Sichtbarkeit richtig einordnen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Der Wert allein erkl\u00e4rt bei procfs selten ein Problem. Zuerst ist sein Zeitbezug zu kl\u00e4ren: Einige Angaben sind ","ref":""},{"kind":"strong","text":"kumulative Z\u00e4hler","ref":""},{"kind":"text","text":" seit Systemstart, andere beschreiben einen aktuellen Zustand, wieder andere bilden gleitende Zeitfenster ab. Ein hoher Z\u00e4hlerstand zeigt zun\u00e4chst nur, dass sich ein Ereignis seit dem Boot summiert hat. Eine Rate entsteht erst aus zwei Messpunkten: Differenz der Werte geteilt durch das dazwischenliegende Zeitintervall. Das gilt beispielsweise f\u00fcr viele CPU-, Interrupt- und Datentr\u00e4gerz\u00e4hler. ","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Datei \/proc\/uptime liefert die vergangene Betriebsdauer und die aggregierte Idle-Zeit. Sie hilft, Z\u00e4hler seit dem Start zeitlich einzuordnen, ersetzt aber keine Messreihe. Eine einmalige Abfrage ist eine Momentaufnahme; f\u00fcr belastbare Aussagen \u00fcber Trends, Spitzen oder wiederkehrende Last braucht es wiederholte Abfragen mit Zeitstempel. Dabei k\u00f6nnen sich Werte bereits w\u00e4hrend des Lesens ver\u00e4ndern, weil der Kernel weiterarbeitet. ","ref":""},{"kind":"citation","text":"","ref":"S8"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Auch die sichtbaren Daten haben Grenzen. \/proc\/self verweist stets auf den Prozess, der den Pfad gerade aufl\u00f6st. Damit ist er f\u00fcr Skripte und interaktive Pr\u00fcfungen praktisch, ohne eine PID anzunehmen. Der Zugriff auf fremde Prozessverzeichnisse kann jedoch durch Dateirechte, Linux-Capabilities und die procfs-Mount-Option ","ref":""},{"kind":"code","text":"hidepid","ref":""},{"kind":"text","text":" eingeschr\u00e4nkt sein. Fehlende Einblicke sind in diesem Fall kein defektes procfs, sondern ein Schutz gegen das Auslesen sensibler Prozessinformationen. ","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Besondere Vorsicht gilt in Containern. Ein an einen PID-Namespace gebundenes procfs zeigt bei prozessbezogenen Pfaden nur die Prozesse dieser Namespace-Sicht. Globale Kerneldateien wie \/proc\/meminfo, \/proc\/stat oder \/proc\/diskstats k\u00f6nnen dagegen weiterhin Werte des Hosts widerspiegeln und sind nicht automatisch auf das Containerlimit begrenzt. Vor jeder Diagnose ist daher zu kl\u00e4ren, ob die Frage Prozesse, globale Kernelwerte oder die tats\u00e4chlich zugewiesenen Ressourcen betrifft; Limits und Nutzung eines Containers geh\u00f6ren zus\u00e4tzlich in die cgroup2-Analyse. ","ref":""},{"kind":"citation","text":"","ref":"S8"}]}]},{"id":"proc-sysctl-boundary","heading":"Lesen, konfigurieren und absichern unter \/proc\/sys","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Der Bereich ","ref":""},{"kind":"strong","text":"\/proc\/sys","ref":""},{"kind":"text","text":" ist die Dateisystemansicht der sysctl-Schnittstelle. Das Lesen eines Werts dient der Diagnostik. Ein Schreibzugriff ver\u00e4ndert dagegen unmittelbar das Verhalten des laufenden Kernels und kann Dienste, Ressourcenverbrauch oder Sicherheitsmerkmale beeinflussen. Dass eine \u00c4nderung ohne Neustart wirkt, macht sie nicht risikolos und auch nicht automatisch dauerhaft: Persistenz h\u00e4ngt von der gew\u00e4hlten Systemkonfiguration ab. ","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Verzeichnisstruktur erleichtert die erste Einordnung. Unter \/proc\/sys\/fs stehen unter anderem globale Dateisystem- und File-Handle-Parameter. \/proc\/sys\/vm b\u00fcndelt Einstellungen der Speicherverwaltung, w\u00e4hrend \/proc\/sys\/net netzwerkbezogene Parameter enth\u00e4lt. Welche Unterverzeichnisse und Schl\u00fcssel verf\u00fcgbar sind, h\u00e4ngt wiederum von Kernelkonfiguration und Funktionen des Systems ab. Ein vorhandener Parameter ist daher kein allgemeines Tuning-Rezept; seine Dokumentation und der konkrete Workload sind ma\u00dfgeblich. ","ref":""},{"kind":"citation","text":"","ref":"S10"},{"kind":"citation","text":"","ref":"S11"},{"kind":"citation","text":"","ref":"S12"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein Gegenbeispiel f\u00fcr scheinbare Optimierung ist ","ref":""},{"kind":"code","text":"drop_caches","ref":""},{"kind":"text","text":" unter \/proc\/sys\/vm. Die Kernel-Dokumentation ordnet die Funktion Debugging und Tests zu und r\u00e4t von einem Einsatz au\u00dferhalb solcher Zwecke ab, weil das Leeren wiederverwendbarer Caches Leistung kosten kann. Wenig freier Speicher ist f\u00fcr sich genommen kein Grund, Caches zu verwerfen: Der Kernel nutzt RAM bewusst auch f\u00fcr Dateicache. ","ref":""},{"kind":"citation","text":"","ref":"S11"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Vor jeder \u00c4nderung sollte eine nachvollziehbare Ursache vorliegen. Sichere zuerst den Ausgangswert, dokumentiere Zweck und erwartete Nebenwirkungen, \u00e4ndere kontrolliert und beobachte anschlie\u00dfend passende Messwerte sowie Dienstverhalten. Plane den R\u00fcckweg vorab und \u00fcbernimm einen Wert erst nach fachlicher Pr\u00fcfung in eine dauerhafte Konfiguration. Weiterf\u00fchrende Grundlagen zu Parametern und ihrer kontrollierten Verwaltung behandelt der Beitrag ","ref":""},{"kind":"internal_link","text":"Kernel-Tuning im Linux-Hosting: Sysctl-Parameter im \u00dcberblick","ref":"I2"},{"kind":"text","text":".","ref":""}]}]},{"id":"proc-overview-table","heading":"Die wichtigsten procfs-Dateien nach Administrationsaufgabe","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Die Auswahl einer procfs-Datei sollte von der Administrationsfrage ausgehen, nicht von einer m\u00f6glichst vollst\u00e4ndigen Verzeichnisliste. Globale Dateien liefern oft kernelweite Werte, Prozesspfade beschreiben einen einzelnen sichtbaren Prozess, und Eintr\u00e4ge unter \/proc\/sys\/fs liefern Konfiguration und systemweite Grenzen. Einige Werte sind aktuelle Zust\u00e4nde, andere seit dem Boot kumulierte Z\u00e4hler oder gleitende Durchschnitte. Diese Unterscheidung entscheidet dar\u00fcber, ob ein einzelnes Auslesen gen\u00fcgt oder zwei Messpunkte n\u00f6tig sind.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"table","caption":"Wichtige procfs-Dateien f\u00fcr typische Verwaltungsfragen","headers":["Pfad","Zweck","Typische Frage","Datencharakter","Wichtige Einschr\u00e4nkung","Sichere Leseabfrage"],"rows":[["\/proc\/loadavg","Systemlast","Sind Aufgaben wartend?","1-, 5-, 15-Minuten-Mittel","Keine reine CPU-Auslastung","cat \/proc\/loadavg"],["\/proc\/stat","CPU- und Kernelz\u00e4hler","Wie verteilen sich CPU-Zeiten?","Seit Boot kumuliert","iowait nicht isoliert bewerten","grep -E '^(cpu|intr|ctxt|processes)' \/proc\/stat"],["\/proc\/meminfo","Speicher\u00fcbersicht","Ist Speicher verf\u00fcgbar?","Aktuelle Speicherwerte","MemFree allein gen\u00fcgt nicht; im Container nicht zwingend cgroup-spezifisch","cat \/proc\/meminfo"],["\/proc\/pressure\/cpu","CPU-Stalls","Warten Tasks auf CPU?","Zeitfenster und Z\u00e4hler","Systemweites full ist nicht interpretierbar und wird als null ausgegeben","cat \/proc\/pressure\/cpu"],["\/proc\/pressure\/memory","Speicherdruck","Blockiert Speicherknappheit Tasks?","Zeitfenster und Z\u00e4hler","PSI muss verf\u00fcgbar sein","cat \/proc\/pressure\/memory"],["\/proc\/pressure\/io","I\/O-Stalls","Warten Tasks auf I\/O?","Zeitfenster und Z\u00e4hler","Kein Ersatz f\u00fcr Ger\u00e4teanalyse","cat \/proc\/pressure\/io"],["\/proc\/<PID>\/status","Prozessstatus","Wie gro\u00df und aktiv ist ein Prozess?","Aktuelle Prozessdaten","Rechte und PID-Namespace k\u00f6nnen Zugriff begrenzen","cat \/proc\/$$\/status"],["\/proc\/<PID>\/fd","Offene Deskriptoren","Welche Objekte h\u00e4lt ein Prozess?","Aktuelle symbolische Links","Viele FDs sind nicht automatisch ein Leck","ls -l \/proc\/$$\/fd"],["\/proc\/<PID>\/maps","Virtuelle Mappings","Welche Bereiche hat ein Prozess eingebunden?","Aktuelle Mappingliste","F\u00fcr die Erstanalyse oft zu umfangreich","cat \/proc\/$$\/maps"],["\/proc\/diskstats","Blockger\u00e4te-I\/O","Welche Ger\u00e4te arbeiten?","Seit Boot kumuliert","Raten erfordern zwei Stichproben; Werte k\u00f6nnen hostweit sein","cat \/proc\/diskstats"],["\/proc\/sys\/fs\/file-nr","File-Handle-Nutzung","Wie viele Handles nutzt das System?","Aktueller Z\u00e4hler und Grenze","Mittleres Feld ist auf modernen Linux-Systemen null","cat \/proc\/sys\/fs\/file-nr"],["\/proc\/sys\/fs\/file-max","File-Handle-Grenze","Welche globale Obergrenze gilt?","Aktiver Parameter","Nicht mit Prozesslimit verwechseln","cat \/proc\/sys\/fs\/file-max"]],"source_ids":["S1","S3","S4","S5","S6","S7","S9","S10"]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Tabelle ist eine Einstiegshilfe, keine Diagnosekette. Ein auff\u00e4lliger Wert verlangt stets ein unabh\u00e4ngiges Gegenzeichen: Load mit CPU- und I\/O-Daten, Speicherwerte mit Pressure Stall Information und Prozessgr\u00f6\u00dfen mit dem Verhalten des Dienstes. Besonders \/proc\/diskstats und \/proc\/stat sind ","ref":""},{"kind":"strong","text":"kumulative Z\u00e4hler","ref":""},{"kind":"text","text":"; ihre Differenz \u00fcber ein bekanntes Intervall ist f\u00fcr Raten aussagekr\u00e4ftiger als der absolute Stand. In Containern ist zus\u00e4tzlich zu pr\u00fcfen, ob eine Datei globale Kernelwerte oder eine pro cgroup verf\u00fcgbare Sicht liefert. Die folgenden Abschnitte ordnen die Signale deshalb nach Last, Speicher, Prozessen und I\/O ein.","ref":""}]}]},{"id":"proc-load-memory","heading":"Last, CPU und Speicher: Signale kombiniert bewerten","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Bei einer langsamen Anwendung ist \/proc\/loadavg ein sinnvoller Start, aber kein Urteil \u00fcber die CPU. Die drei Werte bilden die durchschnittliche Last der letzten 1, 5 und 15 Minuten ab. In die Last gehen nicht nur laufbereite Einheiten im Zustand R ein, sondern auch Tasks im ununterbrechbaren Wartezustand D, etwa bei I\/O. Das vierte Feld zeigt die aktuell ausf\u00fchrbaren gegen\u00fcber allen existierenden Scheduling-Einheiten. Hoher ","ref":""},{"kind":"strong","text":"Load Average","ref":""},{"kind":"text","text":" kann daher auf CPU-Konkurrenz, blockierte I\/O-Zugriffe oder beides hinweisen.","ref":""},{"kind":"citation","text":"","ref":"S3"}]},{"type":"code","language":"sh","code":"cat \/proc\/loadavg\ngrep -E '^(cpu|intr|ctxt|processes)' \/proc\/stat\ncat \/proc\/meminfo\ncat \/proc\/pressure\/memory","source_ids":["S3","S4","S5","S6"]},{"type":"paragraph","runs":[{"kind":"text","text":"Die CPU-Zeilen aus \/proc\/stat enthalten Zeitanteile seit dem Systemstart in USER_HZ. Um daraus Auslastungsanteile zu ermitteln, m\u00fcssen zwei Abfragen verglichen werden; ein einzelner Stand zeigt nur angesammelte Zeit. Der Wert iowait ist dabei kein unmittelbares Latenzma\u00df f\u00fcr Storage: Seine Berechnung hat dokumentierte Grenzen und kann unter bestimmten Umst\u00e4nden sogar sinken. F\u00fcr eine I\/O-Ursache sind daher zus\u00e4tzlich Ger\u00e4tewerte und I\/O-PSI sinnvoll.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Auch ein niedriger Wert bei MemFree beweist noch keine RAM-Not. Linux nutzt unbenutzten Arbeitsspeicher gezielt f\u00fcr Cache. MemAvailable sch\u00e4tzt, wie viel Speicher neue Anwendungen voraussichtlich ohne Swapping erhalten k\u00f6nnen, und ist f\u00fcr die erste Einordnung meist hilfreicher. Erst wenn MemAvailable knapp wird und gleichzeitig Speicher-Stalls auftreten, verdichtet sich der Hinweis auf ","ref":""},{"kind":"strong","text":"Speicherdruck","ref":""},{"kind":"text","text":". In einem Container k\u00f6nnen diese globalen Speicherwerte allerdings vom Host stammen; f\u00fcr zugesicherte oder begrenzte Ressourcen ist die cgroup2-Sicht zus\u00e4tzlich ma\u00dfgeblich.","ref":""},{"kind":"citation","text":"","ref":"S5"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Dateien unter \/proc\/pressure erg\u00e4nzen diese Sicht. Bei memory und io bedeutet some, dass wenigstens einige Tasks w\u00e4hrend eines Anteils des Zeitfensters nicht weiterkamen; full steht dort f\u00fcr einen Zustand, in dem alle nicht-idlen Tasks gleichzeitig blockiert waren. Die Angaben avg10, avg60 und avg300 beziehen sich auf 10, 60 und 300 Sekunden, total ist ein kumulierter Stall-Z\u00e4hler. F\u00fcr CPU ist systemweites full semantisch nicht definiert und wird seit Linux 5.13 aus Kompatibilit\u00e4tsgr\u00fcnden als null ausgegeben; als Diagnosewert ist es auf Systemebene daher nicht zu interpretieren. CPU-, memory- und io-PSI beantworten unterschiedliche Fragen und sollten nicht gegeneinander ausgetauscht werden.","ref":""},{"kind":"citation","text":"","ref":"S6"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Reagiert ein Dienst bei geringem MemFree langsam, pr\u00fcfst du zun\u00e4chst MemAvailable und \/proc\/pressure\/memory. Sind beide unauff\u00e4llig, spricht das gegen akuten systemweiten Speicherdruck. Anschlie\u00dfend kann \/proc\/<PID>\/status zeigen, ob der betroffene Prozess etwa eine hohe VmRSS-N\u00e4herung, viele Threads oder einen auff\u00e4lligen State aufweist. Diese Kombination trennt eine Cache-lastige, aber normale Speichernutzung von einem Problem, das weitere Prozessanalyse verlangt.","ref":""},{"kind":"citation","text":"","ref":"S7"}]}]},{"id":"proc-process-io","heading":"Prozesse, Dateideskriptoren und Datentr\u00e4ger-I\/O untersuchen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr eine sichere \u00dcbung mit einem garantiert vorhandenen Prozess steht $$ f\u00fcr die PID der aktuellen Shell. Die status-Datei ist menschenlesbarer als die feldorientierte stat-Datei. Name identifiziert den Prozess, State seinen Zustand, PPid den Elternprozess und Threads die Thread-Anzahl. VmRSS ist eine schnelle N\u00e4herung f\u00fcr residenten Speicher, deren RSS-Buchf\u00fchrung skalierbar und asynchron erfolgt und deshalb ungenau sein kann; VmSize beschreibt dagegen virtuellen Adressraum. FDSize beschreibt die Gr\u00f6\u00dfe der Deskriptortabelle, nicht zwingend die Zahl aktuell offener Eintr\u00e4ge. Freiwillige und unfreiwillige Kontextwechsel k\u00f6nnen bei der Einordnung von Scheduling-Verhalten helfen, sind allein aber kein Fehlerbeweis.","ref":""},{"kind":"citation","text":"","ref":"S7"},{"kind":"citation","text":"","ref":"S1"}]},{"type":"code","language":"sh","code":"cat \/proc\/$$\/status\nls -l \/proc\/$$\/fd","source_ids":["S7","S1"]},{"type":"paragraph","runs":[{"kind":"text","text":"Das fd-Verzeichnis enth\u00e4lt symbolische Links auf offene Dateien, Pipes, Ger\u00e4te oder Sockets. Es hilft etwa, einen Prozess zu finden, der eine gel\u00f6schte Logdatei weiterhin ge\u00f6ffnet h\u00e4lt. Eine gro\u00dfe Zahl offener Dateideskriptoren ist jedoch bei Proxys, Datenbanken oder ereignisorientierten Servern durchaus erwartbar. F\u00fcr gefilterte Ansichten und die Zuordnung \u00fcber Prozesse hinweg ist ","ref":""},{"kind":"internal_link","text":"lsof zur Analyse offener Dateien einsetzen","ref":"I3"},{"kind":"text","text":" eine passende Erg\u00e4nzung. Kommandozeilen aus cmdline k\u00f6nnen vertrauliche Argumente preisgeben; environ ist wegen m\u00f6glicher Zugangsdaten oder Tokens noch sensibler und keine Routineabfrage.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"maps listet virtuelle Speicherbereiche mit Berechtigungen, Offset, Ger\u00e4t, Inode und gegebenenfalls Pfad. smaps erg\u00e4nzt je Mapping detaillierte Speicherwerte und liefert gegen\u00fcber RSS-Angaben eine genauere, aber aufwendigere Momentaufnahme. Beide Dateien sind f\u00fcr vertiefte Speicheranalysen gedacht: Ihre Ausgabe kann gro\u00df sein, und die Interpretation einzelner Mappings erfordert Kontext. F\u00fcr den ersten Blick sind status und die systemweiten Speicher- und PSI-Dateien meist effizienter.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei hohem Load und geringer CPU-Auslastung erweitert \/proc\/diskstats die Diagnose um die Ger\u00e4teebene. Die Datei f\u00fchrt pro Blockger\u00e4t kumulative I\/O-Statistiken. Um Aktivit\u00e4t als Rate zu bewerten, m\u00fcssen zwei Zeitpunkte verglichen werden. Dabei sind physische Laufwerke, Partitionen und virtuelle oder Device-Mapper-Ger\u00e4te sauber zu unterscheiden; Z\u00e4hler verschiedener Ebenen d\u00fcrfen nicht blind addiert werden. Ein offener Dateideskriptor eines Prozesses l\u00e4sst sich dabei nicht unmittelbar einem diskstats-Ger\u00e4tez\u00e4hler zuordnen: Dateisystem, Cache und Mapping-Schichten liegen dazwischen. Zusammen mit \/proc\/pressure\/io l\u00e4sst sich dennoch pr\u00fcfen, ob beobachtbare I\/O-Stalls und Ger\u00e4teaktivit\u00e4t zeitlich zusammenfallen.","ref":""},{"kind":"citation","text":"","ref":"S9"}]}]},{"id":"proc-monitoring","heading":"procfs im Betrieb: Abfragen, Monitoring und Datenschutz","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr wiederholbare Betriebsdiagnosen behandelst du procfs-Abfragen als Messpunkte: Du notierst Zeitstempel, Systemkontext und die konkrete Abfrage. Viele Werte sind seit dem Start kumulierte Z\u00e4hler; erst die Differenz zweier Werte geteilt durch das Zeitintervall ergibt eine Rate. Das gilt etwa f\u00fcr Z\u00e4hler aus ","ref":""},{"kind":"code","text":"\/proc\/diskstats","ref":""},{"kind":"text","text":". Eine Einzelabfrage kann daher Aktivit\u00e4t belegen, aber weder Durchsatz noch eine dauerhafte Verschlechterung zuverl\u00e4ssig quantifizieren. ","ref":""},{"kind":"citation","text":"","ref":"S9"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein Monitoring-System sollte in festen Intervallen unter anderem Speicherwerte aus ","ref":""},{"kind":"code","text":"\/proc\/meminfo","ref":""},{"kind":"text","text":", Ger\u00e4tewerte aus ","ref":""},{"kind":"code","text":"\/proc\/diskstats","ref":""},{"kind":"text","text":", Prozess- und Systemzust\u00e4nde sowie bei verf\u00fcgbarer Kernelunterst\u00fctzung Drucksignale erfassen. Es muss Rohwerte in passende Einheiten umrechnen, bei Z\u00e4hlern Differenzen bilden und Historien speichern. In Containern darf es globale procfs-Werte nicht mit den Ressourcenlimits der Workload gleichsetzen: Prozesspfade k\u00f6nnen auf den PID-Namespace begrenzt sein, w\u00e4hrend Speicher- oder Ger\u00e4tewerte teilweise den Host abbilden. F\u00fcr Limits und Auslastung einer Gruppe sind erg\u00e4nzende cgroup2-Metriken n\u00f6tig. Erst zeitliche Verl\u00e4ufe erlauben belastbare Schwellenwerte: Ein hoher Wert kann normal sein, wenn er zum erwarteten Lastfenster passt; ein pl\u00f6tzlicher Anstieg gegen\u00fcber der eigenen Baseline ist oft relevanter. Die verf\u00fcgbaren procfs-Eintr\u00e4ge h\u00e4ngen vom laufenden Kernel und seiner Konfiguration ab. ","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Direkte Dateien und Werkzeuge erg\u00e4nzen sich. ","ref":""},{"kind":"code","text":"ps","ref":""},{"kind":"text","text":", ","ref":""},{"kind":"code","text":"top","ref":""},{"kind":"text","text":" oder ","ref":""},{"kind":"code","text":"htop","ref":""},{"kind":"text","text":" eignen sich f\u00fcr die interaktive Prozesssicht; ","ref":""},{"kind":"code","text":"free","ref":""},{"kind":"text","text":", ","ref":""},{"kind":"code","text":"vmstat","ref":""},{"kind":"text","text":", ","ref":""},{"kind":"code","text":"iostat","ref":""},{"kind":"text","text":", ","ref":""},{"kind":"code","text":"pidstat","ref":""},{"kind":"text","text":", ","ref":""},{"kind":"code","text":"ss","ref":""},{"kind":"text","text":" und ","ref":""},{"kind":"code","text":"sar","ref":""},{"kind":"text","text":" bereiten je nach Installation Daten f\u00fcr bestimmte Fragen auf. procfs bleibt sinnvoll, wenn du die Kernelquelle direkt pr\u00fcfen oder ein kleines, nachvollziehbares Skript bauen m\u00f6chtest. F\u00fcr Alarmierung und Kapazit\u00e4tsplanung sind Zeitreihendaten meist die passendere Ebene.","ref":""}]},{"type":"callout","variant":"warning","title":"Prozessdaten nicht unbedacht weitergeben","runs":[{"kind":"text","text":"Kommandozeilen k\u00f6nnen Pfade, Mandantenkennungen oder versehentlich \u00fcbergebene Zugangsdaten enthalten. Umgebungsvariablen eines Prozesses sind h\u00e4ufig noch sensibler. Erfasse, speichere und teile diese Daten nur, wenn sie f\u00fcr die Diagnose erforderlich sind; beschr\u00e4nke Zugriffe auf berechtigte Personen.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Auch bei rein lesenden Abfragen gelten Sichtbarkeitsgrenzen. Zugriffsrechte, Mount-Optionen und PID-Namespaces k\u00f6nnen Prozessdaten ausblenden oder auf eine Containeransicht begrenzen. Umgekehrt bedeutet eine eigene \/proc-Einh\u00e4ngung nicht, dass jede globale Kerneldatei nur Daten des Containers enth\u00e4lt. Ein fehlender Prozesseintrag oder ein unerwartet hoher globaler Wert ist deshalb zun\u00e4chst ein Hinweis darauf, Ausf\u00fchrungsumgebung, Mount-Optionen und cgroup-Kontext zu kl\u00e4ren. ","ref":""},{"kind":"citation","text":"","ref":"S1"}]}]},{"id":"proc-troubleshooting","heading":"Diagnosepfade f\u00fcr langsame Dienste und Ressourcenengp\u00e4sse","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Troubleshooting beginnt mit einem Symptom, nicht mit einem vermeintlich schuldigen Einzelwert. Pr\u00fcfe danach mindestens ein unabh\u00e4ngiges Signal und halte fest, ob die Beobachtung den Host, eine virtuelle Maschine oder einen Container betrifft. So vermeidest du beispielsweise, einen hohen Load vorschnell als CPU-Problem oder eine gro\u00dfe Zahl offener Deskriptoren vorschnell als Leck zu bewerten. Die folgenden Pfade sind lesende Erstdiagnosen und ersetzen keine anwendungsbezogenen Logs.","ref":""}]},{"type":"table","caption":"Kompakte Diagnosepfade mit procfs","headers":["Symptom","Zuerst lesen","Danach abgleichen","Fehlinterpretation vermeiden"],"rows":[["Hoher Load","\/proc\/loadavg","\/proc\/stat, \/proc\/pressure\/io, \/proc\/diskstats","Load umfasst laufbereite und ununterbrechbar wartende Tasks, nicht nur CPU-Arbeit."],["Vermuteter Speicherdruck","\/proc\/meminfo","\/proc\/pressure\/memory, \/proc\/<PID>\/status","Niedriges MemFree allein beweist keinen RAM-Mangel; MemAvailable und Stalls z\u00e4hlen mit."],["Auff\u00e4llige I\/O-Wartezeit","\/proc\/stat","\/proc\/pressure\/io, \/proc\/diskstats in zwei Messpunkten","iowait ist keine direkte Latenzmessung und hat dokumentierte Einschr\u00e4nkungen."],["Viele offene Dateien","\/proc\/sys\/fs\/file-nr und \/proc\/sys\/fs\/file-max","\/proc\/<PID>\/fd, Dienstverhalten","Viele Deskriptoren k\u00f6nnen f\u00fcr einen Server normal sein; Grenzen und Wachstum sind wichtiger."],["Dienst startet nicht","\/proc\/<PID>\/status, sofern ein Prozess entsteht","\/proc\/<PID>\/fd, Dienstjournal, belegte Ressourcen","Ein nicht sichtbarer Prozess kann beendet sein oder au\u00dferhalb des sichtbaren PID-Namespace laufen."]],"source_ids":["S1","S3","S4","S5","S6","S9","S10"]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei hoher Load Average pr\u00fcfst du zun\u00e4chst, ob ausf\u00fchrbare oder wartende Aufgaben die Zahl treiben. Die Load-Angaben bilden Durchschnittswerte \u00fcber ein, f\u00fcnf und 15 Minuten ab und ber\u00fccksichtigen sowohl R- als auch D-Zust\u00e4nde. Vergleiche deshalb CPU-Zeitfelder nur mit Vorsicht mit I\/O-Druck und Ger\u00e4teaktivit\u00e4t. Insbesondere ","ref":""},{"kind":"strong","text":"iowait","ref":""},{"kind":"text","text":" darf nicht isoliert als Speicherlatenz gelesen werden. ","ref":""},{"kind":"citation","text":"","ref":"S3"},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei einer langsamen Anwendung und kleinem MemFree ist ","ref":""},{"kind":"strong","text":"MemAvailable","ref":""},{"kind":"text","text":" der bessere erste Kontextwert. Erg\u00e4nze Speicher-PSI und den Status des betroffenen Prozesses, etwa dessen VmRSS, Threadzahl und Zustand. PSI unterscheidet bei Speicher und I\/O zwischen ","ref":""},{"kind":"code","text":"some","ref":""},{"kind":"text","text":" f\u00fcr teilweise blockierte Tasks und ","ref":""},{"kind":"code","text":"full","ref":""},{"kind":"text","text":" f\u00fcr vollst\u00e4ndige Blockierung nicht-idler Tasks. Fehlen PSI-Dateien, kann dies an Kernelkonfiguration oder Umgebung liegen; es widerlegt keinen Engpass. ","ref":""},{"kind":"citation","text":"","ref":"S5"},{"kind":"citation","text":"","ref":"S6"}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr Datei- und Prozessdiagnosen k\u00f6nnen Rechte und ","ref":""},{"kind":"strong","text":"PID-Namespaces","ref":""},{"kind":"text","text":" die Aussagekraft einschr\u00e4nken. In Containern beschreibt \/proc h\u00e4ufig nur die zugeordnete Prozesswelt. Bei verweigertem Zugriff oder unvollst\u00e4ndigen Verzeichnissen pr\u00fcfst du daher Nutzerrechte, procfs-Mount-Optionen und den Namespace-Kontext, bevor du aus der Abwesenheit von Daten eine technische Schlussfolgerung ziehst. ","ref":""},{"kind":"citation","text":"","ref":"S1"}]}]},{"id":"proc-decisions","heading":"Typische Fehlannahmen korrigieren und passende Werkzeuge w\u00e4hlen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Vier Kurzschl\u00fcsse f\u00fchren in der Linux-Administration h\u00e4ufig zu falschen Ma\u00dfnahmen. Wenig ","ref":""},{"kind":"code","text":"MemFree","ref":""},{"kind":"text","text":" bedeutet nicht automatisch RAM-Not, weil der Kernel Speicher unter anderem als Cache nutzt; f\u00fcr neue Anwendungen ist MemAvailable die aussagekr\u00e4ftigere Sch\u00e4tzung. Hoher Load beweist keine CPU-S\u00e4ttigung, da auch ununterbrechbar wartende Aufgaben einflie\u00dfen. Ein hoher iowait-Anteil misst keine unmittelbare Latenz eines Datentr\u00e4gers. Und procfs ist nicht \u00fcberall identisch: Kernelversion, Konfiguration, Hardware, Module und Namespaces beeinflussen Dateien und Felder. ","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"W\u00e4hle die Methode nach der Frage. F\u00fcr eine punktuelle Ursachenanalyse liefert ","ref":""},{"kind":"strong","text":"procfs","ref":""},{"kind":"text","text":" unmittelbare Rohdaten des laufenden Kernels. F\u00fcr eine schnelle, menschenlesbare \u00dcbersicht sind spezialisierte Kommandozeilenwerkzeuge meist effizienter. Wenn Trends, Alarmierung oder Kapazit\u00e4tsentscheidungen z\u00e4hlen, ben\u00f6tigst du ein Monitoring, das Messpunkte zeitlich einordnet, Z\u00e4hlerdifferenzen berechnet und historische Vergleichswerte vorh\u00e4lt. Bei Ressourcenlimits einzelner Dienste oder Container erg\u00e4nzt eine Analyse auf cgroup-Ebene die globale Hostansicht; PSI kann bei passender Konfiguration auch pro cgroup verf\u00fcgbar sein. ","ref":""},{"kind":"citation","text":"","ref":"S6"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Besondere Zur\u00fcckhaltung gilt f\u00fcr ","ref":""},{"kind":"code","text":"\/proc\/sys","ref":""},{"kind":"text","text":". Das Lesen eines Parameters ist Diagnostik, das Schreiben ver\u00e4ndert aktives Kernelverhalten. \u00c4ndere einen Wert nur, wenn die Ursache verstanden ist, der Ausgangswert dokumentiert wurde, Auswirkungen beobachtbar sind und ein R\u00fcckweg feststeht. Die Verzeichnisse ","ref":""},{"kind":"code","text":"fs","ref":""},{"kind":"text","text":", ","ref":""},{"kind":"code","text":"vm","ref":""},{"kind":"text","text":" und ","ref":""},{"kind":"code","text":"net","ref":""},{"kind":"text","text":" ordnen Parameter thematisch, liefern aber keine universellen Tuningvorgaben. ","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Das Beispiel ","ref":""},{"kind":"code","text":"drop_caches","ref":""},{"kind":"text","text":" zeigt den Unterschied zwischen Eingriff und Optimierung: Die Kernel-Dokumentation beschreibt die Schnittstelle als nicht destruktiv, warnt jedoch vor Leistungsproblemen und empfiehlt sie nicht als regul\u00e4re Betriebsma\u00dfnahme au\u00dferhalb von Test- oder Debug-Szenarien. Eine konservative Regel lautet daher: Erst messen, dann eine begr\u00fcndete \u00c4nderung begrenzt vornehmen, Wirkung und Nebenwirkungen beobachten und die Entscheidung dokumentieren. ","ref":""},{"kind":"citation","text":"","ref":"S11"}]}]}]},"_wh_make_word_report":{"words":2798,"min":2000,"max":3000,"target":2500,"ok":true,"missing":0,"excess":0,"lead_words":64,"section_words":{"proc-basics":252,"proc-time-context":269,"proc-sysctl-boundary":230,"proc-overview-table":380,"proc-load-memory":369,"proc-process-io":319,"proc-monitoring":331,"proc-troubleshooting":332,"proc-decisions":252}},"_wh_make_review":{"verdict":"pass","issues":[],"checked_source_ids":["S1","S3","S4","S5","S6","S7","S9","S10","S11","S12"],"summary":"Der Artikel ist fachlich plausibel und durch die gepr\u00fcften Kernel-Dokumentationen sowie Linux-Manpages gest\u00fctzt. Die Abgrenzung von Momentaufnahmen, gleitenden Mittelwerten und kumulativen Z\u00e4hlern ist korrekt. Load Average, iowait, MemAvailable, PSI, Prozessstatus, Dateideskriptoren, diskstats und file-nr werden mit den n\u00f6tigen Einschr\u00e4nkungen erkl\u00e4rt. Schreibzugriffe unter \/proc\/sys sind klar von lesender Diagnostik getrennt; drop_caches wird nicht als regul\u00e4re Optimierung empfohlen. Container-, Namespace- und cgroup-Grenzen sind angemessen formuliert. Die Terminalbeispiele sind lesend, die Bildkonzepte suggerieren keine falsche direkte Zuordnung zwischen Prozessdateien und Blockger\u00e4te-I\/O, und es werden keine eigenen Messungen oder Tests behauptet. Versionsgebundene Quellen werden im Versionshinweis transparent kenntlich gemacht."},"_wh_make_review_doc_hash":"170001268aa02e1f1b3ca6d6477a053be0a1d7b6c241271836a300e46634ed3c","_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"inline_featured_image":null,"_yoast_wpseo_linkdex":null,"_eael_widget_elements":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_trp_translated_slug_en_us":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_wh_make_writer_raw":null,"_wh_make_design_backup_204":null,"_wp_desired_post_slug":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":"1","_edit_lock":"1790075357:1","_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"96","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":"75","rank_math_contentai_score":null,"ilj_limitincominglinks":"","ilj_maxincominglinks":"1","ilj_limitoutgoinglinks":"","ilj_maxoutgoinglinks":"1","ilj_limitlinksperparagraph":"","ilj_linksperparagraph":"1","ilj_blacklistdefinition":[],"ilj_linkdefinition":[],"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"Linux procfs","rank_math_og_content_image":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"21652","_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":"Wichtige procfs-Dateien f\u00fcr Linux-Administratoren: Systemlast, Speicher, Prozesse, I\/O und \/proc\/sys korrekt lesen und einordnen.","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/posts\/21649","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/comments?post=21649"}],"version-history":[{"count":4,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/posts\/21649\/revisions"}],"predecessor-version":[{"id":21657,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/posts\/21649\/revisions\/21657"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/media\/21652"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/media?parent=21649"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/categories?post=21649"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/tags?post=21649"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}