GNU/Linux >> Znalost Linux >  >> Linux

Prozkoumání souborového systému Linux /proc

/proc Zdá se, že souborový systém vždy existuje, protože je vytvořen při bootování a je odstraněn při vypnutí, ale ve skutečnosti je to virtuální souborový systém, který obsahuje mnoho relevantních informací o vašem systému a jeho běžících procesech. V tomto článku se hluboce ponořím do jeho obsahu a do toho, jakou hodnotu z něj jako správce systému můžete získat.

Poznámka:K souborům a adresářům přistupuji pod /proc jako standardní uživatel a ne jako root, pokud není uvedeno jinak.

Pokud se podíváte na soubory pod /proc , uvidíte jich hodně (150+), v závislosti na tom, kolik procesů máte spuštěných.

$ 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

Očíslované soubory jsou adresáře, které odpovídají číslům procesů nebo ID procesů (PID). Například v prvním sloupci jsou procesy s čísly 1, 10, 1055, 1057, 1059 a tak dále. Uvnitř těchto adresářů s čísly procesů je více souborů, které mají co do činění se samotnými procesy. Níže je uveden seznam /proc/411 adresář.

$ 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

V každém adresáři je několik souborů, které běžní uživatelé nemohou číst. Chcete-li zobrazit nebo otevřít tyto soubory, musíte být root.

[ Pokud byste chtěli vidět praktické využití informací /proc, podívejte se na:Jak vyčistit odkládací paměť v Linuxu ]

Všimnete si, že dlouhý výpis (ls -l /proc ) ukazuje, že běžné textové soubory mají velikost 0. Soubor s nulovou velikostí obvykle znamená, že neobsahuje žádný obsah. Nicméně tyto /proc soubory, jako je /proc samotný souborový systém (procfs ), jsou virtuální. dělají obsahují informace, nebo proč by tam byly?

Zobrazte například cpuinfo soubor na obrazovku a uvidíte, co tím myslím.

$ 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:

Tento soubor obsahuje informace o vašem CPU (procesorech). Mnoho z běžných souborů textového typu obsahuje informace o hardwaru a systému a můžete cat stejně jako jakýkoli jiný textový soubor. Nezapomeňte ignorovat tuto nulovou velikost souboru.

V další části tohoto /proc souborový systém, vysvětlím informace uvedené v souborech. Prozkoumat můžete i sami. Většina souborů má názvy, které popisují informace, které obsahují. Některé soubory jsou pro lidskou mysl cennější než jiné. Ne každý soubor má cpuinfo nebo meminfo -informace na úrovni v něm, které jsou cenné pro správce systému, ale informace jsou možná důležité pro vývojáře, výrobce hardwaru nebo pracovníky pro řešení problémů prodejců.

[ Potřebujete se dozvědět více o správě systému Linux? Zvažte absolvování kurzu správy systému Red Hat. ]


Linux
  1. /proc/[pid]/pagemaps a /proc/[pid]/maps | linux

  2. Kde je dočasný adresář v Linuxu?

  3. Kde je zdokumentován obsah /proc linuxového jádra?

  1. Důležité soubory souborového systému Linux /proc, které potřebujete znát

  2. Linux – Co znamenají příznaky v /proc/cpuinfo?

  3. Měly by weby žít ve /var/ nebo /usr/ podle doporučeného použití?

  1. Linux – jak se liší symbolický odkaz /proc//exe od běžných symbolických odkazů?

  2. Rozdíl mezi /opt a /usr/local?

  3. Porozumění systému souborů /proc