/proc è una directory nel sistema Linux che contiene informazioni sul sistema.
/proc non è un vero e proprio file system, piuttosto un file system virtuale. A volte viene anche indicato come un pseudo-file di informazioni sul processo sistema . Questo file system virtuale viene creato al volo all'avvio del sistema e viene sciolto al momento dell'arresto del sistema.
Contiene informazioni di sistema di runtime invece di file reali. Per ottenere maggiori informazioni sul file proc leggi la pagina man.
Esamineremo due file in particolare nel file system /proc. /proc/cpuinfo e /proc/meminfo.
Il file /proc/cpuinfo
/proc/cpuinfo contiene informazioni sul processore su cui è in esecuzione il sistema Linux. È un file di sola lettura.
Per visualizzare il file proc/cpuinfo usa il comando cat:
$ cat /proc/cpuinfo
processor : 0 vendor_id : AuthenticAMD cpu family : 23 model : 1 model name : AMD EPYC 7501 32-Core Processor stepping : 2 microcode : 0x1000065 cpu MHz : 1999.650 cache size : 512 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 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 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core ssbd ibpb vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 virt_ssbd arat bugs : fxsave_leak sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass bogomips : 3999.30 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management:
Il contenuto del file contiene informazioni sul processore.
Mi dice che il nome del modello del mio processore è AMD EPYC 7501 32-Core Processor.
- ID fornitore rappresenta il nome del fornitore che ha creato il processore.
- Cache size mostra la quantità di memoria cache presente.
- Responsabile del trattamento il valore 0 indica un sistema a processore singolo.
- Bandiere campo mostra quali funzioni sono disponibili nella CPU.
Insieme, tutte queste informazioni raccontano agli utenti l'architettura del sistema in uso.
file/proc/meminfo
Questo file contiene informazioni sull'utilizzo della memoria del sistema. Per visualizzare il file possiamo usare il comando cat:
$ cat /proc/meminfo
MemTotal: 2035428 kB MemFree: 195028 kB MemAvailable: 1692724 kB Buffers: 108020 kB Cached: 1451608 kB SwapCached: 16 kB Active: 539536 kB Inactive: 1072496 kB Active(anon): 33308 kB Inactive(anon): 27948 kB Active(file): 506228 kB Inactive(file): 1044548 kB Unevictable: 18512 kB Mlocked: 18512 kB SwapTotal: 524284 kB SwapFree: 524016 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 70920 kB Mapped: 171140 kB Shmem: 676 kB KReclaimable: 134660 kB Slab: 179536 kB SReclaimable: 134660 kB SUnreclaim: 44876 kB KernelStack: 2156 kB PageTables: 2324 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 1541996 kB Committed_AS: 383328 kB VmallocTotal: 34359738367 kB VmallocUsed: 19176 kB VmallocChunk: 0 kB Percpu: 828 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB ShmemHugePages: 0 kB ShmemPmdMapped: 0 kB FileHugePages: 0 kB FilePmdMapped: 0 kB CmaTotal: 0 kB CmaFree: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB Hugetlb: 0 kB DirectMap4k: 102256 kB DirectMap2M: 1994752 kB DirectMap1G: 0 kB
Il file contiene informazioni sulla memoria libera e utilizzata (sia fisica che di scambio) sul sistema, nonché sulla memoria condivisa e sui buffer utilizzati dal kernel.
Alcuni dei campi importanti sono :
- MemTotale — Quantità totale di RAM fisica nel sistema, in kilobyte.
- MemFree — La quantità di RAM fisica, in kilobyte, lasciata inutilizzata dal sistema.
- Buffer — La quantità di RAM fisica, in kilobyte, utilizzata per i buffer di file.
- Memorizzato nella cache — La quantità di RAM fisica, in kilobyte, utilizzata come memoria cache.
- Scambia nella cache — La quantità di spazio di scambio, in kilobyte, utilizzata come memoria cache.
Conclusione
/proc/cpuinfo e /proc/meminfo fanno parte del file system virtuale /proc. Questi contengono informazioni importanti e dettagliate sul processore e sulla memoria del sistema. Gli utenti regolari potrebbero non richiedere tali informazioni, tuttavia, gli amministratori di sistema potrebbero trovarle utili. Per saperne di più sui file proc leggi questo.