{"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-dla-administratorow","status":"publish","type":"post","link":"https:\/\/webhosting.de\/pl\/linux-procfs-fuer-administratoren\/","title":{"rendered":"Linux procfs dla administrator\u00f3w: przegl\u0105d najwa\u017cniejszych plik\u00f3w"},"content":{"rendered":"<div class=\"wh-article\"><p class=\"wh-lead\">Das <strong>Linux procfs<\/strong> pokazuje aktualny stan j\u0105dra za pomoc\u0105 plik\u00f3w wirtualnych w katalogu \/proc. Z punktu widzenia administracji istotne s\u0105 przede wszystkim obci\u0105\u017cenie, pami\u0119\u0107, procesy, deskryptory plik\u00f3w i urz\u0105dzenia blokowe. Kluczowe znaczenie ma w\u0142a\u015bciwa interpretacja: niekt\u00f3re warto\u015bci s\u0105 chwilowymi odczytami, inne to liczniki od momentu uruchomienia systemu lub \u015brednie krocz\u0105ce. Dlatego nigdy nie nale\u017cy opiera\u0107 si\u0119 wy\u0142\u0105cznie na pojedynczej warto\u015bci, lecz nale\u017cy j\u0105 por\u00f3wna\u0107 z odpowiednimi sygna\u0142ami oraz uwzgl\u0119dni\u0107 kontekst hosta, maszyny wirtualnej lub kontenera.  <\/p><nav class=\"wh-toc\" aria-label=\"Tre\u015b\u0107 tego artyku\u0142u\"><p class=\"wh-toc-title\">Przejd\u017a bezpo\u015brednio do sekcji<\/p><div class=\"wh-toc-grid\"><a class=\"wh-toc-link\" href=\"#proc-basics\">Zrozumie\u0107 procfs: wirtualny widok j\u0105dra zamiast pami\u0119ci danych<\/a><a class=\"wh-toc-link\" href=\"#proc-time-context\">W\u0142a\u015bciwe interpretowanie wska\u017anik\u00f3w, danych punktowych i widoczno\u015bci<\/a><br><a class=\"wh-toc-link\" href=\"#proc-sysctl-boundary\">Odczytywanie, konfigurowanie i zabezpieczanie w katalogu \/proc\/sys<\/a><br><a class=\"wh-toc-link\" href=\"#proc-overview-table\">Najwa\u017cniejsze pliki procfs w podziale na zadania administracyjne<\/a><br><a class=\"wh-toc-link\" href=\"#proc-load-memory\">Obci\u0105\u017cenie, procesor i pami\u0119\u0107<\/a><br><a class=\"wh-toc-link\" href=\"#proc-process-io\">Analiza proces\u00f3w i operacji wej\u015bcia\/wyj\u015bcia na no\u015bnikach danych<\/a><br><a class=\"wh-toc-link\" href=\"#proc-monitoring\">procfs w dzia\u0142aniu: zapytania, monitorowanie i ochrona danych<\/a><br><a class=\"wh-toc-link\" href=\"#proc-troubleshooting\">\u015acie\u017cki diagnostyczne dotycz\u0105ce powolnego dzia\u0142ania us\u0142ug i w\u0105skich garde\u0142 zasob\u00f3w<\/a><br><a class=\"wh-toc-link\" href=\"#proc-decisions\">Korygowanie typowych b\u0142\u0119dnych za\u0142o\u017ce\u0144 i dob\u00f3r odpowiednich narz\u0119dzi<\/a><\/div><\/nav><h2 id=\"proc-basics\">Zrozumie\u0107 procfs: wirtualny widok j\u0105dra zamiast pami\u0119ci danych<\/h2><p>Das <strong>procfs<\/strong> jest wirtualnym systemem plik\u00f3w: wpisy w katalogu \/proc odzwierciedlaj\u0105 struktury danych i stany uruchomionego j\u0105dra systemu Linux. Nie s\u0105 one trwale zapisane na no\u015bniku danych. Podczas odczytu j\u0105dro generuje odpowiedni widok na podstawie swojego aktualnego stanu; na przyk\u0142ad po ponownym uruchomieniu wiele licznik\u00f3w zaczyna od nowa. Dlatego \/proc stanowi interfejs s\u0142u\u017c\u0105cy do monitorowania i cz\u0119\u015bciowego sterowania, a nie miejsce na w\u0142asne pliki lub trwa\u0142e konfiguracje.  <\/p><p>W zakresie administracji nale\u017cy rozr\u00f3\u017cni\u0107 trzy obszary. Globalne pliki stanu, takie jak \/proc\/meminfo, \/proc\/stat czy \/proc\/loadavg, dostarczaj\u0105 wska\u017aniki dotycz\u0105ce ca\u0142ego j\u0105dra. Katalogi o nazwach numerycznych, na przyk\u0142ad \/proc\/1234, zawieraj\u0105 szczeg\u00f3\u0142owe informacje na temat pojedynczego procesu. Natomiast w katalogu \/proc\/sys znajduj\u0105 si\u0119 parametry j\u0105dra, kt\u00f3re w zale\u017cno\u015bci od uprawnie\u0144 i ustawie\u0144 mog\u0105 by\u0107 zar\u00f3wno dost\u0119pne do odczytu, jak i do zapisu. Podobna nazwa pliku nie mo\u017ce przes\u0142ania\u0107 faktu, \u017ce sprawdzenie stanu i zmiana konfiguracji maj\u0105 zasadniczo r\u00f3\u017cne konsekwencje.  <\/p><p>Dost\u0119pne \u015bcie\u017cki i pola nie s\u0105 identyczne w ka\u017cdym systemie Linux. Na widoczne wpisy wp\u0142ywaj\u0105 wersja i konfiguracja j\u0105dra, architektura, rozpoznany sprz\u0119t oraz za\u0142adowane modu\u0142y. R\u00f3wnie\u017c przestrzenie nazw zmieniaj\u0105 poszczeg\u00f3lne widoki. W szczeg\u00f3lno\u015bci procfs powi\u0105zany z przestrzeni\u0105 nazw PID ogranicza widok proces\u00f3w i identyfikator\u00f3w PID; nie oznacza to jednak, \u017ce pliki globalne automatycznie zawieraj\u0105 warto\u015bci specyficzne dla kontener\u00f3w lub grup cgroup. Skrypty powinny sprawdza\u0107 pliki i pola przed analiz\u0105 ich zawarto\u015bci, zamiast zak\u0142ada\u0107 istnienie pe\u0142nej, wsz\u0119dzie identycznej struktury procfs.  <\/p><p>Nale\u017cy odr\u00f3\u017cni\u0107 od tego sysfs w katalogu \/sys: przedstawia on przede wszystkim urz\u0105dzenia, sterowniki i obiekty sprz\u0119towe. W kontek\u015bcie alokacji zasob\u00f3w i ogranicze\u0144 grup istotny jest r\u00f3wnie\u017c cgroup2. procfs pozostaje jednak bezpo\u015brednim \u017ar\u00f3d\u0142em wielu stan\u00f3w j\u0105dra i proces\u00f3w, kt\u00f3re s\u0105 niezb\u0119dne podczas wst\u0119pnej diagnostyki.  <\/p><h2 id=\"proc-time-context\">W\u0142a\u015bciwe interpretowanie wska\u017anik\u00f3w, danych punktowych i widoczno\u015bci<\/h2><p>W przypadku procfs sama warto\u015b\u0107 rzadko wyja\u015bnia problem. Najpierw nale\u017cy wyja\u015bni\u0107 jej odniesienie czasowe: niekt\u00f3re dane s\u0105 <strong>liczniki skumulowane<\/strong> od uruchomienia systemu, inne opisuj\u0105 aktualny stan, a jeszcze inne przedstawiaj\u0105 ruchome przedzia\u0142y czasowe. Wysoki stan licznika wskazuje pocz\u0105tkowo jedynie, \u017ce od momentu uruchomienia systemu nast\u0105pi\u0142o zsumowanie zdarze\u0144. Cz\u0119stotliwo\u015b\u0107 powstaje dopiero na podstawie dw\u00f3ch punkt\u00f3w pomiarowych: r\u00f3\u017cnicy warto\u015bci podzielonej przez przedzia\u0142 czasu mi\u0119dzy nimi. Dotyczy to na przyk\u0142ad wielu licznik\u00f3w procesora, przerwa\u0144 i no\u015bnik\u00f3w danych.  <\/p><p>Plik \/proc\/uptime zawiera informacje o dotychczasowym czasie pracy oraz zagregowanym czasie bezczynno\u015bci. Pomaga on w ustaleniu kolejno\u015bci licznik\u00f3w od momentu uruchomienia, ale nie zast\u0119puje serii pomiar\u00f3w. Jednorazowe zapytanie stanowi jedynie migawk\u0119; aby uzyska\u0107 wiarygodne wnioski dotycz\u0105ce trend\u00f3w, szczyt\u00f3w lub powtarzaj\u0105cych si\u0119 obci\u0105\u017ce\u0144, konieczne s\u0105 powtarzaj\u0105ce si\u0119 zapytania z sygnatur\u0105 czasow\u0105. Warto\u015bci mog\u0105 si\u0119 zmienia\u0107 ju\u017c podczas odczytu, poniewa\u017c j\u0105dro nadal pracuje.  <\/p><p>R\u00f3wnie\u017c dane widoczne maj\u0105 swoje ograniczenia. \/proc\/self zawsze odnosi si\u0119 do procesu, kt\u00f3ry w danym momencie rozdziela \u015bcie\u017ck\u0119. Dzi\u0119ki temu jest to rozwi\u0105zanie praktyczne dla skrypt\u00f3w i interaktywnych sprawdze\u0144, bez konieczno\u015bci przyjmowania identyfikatora PID. Dost\u0119p do katalog\u00f3w innych proces\u00f3w mo\u017ce jednak by\u0107 ograniczony przez uprawnienia do plik\u00f3w, mo\u017cliwo\u015bci systemu Linux oraz opcj\u0119 montowania procfs <code data-no-translation=\"\">hidepid<\/code> mo\u017ce by\u0107 ograniczony. Brak dost\u0119pu do niekt\u00f3rych informacji nie wynika w tym przypadku z usterki systemu procfs, lecz stanowi zabezpieczenie przed odczytem poufnych danych dotycz\u0105cych proces\u00f3w.  <\/p><p>W kontenerach nale\u017cy zachowa\u0107 szczeg\u00f3ln\u0105 ostro\u017cno\u015b\u0107. System plik\u00f3w procfs powi\u0105zany z przestrzeni\u0105 nazw PID wy\u015bwietla w przypadku \u015bcie\u017cek zwi\u0105zanych z procesami wy\u0142\u0105cznie procesy z tej perspektywy przestrzeni nazw. Z kolei globalne pliki j\u0105dra, takie jak \/proc\/meminfo, \/proc\/stat lub \/proc\/diskstats, mog\u0105 nadal odzwierciedla\u0107 warto\u015bci hosta i nie s\u0105 automatycznie ograniczane do limit\u00f3w kontenera. Przed ka\u017cd\u0105 diagnostyk\u0105 nale\u017cy zatem wyja\u015bni\u0107, czy dana kwestia dotyczy proces\u00f3w, globalnych warto\u015bci j\u0105dra czy faktycznie przydzielonych zasob\u00f3w; limity i wykorzystanie kontenera nale\u017cy dodatkowo uwzgl\u0119dni\u0107 w analizie cgroup2.  <\/p><h2 id=\"proc-sysctl-boundary\">Odczytywanie, konfigurowanie i zabezpieczanie w katalogu \/proc\/sys<\/h2><p>Dzia\u0142 <strong>\/proc\/sys<\/strong> jest widokiem systemu plik\u00f3w interfejsu sysctl. Odczyt warto\u015bci s\u0142u\u017cy do cel\u00f3w diagnostycznych. Natomiast dost\u0119p do zapisu bezpo\u015brednio zmienia zachowanie dzia\u0142aj\u0105cego j\u0105dra i mo\u017ce wp\u0142ywa\u0107 na us\u0142ugi, zu\u017cycie zasob\u00f3w lub funkcje bezpiecze\u0144stwa. Fakt, \u017ce zmiana obowi\u0105zuje bez konieczno\u015bci ponownego uruchomienia systemu, nie oznacza, \u017ce jest ona pozbawiona ryzyka ani \u017ce automatycznie ma charakter trwa\u0142y: trwa\u0142o\u015b\u0107 zale\u017cy od wybranej konfiguracji systemu.  <\/p><p>Struktura katalog\u00f3w u\u0142atwia wst\u0119pn\u0105 orientacj\u0119. W katalogu \/proc\/sys\/fs znajduj\u0105 si\u0119 mi\u0119dzy innymi globalne parametry systemu plik\u00f3w oraz uchwyty plik\u00f3w. Katalog \/proc\/sys\/vm zawiera ustawienia zwi\u0105zane z zarz\u0105dzaniem pami\u0119ci\u0105, natomiast \/proc\/sys\/net zawiera parametry sieciowe. To, jakie podkatalogi i klucze s\u0105 dost\u0119pne, zale\u017cy z kolei od konfiguracji j\u0105dra i funkcji systemu. Istniej\u0105cy parametr nie stanowi zatem uniwersalnej recepty na optymalizacj\u0119; decyduj\u0105ce znaczenie maj\u0105 jego dokumentacja oraz konkretne obci\u0105\u017cenie systemowe.    <\/p><p>Przyk\u0142adem przeciwnym do pozornej optymalizacji jest <code data-no-translation=\"\">drop_caches<\/code> w katalogu \/proc\/sys\/vm. Dokumentacja j\u0105dra przypisuje t\u0119 funkcj\u0119 do cel\u00f3w debugowania i test\u00f3w oraz odradza jej stosowanie poza tymi celami, poniewa\u017c opr\u00f3\u017cnianie pami\u0119ci podr\u0119cznej, kt\u00f3ra mo\u017ce by\u0107 ponownie wykorzystana, mo\u017ce negatywnie wp\u0142ywa\u0107 na wydajno\u015b\u0107. Niewielka ilo\u015b\u0107 wolnej pami\u0119ci nie jest sama w sobie powodem do usuwania pami\u0119ci podr\u0119cznej: j\u0105dro celowo wykorzystuje pami\u0119\u0107 RAM r\u00f3wnie\u017c jako pami\u0119\u0107 podr\u0119czn\u0105 plik\u00f3w.  <\/p><p>Przed ka\u017cd\u0105 zmian\u0105 powinna istnie\u0107 jasno okre\u015blona przyczyna. Najpierw zapisz warto\u015b\u0107 pocz\u0105tkow\u0105, udokumentuj cel i spodziewane skutki uboczne, wprowad\u017a zmian\u0119 w spos\u00f3b kontrolowany, a nast\u0119pnie obserwuj odpowiednie warto\u015bci pomiarowe oraz zachowanie us\u0142ugi. Nale\u017cy z wyprzedzeniem zaplanowa\u0107 powr\u00f3t do stanu poprzedniego i wprowadzi\u0107 warto\u015b\u0107 do sta\u0142ej konfiguracji dopiero po fachowej weryfikacji. Bardziej szczeg\u00f3\u0142owe informacje na temat parametr\u00f3w i ich kontrolowanego zarz\u0105dzania znajduj\u0105 si\u0119 w artykule <a href=\"https:\/\/webhosting.de\/pl\/tuning-jadra-linux-sysctl-parametr-serverboost-opti\/\">Strojenie j\u0105dra w hostingu Linuksa: Parametry Sysctl w skr\u00f3cie<\/a>.<\/p><h2 id=\"proc-overview-table\">Najwa\u017cniejsze pliki procfs w podziale na zadania administracyjne<\/h2><p>Wyb\u00f3r pliku procfs powinien wynika\u0107 z potrzeb administracyjnych, a nie z d\u0105\u017cenia do uzyskania jak najpe\u0142niejszej listy katalog\u00f3w. Pliki globalne cz\u0119sto zawieraj\u0105 warto\u015bci dotycz\u0105ce ca\u0142ego j\u0105dra, \u015bcie\u017cki proces\u00f3w opisuj\u0105 pojedynczy widoczny proces, a wpisy w katalogu \/proc\/sys\/fs zawieraj\u0105 ustawienia konfiguracyjne i ograniczenia systemowe. Niekt\u00f3re warto\u015bci odzwierciedlaj\u0105 aktualny stan, inne s\u0105 licznikami skumulowanymi od momentu uruchomienia systemu lub \u015brednimi ruchomymi. To rozr\u00f3\u017cnienie decyduje o tym, czy wystarczy pojedynczy odczyt, czy te\u017c konieczne s\u0105 dwa punkty pomiarowe. <\/p><div class=\"wh-table-scroll\" tabindex=\"0\" role=\"region\" aria-label=\"Wa\u017cne pliki procfs dotycz\u0105ce typowych kwestii administracyjnych\"><table><caption>Wa\u017cne pliki procfs dotycz\u0105ce typowych kwestii administracyjnych<\/caption><thead><tr><th scope=\"col\">\u015acie\u017cka<\/th><th scope=\"col\">Cel<\/th><th scope=\"col\">Typowe pytanie<\/th><th scope=\"col\">Charakter danych<\/th><th scope=\"col\">Istotne ograniczenie<\/th><th scope=\"col\">Bezpieczne zapytanie o odczyt<\/th><\/tr><\/thead><tbody><tr><td>\/proc\/loadavg<\/td><td>obci\u0105\u017cenie systemu<\/td><td>Czy s\u0105 jakie\u015b zadania oczekuj\u0105ce?<\/td><td>\u015arednia z 1, 5 i 15 minut<\/td><td>Nie chodzi wy\u0142\u0105cznie o obci\u0105\u017cenie procesora<\/td><td>cat \/proc\/loadavg<\/td><\/tr><tr><td>\/proc\/stat<\/td><td>Liczniki procesora i j\u0105dra<\/td><td>Jak rozk\u0142ada si\u0119 czas pracy procesora?<\/td><td>Od momentu uruchomienia \u2013 \u0142\u0105cznie<\/td><td>Nie nale\u017cy ocenia\u0107 iowait w oderwaniu od kontekstu<\/td><td>grep -E \u201a^(cpu|intr|ctxt|processes)\u2018 \/proc\/stat<\/td><\/tr><tr><td>\/proc\/meminfo<\/td><td>Przegl\u0105d pami\u0119ci<\/td><td>Czy jest dost\u0119pna pami\u0119\u0107?<\/td><td>Aktualne warto\u015bci zapisane w pami\u0119ci<\/td><td>Sam MemFree nie wystarczy; w kontenerze nie musi by\u0107 powi\u0105zany z konkretn\u0105 grup\u0105 cgroup<\/td><td>cat \/proc\/meminfo<\/td><\/tr><tr><td>\/proc\/pressure\/cpu<\/td><td>Zatrzymania procesora<\/td><td>Czy zadania czekaj\u0105 na procesor?<\/td><td>Okna czasowe i liczniki<\/td><td>Warto\u015b\u0107 \u201efull\u201d w ca\u0142ym systemie nie mo\u017ce zosta\u0107 zinterpretowana i jest zwracana jako zero<\/td><td>cat \/proc\/pressure\/cpu<\/td><\/tr><tr><td>\/proc\/pressure\/memory<\/td><td>ci\u015bnienie w zbiorniku<\/td><td>Czy niedob\u00f3r pami\u0119ci blokuje zadania?<\/td><td>Okna czasowe i liczniki<\/td><td>PSI musi by\u0107 dost\u0119pne<\/td><td>cat \/proc\/pressure\/memory<\/td><\/tr><tr><td>\/proc\/pressure\/io<\/td><td>Zatrzymania wej\u015b\u0107\/wyj\u015b\u0107<\/td><td>Czy zadania oczekuj\u0105 na operacje wej\u015bcia\/wyj\u015bcia?<\/td><td>Okna czasowe i liczniki<\/td><td>Nie zast\u0119puje analizy urz\u0105dzenia<\/td><td>cat \/proc\/pressure\/io<\/td><\/tr><tr><td>\/proc\/\/status<\/td><td>Status procesu<\/td><td>Jak du\u017cy i aktywny jest dany proces?<\/td><td>Aktualne dane procesowe<\/td><td>Prawa i przestrze\u0144 nazw PID mog\u0105 ogranicza\u0107 dost\u0119p<\/td><td>cat \/proc\/$$\/status<\/td><\/tr><tr><td>\/proc\/\/fd<\/td><td>Otwarte deskryptory<\/td><td>Jakie obiekty przechowuje proces?<\/td><td>Aktualne linki symboliczne<\/td><td>Wiele plik\u00f3w FD niekoniecznie oznacza wyciek<\/td><td>ls -l \/proc\/$$\/fd<\/td><\/tr><tr><td>\/proc\/\/maps<\/td><td>Mapowania wirtualne<\/td><td>Jakie obszary obejmuje dany proces?<\/td><td>Aktualna lista map<\/td><td>Cz\u0119sto zbyt obszerne do wst\u0119pnej analizy<\/td><td>cat \/proc\/$$\/maps<\/td><\/tr><tr><td>\/proc\/diskstats<\/td><td>Urz\u0105dzenia blokowe \u2013 wej\u015bcia\/wyj\u015bcia<\/td><td>Kt\u00f3re urz\u0105dzenia dzia\u0142aj\u0105?<\/td><td>Od momentu uruchomienia \u2013 \u0142\u0105cznie<\/td><td>Obliczenia wymagaj\u0105 dw\u00f3ch pr\u00f3bek; warto\u015bci mog\u0105 dotyczy\u0107 ca\u0142ego serwera<\/td><td>cat \/proc\/diskstats<\/td><\/tr><tr><td>\/proc\/sys\/fs\/plik-nr<\/td><td>Wykorzystanie uchwyt\u00f3w plik\u00f3w<\/td><td>Ile identyfikator\u00f3w wykorzystuje ten system?<\/td><td>Aktualny stan licznika i limit<\/td><td>W nowoczesnych systemach Linux warto\u015b\u0107 \u015brodkowego pola wynosi zero<\/td><td>cat \/proc\/sys\/fs\/file-nr<\/td><\/tr><tr><td>\/proc\/sys\/fs\/file-max<\/td><td>Limit uchwyt\u00f3w plik\u00f3w<\/td><td>Jaki jest globalny limit?<\/td><td>Parametr aktywny<\/td><td>Nie nale\u017cy myli\u0107 tego z limitem procesu<\/td><td>cat \/proc\/sys\/fs\/file-max<\/td><\/tr><\/tbody><\/table><\/div><p>Tabela stanowi pomoc w rozpocz\u0119ciu pracy, a nie schemat diagnostyczny. Nietypowa warto\u015b\u0107 zawsze wymaga niezale\u017cnego potwierdzenia: obci\u0105\u017cenie \u2013 danymi dotycz\u0105cymi procesora i operacji wej\u015bcia\/wyj\u015bcia, warto\u015bci pami\u0119ci \u2013 informacjami o zablokowaniu pod ci\u015bnieniem, a parametry procesu \u2013 zachowaniem us\u0142ugi. Szczeg\u00f3lnie \/proc\/diskstats i \/proc\/stat s\u0105 <strong>liczniki skumulowane<\/strong>; ich r\u00f3\u017cnica w znanym przedziale jest bardziej miarodajna dla wska\u017anik\u00f3w ni\u017c warto\u015b\u0107 bezwzgl\u0119dna. W przypadku kontener\u00f3w nale\u017cy dodatkowo sprawdzi\u0107, czy dany plik zawiera globalne warto\u015bci j\u0105dra, czy te\u017c przedstawia widok dost\u0119pny dla poszczeg\u00f3lnych grup cgroup. W poni\u017cszych sekcjach sygna\u0142y zosta\u0142y zatem pogrupowane wed\u0142ug obci\u0105\u017cenia, pami\u0119ci, proces\u00f3w i operacji wej\u015bcia\/wyj\u015bcia.<\/p><h2 id=\"proc-load-memory\">Obci\u0105\u017cenie, procesor i pami\u0119\u0107: \u0142\u0105czna ocena sygna\u0142\u00f3w<\/h2><p>W przypadku wolno dzia\u0142aj\u0105cej aplikacji \/proc\/loadavg stanowi dobry punkt wyj\u015bcia, ale nie pozwala na ostateczn\u0105 ocen\u0119 obci\u0105\u017cenia procesora. Trzy warto\u015bci odzwierciedlaj\u0105 \u015brednie obci\u0105\u017cenie z ostatnich 1, 5 i 15 minut. W obci\u0105\u017ceniu uwzgl\u0119dniane s\u0105 nie tylko jednostki gotowe do wykonania w stanie R, ale tak\u017ce zadania w stanie oczekiwania D, kt\u00f3rego nie mo\u017cna przerwa\u0107, na przyk\u0142ad podczas operacji wej\u015bcia\/wyj\u015bcia (I\/O). Czwarte pole pokazuje liczb\u0119 jednostek planowania, kt\u00f3re mo\u017cna obecnie wykona\u0107, w por\u00f3wnaniu z liczb\u0105 wszystkich istniej\u0105cych jednostek planowania. Wysokie <strong>\u015arednie obci\u0105\u017cenie<\/strong> mo\u017ce zatem wskazywa\u0107 na rywalizacj\u0119 o procesor, zablokowane operacje wej\u015bcia\/wyj\u015bcia lub jedno i drugie. <\/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=\"Koncepcyjne powi\u0105zanie sygna\u0142\u00f3w obci\u0105\u017cenia, pami\u0119ci, procesora i wej\u015bcia\/wyj\u015bcia.\" 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>Ilustracja koncepcyjna: Dopiero po\u0142\u0105czenie kilku wska\u017anik\u00f3w j\u0105drowych pozwala na wiarygodn\u0105 klasyfikacj\u0119 obci\u0105\u017cenia.<\/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=\"\">Skopiuj kod<\/button><span class=\"wh-copy-status\" aria-live=\"polite\"><\/span><span data-wh-copy-success=\"\" hidden=\"\">Skopiowano<\/span><span data-wh-copy-fallback=\"\" hidden=\"\">Zaznaczony kod \u2013 prosz\u0119 skopiowa\u0107<\/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>Wiersze dotycz\u0105ce procesora w pliku \/proc\/stat zawieraj\u0105 udzia\u0142y czasu od momentu uruchomienia systemu w jednostkach USER_HZ. Aby na tej podstawie okre\u015bli\u0107 udzia\u0142y obci\u0105\u017cenia, nale\u017cy por\u00f3wna\u0107 dwa odczyty; pojedynczy odczyt pokazuje jedynie skumulowany czas. Warto\u015b\u0107 iowait nie jest przy tym bezpo\u015bredni\u0105 miar\u0105 op\u00f3\u017anienia dla pami\u0119ci masowej: jej obliczanie ma udokumentowane ograniczenia, a w pewnych okoliczno\u015bciach mo\u017ce nawet ulec zmniejszeniu. W przypadku przyczyny zwi\u0105zanej z operacjami wej\u015bcia\/wyj\u015bcia (I\/O) warto zatem dodatkowo uwzgl\u0119dni\u0107 warto\u015bci urz\u0105dze\u0144 oraz wska\u017anik I\/O-PSI. <\/p><p>Nawet niska warto\u015b\u0107 MemFree nie oznacza jeszcze braku pami\u0119ci RAM. System Linux celowo wykorzystuje nieu\u017cywan\u0105 pami\u0119\u0107 robocz\u0105 jako pami\u0119\u0107 podr\u0119czn\u0105. MemAvailable szacuje, ile pami\u0119ci mog\u0105 prawdopodobnie uzyska\u0107 nowe aplikacje bez konieczno\u015bci stosowania wymiany danych, i zazwyczaj jest bardziej pomocny przy wst\u0119pnej ocenie sytuacji. Dopiero gdy warto\u015b\u0107 MemAvailable staje si\u0119 niska, a jednocze\u015bnie pojawiaj\u0105 si\u0119 zatory pami\u0119ciowe, nasilaj\u0105 si\u0119 oznaki <strong>ci\u015bnienie w zbiorniku<\/strong>. W kontenerze te globalne warto\u015bci pami\u0119ci mog\u0105 jednak pochodzi\u0107 z hosta; w przypadku zasob\u00f3w gwarantowanych lub ograniczonych decyduj\u0105ce znaczenie ma dodatkowo perspektywa cgroup2. <\/p><p>Pliki w katalogu \/proc\/pressure uzupe\u0142niaj\u0105 ten obraz. W przypadku pami\u0119ci (memory) i operacji wej\u015bcia\/wyj\u015bcia (io) warto\u015b\u0107 \u201esome\u201d oznacza, \u017ce przynajmniej niekt\u00f3re zadania utkn\u0119\u0142y w martwym punkcie przez cz\u0119\u015b\u0107 przedzia\u0142u czasowego; warto\u015b\u0107 \u201efull\u201d oznacza stan, w kt\u00f3rym wszystkie zadania nieb\u0119d\u0105ce w stanie bezczynno\u015bci zosta\u0142y jednocze\u015bnie zablokowane. Warto\u015bci \u201eavg10\u201d, \u201eavg60\u201d i \u201eavg300\u201d odnosz\u0105 si\u0119 odpowiednio do 10, 60 i 300 sekund, natomiast \u201etotal\u201d to skumulowany licznik zablokowa\u0144. W przypadku procesora (CPU) warto\u015b\u0107 \u201efull\u201d w skali ca\u0142ego systemu nie jest semantycznie zdefiniowana i od wersji Linuksa 5.13 jest wy\u015bwietlana jako zero ze wzgl\u0119d\u00f3w kompatybilno\u015bciowych; nie nale\u017cy jej zatem interpretowa\u0107 jako warto\u015bci diagnostycznej na poziomie systemu. Wska\u017aniki PSI dla procesora, pami\u0119ci i operacji wej\u015bcia\/wyj\u015bcia odpowiadaj\u0105 na r\u00f3\u017cne pytania i nie nale\u017cy ich stosowa\u0107 zamiennie. <\/p><p>Je\u015bli us\u0142uga dzia\u0142a wolno przy niskim poziomie MemFree, najpierw sprawd\u017a MemAvailable i \/proc\/pressure\/memory. Je\u015bli obie warto\u015bci s\u0105 w normie, nie wskazuje to na ostry niedob\u00f3r pami\u0119ci w ca\u0142ym systemie. Nast\u0119pnie plik \/proc\/\/status mo\u017ce wykaza\u0107, czy dany proces charakteryzuje si\u0119 np. wysok\u0105 warto\u015bci\u0105 VmRSS, du\u017c\u0105 liczb\u0105 w\u0105tk\u00f3w lub nietypowym stanem. Ta kombinacja pozwala odr\u00f3\u017cni\u0107 obci\u0105\u017cenie pami\u0119ci spowodowane dzia\u0142aniem pami\u0119ci podr\u0119cznej, ale mieszcz\u0105ce si\u0119 w normie, od problemu wymagaj\u0105cego dalszej analizy procesu. <\/p><h2 id=\"proc-process-io\">Analiza proces\u00f3w, deskryptor\u00f3w plik\u00f3w i operacji wej\u015bcia\/wyj\u015bcia na no\u015bnikach danych<\/h2><p>Aby zapewni\u0107 bezpieczne dzia\u0142anie z gwarantowan\u0105 dost\u0119pno\u015bci\u0105 procesu, $$ oznacza identyfikator PID bie\u017c\u0105cej pow\u0142oki. Plik status jest bardziej czytelny dla cz\u0142owieka ni\u017c zorientowany na pola plik stat. Nazwa identyfikuje proces, stan okre\u015bla jego aktualny stan, PPid wskazuje proces nadrz\u0119dny, a liczba w\u0105tk\u00f3w okre\u015bla liczb\u0119 w\u0105tk\u00f3w. VmRSS stanowi szybkie przybli\u017cenie pami\u0119ci rezydentnej, kt\u00f3rej ksi\u0119gowanie RSS odbywa si\u0119 w spos\u00f3b skalowalny i asynchroniczny, przez co mo\u017ce by\u0107 niedok\u0142adne; natomiast VmSize opisuje wirtualn\u0105 przestrze\u0144 adresow\u0105. FDSize opisuje rozmiar tablicy deskryptor\u00f3w, niekoniecznie liczb\u0119 aktualnie otwartych wpis\u00f3w. Dobrowolne i przymusowe zmiany kontekstu mog\u0105 pom\u00f3c w klasyfikacji zachowa\u0144 planowania, ale same w sobie nie stanowi\u0105 dowodu na wyst\u0119powanie b\u0142\u0119du.  <\/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=\"\">Skopiuj kod<\/button><span class=\"wh-copy-status\" aria-live=\"polite\"><\/span><span data-wh-copy-success=\"\" hidden=\"\">Skopiowano<\/span><span data-wh-copy-fallback=\"\" hidden=\"\">Zaznaczony kod \u2013 prosz\u0119 skopiowa\u0107<\/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=\"Oddzielne przedstawienie zasob\u00f3w procesowych i wej\u015b\u0107\/wyj\u015b\u0107 urz\u0105dze\u0144 w ca\u0142ym systemie za pomoc\u0105 abstrakcyjnej warstwy po\u015brednicz\u0105cej.\" 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>Ilustracja koncepcyjna: Dane procesowe i wej\u015bcia\/wyj\u015bcia urz\u0105dze\u0144 blokowych stanowi\u0105 odr\u0119bne poziomy analizy, kt\u00f3rych nie mo\u017cna bezpo\u015brednio przyporz\u0105dkowa\u0107 w stosunku jeden do jednego.<\/figcaption><\/figure><p>Katalog fd zawiera dowi\u0105zania symboliczne do otwartych plik\u00f3w, potok\u00f3w, urz\u0105dze\u0144 lub gniazd. Pomaga to na przyk\u0142ad w znalezieniu procesu, kt\u00f3ry nadal utrzymuje otwarty usuni\u0119ty plik dziennika. Du\u017ca liczba otwartych deskryptor\u00f3w plik\u00f3w jest jednak ca\u0142kowicie normalna w przypadku serwer\u00f3w proxy, baz danych lub serwer\u00f3w zorientowanych na zdarzenia. W przypadku widok\u00f3w filtrowanych i mapowania mi\u0119dzy procesami nale\u017cy <a href=\"https:\/\/webhosting.de\/pl\/lsof-linux-otwarte-pliki-analiza-diagnostyka\/\">Wykorzystanie lsof do analizy otwartych plik\u00f3w<\/a> odpowiednie uzupe\u0142nienie. Wiersze polece\u0144 z cmdline mog\u0105 ujawnia\u0107 poufne argumenty; environ jest jeszcze bardziej wra\u017cliwy ze wzgl\u0119du na potencjalne dane dost\u0119powe lub tokeny i nie nale\u017cy go wywo\u0142ywa\u0107 rutynowo. <\/p><p>Polecenie `maps` wy\u015bwietla list\u0119 wirtualnych obszar\u00f3w pami\u0119ci wraz z uprawnieniami, przesuni\u0119ciem, urz\u0105dzeniem, i-w\u0119z\u0142em oraz, w razie potrzeby, \u015bcie\u017ck\u0105. Polecenie `smaps` uzupe\u0142nia dla ka\u017cdego mapowania szczeg\u00f3\u0142owe warto\u015bci pami\u0119ci i dostarcza dok\u0142adniejszy, cho\u0107 bardziej rozbudowany obraz sytuacji w por\u00f3wnaniu z danymi RSS. Oba pliki s\u0105 przeznaczone do pog\u0142\u0119bionej analizy pami\u0119ci: ich wynik mo\u017ce by\u0107 obszerny, a interpretacja poszczeg\u00f3lnych mapowa\u0144 wymaga kontekstu. Na pierwszy rzut oka polecenie `status` oraz pliki pami\u0119ci i PSI obejmuj\u0105ce ca\u0142y system s\u0105 zazwyczaj bardziej wydajne. <\/p><p>W przypadku du\u017cego obci\u0105\u017cenia i niskiego wykorzystania procesora katalog \/proc\/diskstats rozszerza diagnostyk\u0119 o poziom urz\u0105dze\u0144. Plik ten zawiera skumulowane statystyki operacji wej\u015bcia\/wyj\u015bcia dla ka\u017cdego urz\u0105dzenia blokowego. Aby oceni\u0107 aktywno\u015b\u0107 jako wska\u017anik, nale\u017cy por\u00f3wna\u0107 dwa momenty w czasie. Nale\u017cy przy tym wyra\u017anie rozr\u00f3\u017cni\u0107 dyski fizyczne, partycje oraz urz\u0105dzenia wirtualne lub urz\u0105dzenia mapuj\u0105ce; nie wolno bezkrytycznie sumowa\u0107 licznik\u00f3w z r\u00f3\u017cnych poziom\u00f3w. Otwarty deskryptor pliku procesu nie mo\u017ce by\u0107 przy tym bezpo\u015brednio przypisany do licznika urz\u0105dzenia diskstats: pomi\u0119dzy nimi znajduj\u0105 si\u0119 system plik\u00f3w, pami\u0119\u0107 podr\u0119czna i warstwy mapowania. W po\u0142\u0105czeniu z \/proc\/pressure\/io mo\u017cna jednak sprawdzi\u0107, czy obserwowane zatory we\/wy i aktywno\u015b\u0107 urz\u0105dze\u0144 pokrywaj\u0105 si\u0119 czasowo. <\/p><h2 id=\"proc-monitoring\">procfs w dzia\u0142aniu: zapytania, monitorowanie i ochrona danych<\/h2><p>Aby zapewni\u0107 powtarzalno\u015b\u0107 diagnostyki dzia\u0142ania, traktuj zapytania procfs jako punkty pomiarowe: zanotuj sygnatur\u0119 czasow\u0105, kontekst systemowy oraz konkretne zapytanie. Wiele warto\u015bci to liczniki skumulowane od momentu uruchomienia; dopiero r\u00f3\u017cnica mi\u0119dzy dwiema warto\u015bciami podzielona przez przedzia\u0142 czasowy daje warto\u015b\u0107 cz\u0119stotliwo\u015bci. Dotyczy to na przyk\u0142ad licznik\u00f3w z <code data-no-translation=\"\">\/proc\/diskstats<\/code>. Pojedyncze zapytanie mo\u017ce zatem \u015bwiadczy\u0107 o aktywno\u015bci, ale nie pozwala wiarygodnie okre\u015bli\u0107 ani przepustowo\u015bci, ani trwa\u0142ego pogorszenia wydajno\u015bci.  <\/p><p>System monitorowania powinien w sta\u0142ych odst\u0119pach czasu odczytywa\u0107 mi\u0119dzy innymi warto\u015bci zapisane w pami\u0119ci z <code data-no-translation=\"\">\/proc\/meminfo<\/code>, warto\u015bci z urz\u0105dze\u0144 z <code data-no-translation=\"\">\/proc\/diskstats<\/code>, rejestrowa\u0107 stany proces\u00f3w i systemu, a tak\u017ce \u2013 o ile j\u0105dro systemu to obs\u0142uguje \u2013 sygna\u0142y drukowania. Musi przelicza\u0107 warto\u015bci surowe na odpowiednie jednostki, oblicza\u0107 r\u00f3\u017cnice w przypadku licznik\u00f3w oraz zapisywa\u0107 histori\u0119. W kontenerach nie wolno uto\u017csamia\u0107 globalnych warto\u015bci procfs z limitami zasob\u00f3w obci\u0105\u017cenia: \u015bcie\u017cki proces\u00f3w mog\u0105 by\u0107 ograniczone do przestrzeni nazw PID, podczas gdy warto\u015bci pami\u0119ci lub urz\u0105dze\u0144 mog\u0105 cz\u0119\u015bciowo odzwierciedla\u0107 host. Do okre\u015blenia limit\u00f3w i obci\u0105\u017cenia grupy niezb\u0119dne s\u0105 uzupe\u0142niaj\u0105ce metryki cgroup2. Tylko trendy w czasie pozwalaj\u0105 na ustalenie wiarygodnych warto\u015bci progowych: wysoka warto\u015b\u0107 mo\u017ce by\u0107 normalna, je\u015bli mie\u015bci si\u0119 w oczekiwanym przedziale obci\u0105\u017cenia; nag\u0142y wzrost w stosunku do w\u0142asnej warto\u015bci bazowej jest cz\u0119sto bardziej istotny. Dost\u0119pne wpisy procfs zale\u017c\u0105 od uruchomionego j\u0105dra i jego konfiguracji.  <\/p><p>Pliki bezpo\u015brednie i narz\u0119dzia wzajemnie si\u0119 uzupe\u0142niaj\u0105. <code data-no-translation=\"\">ps<\/code>, <code data-no-translation=\"\">top<\/code> lub <code data-no-translation=\"\">htop<\/code> nadaj\u0105 si\u0119 do interaktywnego przegl\u0105du procesu; <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> oraz <code data-no-translation=\"\">sar<\/code> W zale\u017cno\u015bci od konfiguracji przygotowuj\u0105 dane dotycz\u0105ce konkretnych zagadnie\u0144. procfs nadal ma sens, je\u015bli chcesz bezpo\u015brednio sprawdzi\u0107 kod \u017ar\u00f3d\u0142owy j\u0105dra lub stworzy\u0107 ma\u0142y, przejrzysty skrypt. W przypadku system\u00f3w ostrzegawczych i planowania wydajno\u015bci dane szereg\u00f3w czasowych s\u0105 zazwyczaj bardziej odpowiednim poziomem analizy.<\/p><aside class=\"wh-callout wh-callout-warning\"><p class=\"wh-callout-title\">Nie nale\u017cy bez zastanowienia udost\u0119pnia\u0107 danych procesowych<\/p><p>Wiersze polece\u0144 mog\u0105 zawiera\u0107 \u015bcie\u017cki, identyfikatory klient\u00f3w lub przypadkowo przekazane dane dost\u0119powe. Zmienne \u015brodowiskowe procesu s\u0105 cz\u0119sto jeszcze bardziej wra\u017cliwe. Rejestruj, przechowuj i udost\u0119pniaj te dane tylko wtedy, gdy s\u0105 one niezb\u0119dne do diagnostyki; ogranicz dost\u0119p do nich wy\u0142\u0105cznie do uprawnionych os\u00f3b.<\/p><\/aside><p>Ograniczenia widoczno\u015bci obowi\u0105zuj\u0105 r\u00f3wnie\u017c w przypadku zapyta\u0144 wy\u0142\u0105cznie odczytowych. Uprawnienia dost\u0119pu, opcje montowania oraz przestrzenie nazw PID mog\u0105 ukrywa\u0107 dane proces\u00f3w lub ogranicza\u0107 je do widoku kontenera. Z drugiej strony posiadanie w\u0142asnego punktu montowania \/proc nie oznacza, \u017ce ka\u017cdy globalny plik j\u0105dra zawiera wy\u0142\u0105cznie dane kontenera. Brak wpisu procesu lub nieoczekiwanie wysoka warto\u015b\u0107 globalna jest zatem w pierwszej kolejno\u015bci wskaz\u00f3wk\u0105, aby sprawdzi\u0107 \u015brodowisko wykonawcze, opcje montowania oraz kontekst cgroup.  <\/p><h2 id=\"proc-troubleshooting\">\u015acie\u017cki diagnostyczne dotycz\u0105ce powolnego dzia\u0142ania us\u0142ug i w\u0105skich garde\u0142 zasob\u00f3w<\/h2><p>Rozwi\u0105zywanie problem\u00f3w zaczyna si\u0119 od objawu, a nie od pojedynczej warto\u015bci, kt\u00f3r\u0105 uznaje si\u0119 za przyczyn\u0119. Nast\u0119pnie sprawd\u017a co najmniej jeden niezale\u017cny sygna\u0142 i odnotuj, czy zaobserwowana sytuacja dotyczy hosta, maszyny wirtualnej czy kontenera. W ten spos\u00f3b unikniesz na przyk\u0142ad pochopnego uznania wysokiego obci\u0105\u017cenia za problem z procesorem lub du\u017cej liczby otwartych deskryptor\u00f3w za wyciek. Poni\u017csze \u015bcie\u017cki stanowi\u0105 wst\u0119pn\u0105 diagnoz\u0119 opart\u0105 na analizie danych i nie zast\u0119puj\u0105 log\u00f3w zwi\u0105zanych z aplikacj\u0105.<\/p><div class=\"wh-table-scroll\" tabindex=\"0\" role=\"region\" aria-label=\"Zwi\u0119z\u0142e \u015bcie\u017cki diagnostyczne z wykorzystaniem procfs\"><table><caption>Zwi\u0119z\u0142e \u015bcie\u017cki diagnostyczne z wykorzystaniem procfs<\/caption><thead><tr><th scope=\"col\">Objaw<\/th><th scope=\"col\">Najpierw przeczytaj<\/th><th scope=\"col\">Nast\u0119pnie zsynchronizowa\u0107<\/th><th scope=\"col\">Unikanie b\u0142\u0119dnej interpretacji<\/th><\/tr><\/thead><tbody><tr><td>Du\u017ce obci\u0105\u017cenie<\/td><td>\/proc\/loadavg<\/td><td>\/proc\/stat, \/proc\/pressure\/io, \/proc\/diskstats<\/td><td>Obci\u0105\u017cenie obejmuje zadania gotowe do wykonania oraz zadania oczekuj\u0105ce w trybie nieprzerwanym, a nie tylko obci\u0105\u017cenie procesora.<\/td><\/tr><tr><td>Przypuszczalne ci\u015bnienie w zbiorniku<\/td><td>\/proc\/meminfo<\/td><td>\/proc\/pressure\/memory, \/proc\/\/status<\/td><td>Niski poziom MemFree sam w sobie nie \u015bwiadczy o niedoborze pami\u0119ci RAM; nale\u017cy r\u00f3wnie\u017c wzi\u0105\u0107 pod uwag\u0119 warto\u015bci MemAvailable i Stalls.<\/td><\/tr><tr><td>Zauwa\u017calny czas oczekiwania na operacje wej\u015bcia\/wyj\u015bcia<\/td><td>\/proc\/stat<\/td><td>\/proc\/pressure\/io, \/proc\/diskstats w dw\u00f3ch punktach pomiarowych<\/td><td>iowait nie jest bezpo\u015brednim pomiarem op\u00f3\u017anienia i ma udokumentowane ograniczenia.<\/td><\/tr><tr><td>Wiele otwartych plik\u00f3w<\/td><td>\/proc\/sys\/fs\/file-nr i \/proc\/sys\/fs\/file-max<\/td><td>\/proc\/\/fd, zachowanie us\u0142ugi<\/td><td>Wiele wska\u017anik\u00f3w mo\u017ce by\u0107 dla serwera w normie; wa\u017cniejsze s\u0105 granice i tempo wzrostu.<\/td><\/tr><tr><td>Us\u0142uga si\u0119 nie uruchamia<\/td><td>\/proc\/\/status, o ile proces zostanie uruchomiony<\/td><td>\/proc\/\/fd, dziennik us\u0142ugi, zaj\u0119te zasoby<\/td><td>Proces niewidoczny mo\u017ce by\u0107 zako\u0144czony lub dzia\u0142a\u0107 poza widoczn\u0105 przestrzeni\u0105 nazw PID.<\/td><\/tr><\/tbody><\/table><\/div><p>W przypadku wysokiego wska\u017anika \u015bredniego obci\u0105\u017cenia (Load Average) nale\u017cy najpierw sprawdzi\u0107, czy na t\u0119 warto\u015b\u0107 wp\u0142ywaj\u0105 zadania wykonywane, czy te\u017c oczekuj\u0105ce. Warto\u015bci obci\u0105\u017cenia przedstawiaj\u0105 \u015brednie z okresu jednej, pi\u0119ciu i 15 minut oraz uwzgl\u0119dniaj\u0105 zar\u00f3wno stany R, jak i D. Dlatego te\u017c nale\u017cy z zachowaniem ostro\u017cno\u015bci por\u00f3wnywa\u0107 pola czasu procesora z obci\u0105\u017ceniem wej\u015bcia\/wyj\u015bcia i aktywno\u015bci\u0105 urz\u0105dze\u0144. W szczeg\u00f3lno\u015bci <strong>iowait<\/strong> nie nale\u017cy interpretowa\u0107 tego wy\u0142\u0105cznie jako op\u00f3\u017anienia pami\u0119ci.   <\/p><p>W przypadku powolnego dzia\u0142ania i ma\u0142ej warto\u015bci MemFree <strong>MemAvailable<\/strong> lepsza pierwsza warto\u015b\u0107 kontekstowa. Dodaj dane PSI dotycz\u0105ce pami\u0119ci oraz stan danego procesu, np. jego warto\u015b\u0107 VmRSS, liczb\u0119 w\u0105tk\u00f3w i stan. W odniesieniu do pami\u0119ci i operacji wej\u015bcia\/wyj\u015bcia PSI rozr\u00f3\u017cnia mi\u0119dzy <code data-no-translation=\"\">some<\/code> dla cz\u0119\u015bciowo zablokowanych zada\u0144 oraz <code data-no-translation=\"\">full<\/code> w celu ca\u0142kowitego zablokowania zada\u0144 innych ni\u017c zadania bezczynne. Brak plik\u00f3w PSI mo\u017ce wynika\u0107 z konfiguracji j\u0105dra lub \u015brodowiska; nie oznacza to jednak, \u017ce nie wyst\u0119puje w\u0105skie gard\u0142o.   <\/p><p>W przypadku diagnostyki plik\u00f3w i proces\u00f3w uprawnienia oraz <strong>Przestrzenie nazw PID<\/strong> ograniczaj\u0105 miarodajno\u015b\u0107 wynik\u00f3w. W \u015brodowisku kontenerowym katalog \/proc cz\u0119sto opisuje jedynie przypisane \u015brodowisko proces\u00f3w. W przypadku odmowy dost\u0119pu lub niekompletnych katalog\u00f3w nale\u017cy zatem sprawdzi\u0107 uprawnienia u\u017cytkownika, opcje montowania procfs oraz kontekst przestrzeni nazw, zanim wyci\u0105gnie si\u0119 wnioski techniczne na podstawie braku danych.  <\/p><h2 id=\"proc-decisions\">Korygowanie typowych b\u0142\u0119dnych za\u0142o\u017ce\u0144 i dob\u00f3r odpowiednich narz\u0119dzi<\/h2><p>Cztery typowe b\u0142\u0119dy w administrowaniu systemem Linux cz\u0119sto prowadz\u0105 do podj\u0119cia niew\u0142a\u015bciwych dzia\u0142a\u0144. Niewiele <code data-no-translation=\"\">MemFree<\/code> nie oznacza automatycznie niedoboru pami\u0119ci RAM, poniewa\u017c j\u0105dro wykorzystuje pami\u0119\u0107 m.in. jako pami\u0119\u0107 podr\u0119czn\u0105; w przypadku nowych aplikacji bardziej miarodajnym wska\u017anikiem jest MemAvailable. Wysokie obci\u0105\u017cenie nie \u015bwiadczy o przeci\u0105\u017ceniu procesora, poniewa\u017c uwzgl\u0119dniane s\u0105 r\u00f3wnie\u017c zadania oczekuj\u0105ce w trybie nieprzerwalnym. Wysoki udzia\u0142 iowait nie odzwierciedla bezpo\u015bredniego op\u00f3\u017anienia no\u015bnika danych. Ponadto procfs nie jest wsz\u0119dzie identyczny: wersja j\u0105dra, konfiguracja, sprz\u0119t, modu\u0142y i przestrzenie nazw maj\u0105 wp\u0142yw na pliki i pola.   <\/p><p>Wybierz metod\u0119 w zale\u017cno\u015bci od pytania. W przypadku punktowej analizy przyczyn przydatna jest <strong>procfs<\/strong> bezpo\u015brednie dane surowe z bie\u017c\u0105cego j\u0105dra. Aby uzyska\u0107 szybki, czytelny dla cz\u0142owieka przegl\u0105d, zazwyczaj skuteczniejsze s\u0105 specjalistyczne narz\u0119dzia wiersza polece\u0144. Je\u015bli licz\u0105 si\u0119 trendy, alerty lub decyzje dotycz\u0105ce wydajno\u015bci, potrzebujesz systemu monitorowania, kt\u00f3ry porz\u0105dkuje punkty pomiarowe w czasie, oblicza r\u00f3\u017cnice w warto\u015bciach licznik\u00f3w i przechowuje historyczne warto\u015bci por\u00f3wnawcze. W przypadku ogranicze\u0144 zasob\u00f3w poszczeg\u00f3lnych us\u0142ug lub kontener\u00f3w analiza na poziomie cgroup uzupe\u0142nia globalny widok hosta; przy odpowiedniej konfiguracji PSI mo\u017ce by\u0107 r\u00f3wnie\u017c dost\u0119pne dla poszczeg\u00f3lnych cgroup.  <\/p><p>Szczeg\u00f3ln\u0105 ostro\u017cno\u015b\u0107 nale\u017cy zachowa\u0107 w przypadku <code data-no-translation=\"\">\/proc\/sys<\/code>. Odczyt parametru ma charakter diagnostyczny, natomiast jego zapis zmienia bie\u017c\u0105ce zachowanie j\u0105dra. Nale\u017cy zmienia\u0107 warto\u015b\u0107 tylko wtedy, gdy znana jest przyczyna, warto\u015b\u0107 pocz\u0105tkowa zosta\u0142a udokumentowana, skutki s\u0105 widoczne i istnieje mo\u017cliwo\u015b\u0107 powrotu do stanu poprzedniego. Katalogi <code data-no-translation=\"\">fs<\/code>, <code data-no-translation=\"\">vm<\/code> oraz <code data-no-translation=\"\">net<\/code> klasyfikuj\u0105 parametry wed\u0142ug temat\u00f3w, ale nie podaj\u0105 uniwersalnych wytycznych dotycz\u0105cych tuningu.  <\/p><p>Przyk\u0142ad <code data-no-translation=\"\">drop_caches<\/code> pokazuje r\u00f3\u017cnic\u0119 mi\u0119dzy ingerencj\u0105 a optymalizacj\u0105: dokumentacja j\u0105dra opisuje ten interfejs jako nieinwazyjny, ostrzega jednak przed problemami z wydajno\u015bci\u0105 i nie zaleca jego stosowania jako standardowego dzia\u0142ania operacyjnego poza scenariuszami testowymi lub debugowania. Z tego powodu nale\u017cy stosowa\u0107 ostro\u017cne podej\u015bcie: najpierw nale\u017cy przeprowadzi\u0107 pomiary, nast\u0119pnie wprowadzi\u0107 uzasadnion\u0105 zmian\u0119 w ograniczonym zakresie, obserwowa\u0107 jej skutki i skutki uboczne oraz udokumentowa\u0107 podj\u0119t\u0105 decyzj\u0119.  <\/p><section class=\"wh-sources\"><h2>\u0179r\u00f3d\u0142a i aktualny stan wiedzy<\/h2><p>Stan bada\u0144: <time datetime=\"2026-09-22\">2026-09-22<\/time><\/p><p>Stan bada\u0144: 22 wrze\u015bnia 2026 r. Widoczne \u015bcie\u017cki i pola w systemie plik\u00f3w procfs mog\u0105 si\u0119 r\u00f3\u017cni\u0107 w zale\u017cno\u015bci od wersji j\u0105dra, konfiguracji, sprz\u0119tu, przestrzeni nazw i uprawnie\u0144. Dokumentacja j\u0105dra wykorzystana w odniesieniu do drop_caches i parametr\u00f3w sieciowych odnosi si\u0119 do konkretnych wersji; w przypadku innej wersji j\u0105dra nale\u017cy sprawdzi\u0107 dokumentacj\u0119 u\u017cywanego j\u0105dra.<\/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 zapewnia bezpo\u015bredni wgl\u0105d w dzia\u0142aj\u0105ce j\u0105dro systemu Linux. Niniejszy przewodnik wyja\u015bnia znaczenie wa\u017cnych plik\u00f3w w katalogu \/proc, opisuje liczniki i migawki oraz przedstawia bezpieczne metody diagnostyczne dotycz\u0105ce obci\u0105\u017cenia, pami\u0119ci, proces\u00f3w, operacji wej\u015bcia\/wyj\u015bcia oraz parametr\u00f3w sysctl.<\/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":"Aktualizacja j\u0105dra w systemie Oracle Linux: przegl\u0105d narz\u0119dzia oracle ksplice","excerpt":"Za pomoc\u0105 narz\u0119dzia Oracle Ksplice instaluj\u0119 aktualizacje zabezpiecze\u0144 j\u0105dra i przestrzeni u\u017cytkownika w systemie Oracle Linux bez konieczno\u015bci ponownego uruchamiania i bez przerywania bie\u017c\u0105cych obci\u0105\u017ce\u0144. W tym artykule wyja\u015bniam praktyczne zastosowanie funkcji Kernel Livepatch, omawiam klienty Ksplice oraz pokazuj\u0119, w jaki spos\u00f3b wdra\u017cam aktualizacje w spos\u00f3b bezpieczny, powtarzalny i podlegaj\u0105cy audytowi. Kluczowe punkty: Bez restartu: aktualizacje j\u0105dra przebiegaj\u0105 bez przestoj\u00f3w. Przestrze\u0144 u\u017cytkownika: biblioteki glibc\/OpenSSL mo\u017cna aktualizowa\u0107 na \u017cywo. Hypervisor: aktualizacje KVM i Xen w trakcie pracy. Cofanie zmian: cofanie poprawek bez restartu. Automatyzacja: sterowanie za pomoc\u0105 klienta i API. Kernel Livepatch: kr\u00f3tko i jasno W przypadku Kernel Livepatch aktualizuj\u0119 poprawki bezpiecze\u0144stwa bezpo\u015brednio w aktywnym j\u0105drze \u2013 bez ponownego uruchamiania systemu. Poprawki modyfikuj\u0105 funkcje w pami\u0119ci operacyjnej, dzi\u0119ki czemu us\u0142ugi dzia\u0142aj\u0105 dalej i nie s\u0105 potrzebne okna serwisowe. Zmniejsza to przestoje, obni\u017ca ryzyko i zapewnia ci\u0105g\u0142\u0105 dost\u0119pno\u015b\u0107 system\u00f3w. Szybciej usuwam luki, poniewa\u017c nie planuj\u0119 ponownych uruchomie\u0144. Dla serwer\u00f3w produkcyjnych dzia\u0142aj\u0105cych w trybie 24\/7 jest to wyra\u017ana zaleta, zw\u0142aszcza w przypadku baz danych i wirtualizacji. Oracle Ksplice w skr\u00f3cie Oracle Ksplice dostarcza poprawki na \u017cywo dla j\u0105dra, hiperwizora i kluczowych bibliotek przestrzeni u\u017cytkownika. Wdra\u017cam aktualizacje w spos\u00f3b kontrolowany, monitoruj\u0119 ich status i w razie potrzeby natychmiast cofam zmiany. W ten spos\u00f3b utrzymuj\u0119 wysoki poziom bezpiecze\u0144stwa bez zatrzymywania obci\u0105\u017ce\u0144. Rozszerzony klient (Enhanced Client) wykracza poza j\u0105dro i obejmuje biblioteki glibc, OpenSSL oraz KVM\/Xen. Wynikiem tego jest sp\u00f3jna koncepcja stosowania poprawek zar\u00f3wno dla host\u00f3w, jak i maszyn-go\u015bci, zar\u00f3wno w \u015brodowisku lokalnym, jak i w chmurze. Przebieg procesu w j\u0105drze: krok po kroku Ksplice pobiera r\u00f3\u017cnic\u0119 (diff) mi\u0119dzy j\u0105drem \u017ar\u00f3d\u0142owym a docelowym i tworzy na jej podstawie modu\u0142 poprawki. W\u0142adam ten modu\u0142 do uruchomionego systemu, gdzie zast\u0119puje on lub uzupe\u0142nia odpowiednie funkcje. Przed wdro\u017ceniem Ksplice sprawdza sp\u00f3jno\u015b\u0107 aktywnego j\u0105dra, aby \u017cadne rozbie\u017cno\u015bci nie doprowadzi\u0142y do niebezpiecznych stan\u00f3w. Podczas aktualizacji us\u0142ugi pozostaj\u0105 dost\u0119pne; proces ten jest lekki. Je\u015bli konieczne jest wdro\u017cenie kilku poprawek, automatyzuj\u0119 ten proces, na przyk\u0142ad za pomoc\u0105 polecenia `ksplice upgrade -y`, a wynik dokumentuj\u0119 bezpo\u015brednio po wdro\u017ceniu. Przestrze\u0144 u\u017cytkownika, KV"},"I2":{"id":"I2","post_id":18128,"url":"https:\/\/webhosting.de\/kernel-tuning-linux-sysctl-parameter-serverboost-opti\/","title":"Strojenie j\u0105dra w hostingu Linuksa: Parametry Sysctl w skr\u00f3cie","excerpt":"Optymalizacja j\u0105dra w hostingu Linux przynosi wymierny wzrost wydajno\u015bci, poniewa\u017c precyzyjnie dostosowuj\u0119 parametry sysctl dotycz\u0105ce sieci, pami\u0119ci, procesora i bezpiecze\u0144stwa. W tym celu \u0142aduj\u0119 profile bez konieczno\u015bci ponownego uruchamiania systemu i dostosowuj\u0119 warto\u015bci do obci\u0105\u017cenia, wsp\u00f3\u0142bie\u017cno\u015bci oraz zachowania operacji wej\u015bcia\/wyj\u015bcia, tak aby serwer szybko reagowa\u0142 i dzia\u0142a\u0142 niezawodnie pod obci\u0105\u017ceniem. Kluczowe obszary, w kt\u00f3rych sysctl kontroluje zachowanie j\u0105dra w czasie wykonywania: Optymalizacja sieci: zaleg\u0142o\u015bci, gniazda, TCP; Optymalizacja pami\u0119ci: swapping, brudne strony; precyzyjna regulacja procesora: harmonogram, PID; wzmacnianie zabezpiecze\u0144 bez dodatkowego obci\u0105\u017cenia. Czym jest sysctl w hostingu na Linuksie? Za pomoc\u0105 sysctl odczytuj\u0119 i zmieniam parametry j\u0105dra w trakcie dzia\u0142ania systemu, bez konieczno\u015bci kompilacji j\u0105dra. Warto\u015bci te znajduj\u0105 si\u0119 w postaci plik\u00f3w w katalogu \/proc\/sys, np. net\/ipv4\/tcp_max_syn_backlog, i steruj\u0105 sieci\u0105, pami\u0119ci\u0105 oraz bezpiecze\u0144stwem. W przypadku obci\u0105\u017ce\u0144 hostingowych z du\u017c\u0105 liczb\u0105 po\u0142\u0105cze\u0144 bezpo\u015brednia optymalizacja zmniejsza szczytowe op\u00f3\u017anienia i liczb\u0119 przekrocze\u0144 limit\u00f3w czasu. Tymczasowe zmiany wprowadzam za pomoc\u0105 polecenia sysctl -w, a profile trwa\u0142e zapisuj\u0119 w plikach \/etc\/sysctl.d\/*.conf. Nast\u0119pnie \u0142aduj\u0119 wszystkie zmiany za pomoc\u0105 sysctl --system i sprawdzam dmesg oraz logi dziennika, aby szybko wykry\u0107 b\u0142\u0119dy konfiguracji. W ten spos\u00f3b bezpiecznie korzystam z sysctl Przed wprowadzeniem zmian zapisuj\u0119 profile i dokumentuj\u0119 aktualne warto\u015bci za pomoc\u0105 polecenia sysctl -a, aby w ka\u017cdej chwili m\u00f3c przywr\u00f3ci\u0107 poprzedni stan. Nowe warto\u015bci testuj\u0119 najpierw na maszynach wirtualnych stagingowych o por\u00f3wnywalnym obci\u0105\u017ceniu. Nast\u0119pnie stopniowo zwi\u0119kszam parametry, obserwuj\u0119 wska\u017aniki i ponownie dostosowuj\u0119 ustawienia. W ten spos\u00f3b zapobiegam zabiciom proces\u00f3w z powodu braku pami\u0119ci (OOM), utracie po\u0142\u0105cze\u0144 (socket drops) oraz sporadycznym retransmisjom. W przypadku konfiguracji, kt\u00f3re mo\u017cna odtworzy\u0107, tworz\u0119 osobny plik, np. \/etc\/sysctl.d\/99-hosting.conf, i \u0142aduj\u0119 go w kontrolowany spos\u00f3b. Tymczasowe przetestowanie #: sudo sysctl -w net.core.somaxconn=65535 sudo sysctl -w net.ipv4.tcp_max_syn_backlog=4096 Ustawienie # na sta\u0142e 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 Parametry sieciowe obs\u0142uguj\u0105ce serwery WWW W przypadku du\u017cej liczby jednoczesnych po\u0142\u0105cze\u0144 zwi\u0119kszam warto\u015b\u0107 somaxconn, aby nie dosz\u0142o do przepe\u0142nienia kolejki listen w Nginx lub Apache. Za pomoc\u0105 net.ipv4.tcp_max_syn_backlog zwi\u0119kszam kolejk\u0119 po\u0142\u0105cze\u0144 p\u00f3\u0142otwartych, co przy du\u017cym nat\u0119\u017ceniu ruchu S"},"I3":{"id":"I3","post_id":20594,"url":"https:\/\/webhosting.de\/lsof-linux-offene-dateien-analyse-diagnose\/","title":"Skuteczne wykorzystanie lsof: analiza otwartych plik\u00f3w i proces\u00f3w","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 dla administrator\u00f3w: przegl\u0105d najwa\u017cniejszych plik\u00f3w","slug":"linux-procfs-dla-administratorow","excerpt":"procfs zapewnia bezpo\u015bredni wgl\u0105d w dzia\u0142aj\u0105ce j\u0105dro systemu Linux. Niniejszy przewodnik wyja\u015bnia znaczenie wa\u017cnych plik\u00f3w w katalogu \/proc, opisuje liczniki i migawki oraz przedstawia bezpieczne metody diagnostyczne dotycz\u0105ce obci\u0105\u017cenia, pami\u0119ci, proces\u00f3w, operacji wej\u015bcia\/wyj\u015bcia oraz parametr\u00f3w sysctl.","status":"draft","featured_media":21652},"verify":{"content_md5":"fe641734889fa48edfed948b0aab44cc","title":"Linux procfs dla administrator\u00f3w: przegl\u0105d najwa\u017cniejszych plik\u00f3w","slug":"linux-procfs-dla-administratorow","excerpt":"procfs zapewnia bezpo\u015bredni wgl\u0105d w dzia\u0142aj\u0105ce j\u0105dro systemu Linux. Niniejszy przewodnik wyja\u015bnia znaczenie wa\u017cnych plik\u00f3w w katalogu \/proc, opisuje liczniki i migawki oraz przedstawia bezpieczne metody diagnostyczne dotycz\u0105ce obci\u0105\u017cenia, pami\u0119ci, proces\u00f3w, operacji wej\u015bcia\/wyj\u015bcia oraz parametr\u00f3w sysctl.","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":"System plik\u00f3w \/proc \u2014 Dokumentacja j\u0105dra systemu Linux"},"S2":{"id":"S2","url":"https:\/\/docs.kernel.org\/admin-guide\/sysctl\/?utm_source=openai","title":"Dokumentacja dotycz\u0105ca \/proc\/sys \u2014 Dokumentacja j\u0105dra systemu Linux"},"S3":{"id":"S3","url":"https:\/\/man7.org\/linux\/man-pages\/man5\/proc_loadavg.5.html?utm_source=openai","title":"proc_loadavg(5) \u2013 strona podr\u0119cznika systemu Linux"},"S4":{"id":"S4","url":"https:\/\/www.man7.org\/linux\/man-pages\/man5\/proc_stat.5.html","title":"proc_stat(5) \u2013 strona podr\u0119cznika systemu Linux"},"S5":{"id":"S5","url":"https:\/\/www.man7.org\/linux\/man-pages\/man5\/proc_meminfo.5.html","title":"proc_meminfo(5) \u2013 strona podr\u0119cznika systemu Linux"},"S6":{"id":"S6","url":"https:\/\/docs.kernel.org\/accounting\/psi.html","title":"PSI \u2013 Informacje o przeci\u0105\u017ceniu ci\u015bnieniowym \u2014 Dokumentacja j\u0105dra systemu Linux"},"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 strona podr\u0119cznika systemu Linux"},"S8":{"id":"S8","url":"https:\/\/docs.kernel.org\/filesystems\/proc.html","title":"System plik\u00f3w \/proc \u2014 Dokumentacja j\u0105dra systemu Linux"},"S9":{"id":"S9","url":"https:\/\/man7.org\/linux\/man-pages\/man5\/proc_diskstats.5.html","title":"proc_diskstats(5) \u2013 strona podr\u0119cznika systemu Linux"},"S10":{"id":"S10","url":"https:\/\/docs.kernel.org\/admin-guide\/sysctl\/fs.html?utm_source=openai","title":"Dokumentacja dotycz\u0105ca \/proc\/sys\/fs\/ \u2014 Dokumentacja j\u0105dra systemu Linux"},"S11":{"id":"S11","url":"https:\/\/docs.kernel.org\/5.17\/admin-guide\/sysctl\/vm.html?utm_source=openai","title":"Dokumentacja dotycz\u0105ca \/proc\/sys\/vm\/ \u2014 Dokumentacja j\u0105dra systemu Linux"},"S12":{"id":"S12","url":"https:\/\/docs.kernel.org\/7.1\/admin-guide\/sysctl\/net.html?utm_source=openai","title":"Dokumentacja dotycz\u0105ca \/proc\/sys\/net\/ \u2014 Dokumentacja j\u0105dra systemu Linux"}},"_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 dla administrator\u00f3w: przegl\u0105d najwa\u017cniejszych plik\u00f3w","slug":"linux-procfs-dla-administratorow","excerpt":"procfs zapewnia bezpo\u015bredni wgl\u0105d w dzia\u0142aj\u0105ce j\u0105dro systemu Linux. Niniejszy przewodnik wyja\u015bnia znaczenie wa\u017cnych plik\u00f3w w katalogu \/proc, opisuje liczniki i migawki oraz przedstawia bezpieczne metody diagnostyczne dotycz\u0105ce obci\u0105\u017cenia, pami\u0119ci, proces\u00f3w, operacji wej\u015bcia\/wyj\u015bcia oraz parametr\u00f3w sysctl.","status":"draft","featured_media":0},"expected":{"content_md5":"fe641734889fa48edfed948b0aab44cc","title":"Linux procfs dla administrator\u00f3w: przegl\u0105d najwa\u017cniejszych plik\u00f3w","slug":"linux-procfs-dla-administratorow","excerpt":"procfs zapewnia bezpo\u015bredni wgl\u0105d w dzia\u0142aj\u0105ce j\u0105dro systemu Linux. Niniejszy przewodnik wyja\u015bnia znaczenie wa\u017cnych plik\u00f3w w katalogu \/proc, opisuje liczniki i migawki oraz przedstawia bezpieczne metody diagnostyczne dotycz\u0105ce obci\u0105\u017cenia, pami\u0119ci, proces\u00f3w, operacji wej\u015bcia\/wyj\u015bcia oraz parametr\u00f3w sysctl.","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 dla administrator\u00f3w: przegl\u0105d najwa\u017cniejszych plik\u00f3w","slug":"linux-procfs-dla-administratorow","excerpt":"procfs zapewnia bezpo\u015bredni wgl\u0105d w dzia\u0142aj\u0105ce j\u0105dro systemu Linux. Niniejszy przewodnik wyja\u015bnia znaczenie wa\u017cnych plik\u00f3w w katalogu \/proc, opisuje liczniki i migawki oraz przedstawia bezpieczne metody diagnostyczne dotycz\u0105ce obci\u0105\u017cenia, pami\u0119ci, proces\u00f3w, operacji wej\u015bcia\/wyj\u015bcia oraz parametr\u00f3w sysctl.","seo":{"title":"Linux procfs: wyja\u015bnienie najwa\u017cniejszych plik\u00f3w w katalogu \/proc","description":"Wa\u017cne pliki procfs dla administrator\u00f3w systemu Linux: prawid\u0142owe odczytywanie i interpretowanie obci\u0105\u017cenia systemu, pami\u0119ci, proces\u00f3w, operacji wej\u015bcia\/wyj\u015bcia oraz katalogu \/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":"97","_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\/pl\/wp-json\/wp\/v2\/posts\/21649","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/comments?post=21649"}],"version-history":[{"count":4,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/21649\/revisions"}],"predecessor-version":[{"id":21657,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/21649\/revisions\/21657"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media\/21652"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media?parent=21649"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/categories?post=21649"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/tags?post=21649"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}