Il /proc
il filesystem sembra esistere sempre perché è creato all'avvio e viene rimosso allo spegnimento, ma in realtà è un filesystem virtuale che contiene molte informazioni rilevanti sul tuo sistema e sui suoi processi in esecuzione. In questo articolo, approfondirò i suoi contenuti e il valore che tu, come amministratore di sistema, puoi ricavarne.
Nota:sto accedendo a file e directory in /proc
come utente standard e non come root se non diversamente specificato.
Se guardi i file sotto /proc
, ne vedrai molti (oltre 150), a seconda di quanti processi hai in esecuzione.
$ ls /proc
1 174 26 2902 4109 531 fb
10 175 2601 2904 41275 546 filesystems
1004 176 2602 2907 41292 547 fs
<snip>
166 2589 2889 4000 47452 dma vmstat
167 2594 2898 4005 475 driver zoneinfo
168 2595 29 40986 522 execdomains
I file numerati sono directory che corrispondono a numeri di processo o ID di processo (PID). Ad esempio, nella prima colonna ci sono processi con i numeri 1, 10, 1055, 1057, 1059 e così via. All'interno di quelle directory numerate di processo, ci sono più file che hanno a che fare con i processi stessi. Di seguito è riportato un elenco di /proc/411
directory.
$ ls /proc/411
ls: cannot read symbolic link /proc/411/cwd: Permission denied
ls: cannot read symbolic link /proc/411/root: Permission denied
ls: cannot read symbolic link /proc/411/exe: Permission denied
arch_status fdinfo numa_maps smaps_rollup
attr gid_map oom_adj stack
autogroup io oom_score stat
auxv latency oom_score_adj statm
cgroup limits pagemap status
clear_refs loginuid patch_state syscall
cmdline map_files personality task
comm maps projid_map timers
coredump_filter mem root timerslack_ns
cpuset mountinfo sched uid_map
cwd mounts schedstat wchan
environ mountstats sessionid
exe net setgroups
fd ns smaps
Ci sono alcuni file in ogni directory che gli utenti normali non possono leggere. Per elencare o aprire quei file, devi essere root.
[ Se desideri vedere un uso pratico delle informazioni di /proc, dai un'occhiata a:Come cancellare la memoria di scambio in Linux ]
Noterai che un lungo elenco (ls -l /proc
) rivela che i normali file di testo hanno una dimensione pari a 0. Normalmente, un file di dimensioni zero significa che non contiene contenuto. Tuttavia, questi /proc
file, come /proc
filesystem stesso (procfs
), sono virtuali. Loro fanno contengono informazioni oppure perché dovrebbero essere lì?
Ad esempio, visualizza il cpuinfo
file sullo schermo e vedrai cosa intendo.
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 142
model name : Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
stepping : 9
cpu MHz : 2303.998
cache size : 4096 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 22
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc eagerfpu pni pclmulqdq monitor ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase avx2 invpcid rdseed clflushopt md_clear flush_l1d
bogomips : 4607.99
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
Questo file contiene informazioni sulle tue CPU. Molti dei normali file di testo contengono informazioni sull'hardware e sul sistema e puoi cat
come faresti con qualsiasi altro file di testo. Ricorda di ignorare la dimensione del file pari a zero.
Nella prossima puntata di questo /proc
serie di filesystem, spiegherò le informazioni fornite nei file. Puoi esplorare anche tu stesso. La maggior parte dei file ha nomi che descrivono le informazioni che contengono. Alcuni file sono più preziosi di altri per la mente umana. Non tutti i file hanno cpuinfo
o meminfo
informazioni a livello di livello che sono preziose per un amministratore di sistema, ma le informazioni possono essere importanti per sviluppatori, produttori di hardware o personale di risoluzione dei problemi dei fornitori.
[ Hai bisogno di saperne di più sull'amministrazione del sistema Linux? Prendi in considerazione un corso di amministrazione di sistema Red Hat. ]