Jak jste četli v mém prvním článku Prozkoumávání souborového systému /proc , /proc
souborový systém obsahuje mnoho souborů, které mohou správci systému použít ke zjištění hardwarového složení, konfiguračních parametrů a doplňku procesů na běžícím systému. Ne všechny soubory mají pro správce systému stejnou hodnotu. V tomto článku se zabývám textovými soubory (nikoli adresáři/procesy) s nejvyšší hodnotou pro systémové správce. To znamená, že si prosím uvědomte, že moje definice hodnoty znamená hodnotu pro mě a pro můj objev o zděděných systémech a systémech, se kterými jsem málo obeznámen.
Následuje seznam /proc
adresář běžných textových souborů v systémech založených na Red Hat:
/proc/apm
/proc/buddyinfo
/proc/cmdline
/proc/cpuinfo
/proc/crypto
/proc/devices
/proc/dma
/proc/execdomains
/proc/fb
/proc/filesystems
/proc/interrupts
/proc/iomem
/proc/ioports
/proc/kcore*
/proc/kmsg*
/proc/loadavg
/proc/locks
/proc/mdstat
/proc/meminfo
/proc/misc
/proc/modules
/proc/mounts
/proc/mtrr
/proc/partitions
/proc/pci
/proc/slabinfo*
/proc/stat
/proc/swaps
/proc/sysrq-trigger
/proc/uptime
/proc/version
* root readable only
Pokud zadáte příkaz s dlouhým výpisem (ls -l /proc
), všimnete si, že všechny soubory kromě kcore
(nezobrazeno) soubor má nulovou velikost. Tyto soubory však nejsou prázdné. Obsahují cenné informace.
$ ls -l /proc
-r--r--r--. 1 root root 0 Feb 25 23:13 buddyinfo
-r--r--r--. 1 root root 0 Feb 25 23:13 cgroups
-r--r--r--. 1 root root 0 Feb 25 23:13 cmdline
-r--r--r--. 1 root root 0 Feb 25 23:13 consoles
-r--r--r--. 1 root root 0 Feb 25 23:13 cpuinfo
-r--r--r--. 1 root root 0 Feb 25 23:13 crypto
-r--r--r--. 1 root root 0 Feb 25 23:13 devices
-r--r--r--. 1 root root 0 Feb 25 23:13 diskstats
-r--r--r--. 1 root root 0 Feb 25 23:13 dma
/proc
soubory, které považuji za nejcennější, zejména pro zjišťování zděděného systému, jsou:
- cmdline
- cpuinfo
- informace o paměti
- verze
A nejcennější z nich jsou cpuinfo
a meminfo
.
Opět netvrdím, že jiné soubory nemají hodnotu, ale zjistil jsem, že toto jsou ty, které pro mě mají největší hodnotu. Například /proc/uptime
soubor vám poskytne dobu provozuschopnosti systému v sekundách. Pro mě to není nijak zvlášť cenné. Pokud však tyto informace chci, použiji uptime
příkaz, který mi také poskytuje čitelnější verzi /proc/loadavg
také.
Pro srovnání:
$ cat /proc/uptime
46901.13 46856.69
$ cat /proc/loadavg
0.00 0.01 0.03 2/111 2039
$ uptime
00:56:13 up 13:01, 2 users, load average: 0.00, 0.01, 0.03
Myslím, že tomu rozumíte.
/proc/cmdline
Tento soubor ukazuje parametry předané jádru v době jeho spuštění.
$ cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.10.0-1062.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8
Hodnota této informace je v tom, jak bylo jádro nabootováno, protože zde budou také uvedeny všechny přepínače nebo speciální parametry. A jako všechny informace pod /proc
, lze jej nalézt jinde a obvykle s lepším formátováním, ale /proc
soubory jsou velmi užitečné, když si nepamatujete příkaz nebo nechcete grep
za něco.
/proc/cpuinfo
Soubor /proc/cpuinfo
soubor je první soubor, který zkontroluji při připojování k novému systému. Chci znát CPU sestavu systému a tento soubor mi řekne vše, co potřebuji vědět.
$ 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:
Toto je virtuální stroj a má pouze jeden vCPU. Pokud váš systém obsahuje více než jeden CPU, číslování CPU začíná na 0 pro první CPU.
/proc/meminfo
/proc/meminfo
soubor je druhý soubor, který zkontroluji na novém systému. Poskytuje mi obecný a konkrétní pohled na alokaci paměti a využití systému.
$ cat /proc/meminfo
MemTotal: 1014824 kB
MemFree: 643608 kB
MemAvailable: 706648 kB
Buffers: 1072 kB
Cached: 185568 kB
SwapCached: 0 kB
Active: 187568 kB
Inactive: 80092 kB
Active(anon): 81332 kB
Inactive(anon): 6604 kB
Active(file): 106236 kB
Inactive(file): 73488 kB
Unevictable: 0 kB
Mlocked: 0 kB
***Output truncated***
Myslím, že většina systémových administrátorů buď používá free
nebo top
příkaz k načtení některých zde obsažených dat. /proc/meminfo
file mi poskytuje rychlý přehled paměti, který se mi líbí, a který se může přesměrovat na jiný soubor jako snímek.
/proc/version
/proc/version
příkaz poskytuje více informací než související uname -a
příkaz dělá. Zde jsou tyto dvě srovnání:
$ cat /proc/version
Linux version 3.10.0-1062.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Wed Aug 7 18:08:02 UTC 2019
$ uname -a
Linux centos7 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Obvykle uname -a
příkaz je dostatečný k tomu, aby vám poskytl informace o verzi jádra, ale pro ty z vás, kteří jsou vývojáři nebo se extrémně zajímají o podrobnosti, /proc/version
soubor je tu pro vás.
Koneckonců
/proc
filesystem má spoustu cenných informací dostupných pro systémové administrátory, kteří chtějí pohodlný, nekomandový způsob, jak získat nezpracované systémové informace. Jak jsem uvedl dříve, existují další způsoby, jak zobrazit informace v /proc
. Navíc některé z /proc
info není to, co byste chtěli použít pro hodnocení systému. Použijte například příkazy jako vmstat 5 5
nebo iostat 5 5
získat lepší obrázek o výkonu systému, než číst jeden z dostupných /proc
soubory.
[ Potřebujete se dozvědět více o správě systému Linux? Absolvujte kurz správy systému Red Hat. ]