GNU/Linux >> Linux Esercitazione >  >> Linux

/proc/cpuinfo e /proc/meminfo in Linux

/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.


Linux
  1. Esplorazione del filesystem Linux /proc

  2. Come ottengo il percorso di un processo in Unix/Linux

  3. Comprensione di Linux /proc/id/maps

  4. Come scoprire da quale cartella è in esecuzione un processo?

  5. I siti web dovrebbero vivere in /var/ o /usr/ in base all'utilizzo consigliato?

In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

Linux:differenza tra /dev/console , /dev/tty e /dev/tty0?

Bash =~ Regex e HTTPS://regex101.com/?

Una guida al file system '/proc' in Linux

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions

Recupera il file cancellato che è attualmente in fase di scrittura