Majoritatea utilizatorilor Linux știu că /proc există. Puțini îl folosesc efectiv. Dar /proc este unul dintre cele mai utile instrumente de diagnosticare de pe întregul sistem - și nu necesită niciun pachet suplimentar.
/proc este un sistem de fișiere virtual. Nimic din el nu este stocat pe disc. Nucleul generează majoritatea acestor fișiere din mers, în momentul în care le citești. Gândește-te la el ca la o fereastră în timp real spre starea internă a nucleului: procese active, structura memoriei, informații despre procesor, statistici de rețea, întreruperi hardware și multe altele.
Odată ce începi să citești direct din /proc, vei înțelege exact de unde extrag datele unelte precum top, free, vmstat sau ss. Vei putea, de asemenea, să obții informații pe care acele unelte nu le expun.
Ce este /proc
Nucleul montează /proc ca un pseudo-sistem de fișiere de tip procfs. Apare în arborele de fișiere, dar nimic nu este scris pe disc. Fiecare citire declanșează o funcție din nucleu care asamblează datele în timp real.
Poți confirma tipul de montare cu:
mount | grep proc
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
Sub /proc există două categorii distincte. Prima: directoare numerotate precum /proc/1234/, câte unul pentru fiecare proces activ, unde numărul este PID-ul. A doua: fișiere și directoare globale precum /proc/meminfo, /proc/cpuinfo și /proc/net/, care expun starea la nivel de nucleu.
Totul poate fi citit cu unelte obișnuite: cat, grep, less, awk, chiar și o comandă simplă read din shell. Unele fișiere din /proc/sys/ sunt și inscriptibile, ceea ce este mecanismul prin care funcționează sysctl.
Articolul complet, cu toate fișierele utile, comenzi practice și rețete pentru scripturi, îl găsești pe wiki: Sistemul de fișiere /proc în Linux [Linux România]