Linux-da faýl ulgamyny gözlemek/gözlemek


Bu gün,/proc katalogynyň içine göz aýlap, onuň bilen tanyşlygy ösdüreris./Prok katalogy, tagamyna ýa-da arhitekturasyna garamazdan ähli Linux ulgamlarynda bar.

Derrew aýyrmaly bir ýalňyş pikir,/proc katalogynyň adalga manysynda hakyky faýl ulgamy däldigi. Bu wirtual faýl ulgamy. Proklaryň içinde prosesler we beýleki ulgam maglumatlary bar. Ol/proc bilen kartalaşdyrylýar we ýüklenýän wagty gurulýar.

Ilki bilen/proc katalogyna girip, töweregine göz aýlalyň:

# cd /proc

Ilki bilen üns berjek zadyňyz, käbir tanyş ses faýllarynyň, soň bolsa bir topar sanly kataloglaryň bolmagydyr. Sanly kataloglar, PID-ler hökmünde has gowy bilinýän we olaryň içinde olary eýeleýän buýrugy aňladýar. Faýllarda ýat (meminfo), CPU maglumatlary (cpuinfo) we elýeterli faýl ulgamlary ýaly ulgam maglumatlary bar.

Şeýle hem okaň: Fiziki ýady we çalşygy ýadyny barlamak üçin Linux mugt buýrugy

Ilki bilen faýllaryň birine göz aýlalyň:

# cat /proc/meminfo

şuňa meňzeş bir zady gaýtaryp berýär:

MemTotal:         604340 kB
MemFree:           54240 kB
Buffers:           18700 kB
Cached:           369020 kB
SwapCached:            0 kB
Active:           312556 kB
Inactive:         164856 kB
Active(anon):      89744 kB
Inactive(anon):      360 kB
Active(file):     222812 kB
Inactive(file):   164496 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:         89724 kB
Mapped:            18012 kB
Shmem:               412 kB
Slab:              50104 kB
SReclaimable:      40224 kB
...

Görşüňiz ýaly,/proc/meminfo ulgamyňyzyň ýady barada bar bolan umumy mukdary (kb-da) we ýokarky iki setirde mugt mukdary öz içine alýan bir topar maglumatlary öz içine alýar.

Pişik buýrugyny/proc-de haýsydyr bir faýlda işletmek olaryň mazmunyny çykarar. Islendik faýl hakda maglumat işlemek arkaly adam sahypasynda elýeterlidir:

# man 5 /proc/<filename>

Size/proc faýllaryna gysgaça maglumat bererin:

  1. /proc/cmdline - ernadro buýruk setiriniň maglumatlary.
  2. /proc/konsol - Tty goşmak bilen häzirki konsollar barada maglumat.
  3. /proc/enjamlar - Häzirki wagtda işleýän ýadro üçin düzülen enjam draýwerleri.
  4. /proc/dma - Häzirki DMA kanallary barada maglumat.
  5. /proc/fb - Çarçuwaly enjamlar.
  6. /proc/filesystems - ernadro tarapyndan goldanýan häzirki faýl ulgamlary.
  7. /proc/iomem - Enjamlar üçin häzirki ulgam ýat kartasy.
  8. /proc/ioports - Enjam bilen giriş aragatnaşygy üçin hasaba alnan port sebitleri.
  9. /proc/loadavg - Ulgam ýüküniň ortaça.
  10. /proc/gulplar - Häzirki wagtda ýadro bilen gulplanan faýllar.
  11. /proc/meminfo - Ulgam ýady barada maglumat (ýokardaky mysallara serediň).
  12. /proc/misc - Dürli esasy enjam üçin hasaba alnan dürli sürüjiler.
  13. /proc/modullar - Häzirki wagtda ýüklenen ýadro modullary.
  14. /proc/mount - Ulgam tarapyndan ulanylýan ähli gerişleriň sanawy.
  15. /proc/partitions - Ulgamda bar bolan bölümler barada jikme-jik maglumat.
  16. /proc/pci - Her PCI enjamy barada maglumat.
  17. /proc/stat - Soňky gaýtadan açylmakdan saklanýan ýazgy ýa-da dürli statistika.
  18. /proc/swap - swap giňişligi barada maglumat.
  19. /proc/iş wagty - Iş wagty barada maglumat (sekuntlarda).
  20. /proc/wersiýa - ernadro wersiýasy, gcc wersiýasy we Linux paýlanyşy guruldy.

/ Proc nomerli kataloglaryň içinde birnäçe faýl we baglanyşyk tapyp bilersiňiz. Bu kataloglaryň sanlarynyň içindäki işleýän buýrugyň PID-e degişlidigini ýadyňyzdan çykarmaň. Geliň, bir mysal alalyň. Ulgamymda/proc/12 bukjasynyň ady bar:

# cd /proc/12
# ls
attr        coredump_filter  io         mounts      oom_score_adj  smaps    wchan
autogroup   cpuset           latency    mountstats  pagemap        stack
auxv        cwd              limits     net         personality    stat
cgroup      environ          loginuid   ns          root           statm
clear_refs  exe              maps       numa_maps   sched          status
cmdline     fd               mem        oom_adj     schedstat      syscall
comm        fdinfo           mountinfo  oom_score   sessionid      task

Men ylgasam:

# cat /proc/12/status

Aşakdakylary alýaryn:

Name:	xenwatch
State:	S (sleeping)
Tgid:	12
Pid:	12
PPid:	2
TracerPid:	0
Uid:	0	0	0	0
Gid:	0	0	0	0
FDSize:	64
Groups:
Threads:	1
SigQ:	1/4592
SigPnd:	0000000000000000
ShdPnd:	0000000000000000
SigBlk:	0000000000000000
SigIgn:	ffffffffffffffff
SigCgt:	0000000000000000
CapInh:	0000000000000000
CapPrm:	ffffffffffffffff
CapEff:	ffffffffffffffff
CapBnd:	ffffffffffffffff
Cpus_allowed:	1
Cpus_allowed_list:	0
Mems_allowed:	00000000,00000001
Mems_allowed_list:	0
voluntary_ctxt_switches:	84
nonvoluntary_ctxt_switches:	0

Onda munuň manysy näme? Garaz, möhüm bölegi ýokarda. Processagdaý faýlyndan bu amalyň ksenwatch-a degişlidigini görüp bileris. Häzirki ýagdaýy uklaýar we amal belgisi 12-dir. Şeýle hem, kimiň işleýändigini görüp bileris, sebäbi UID we GID 0, bu amalyň kök ulanyja degişlidigini görkezýär.

Islendik sanly katalogda şuňa meňzeş faýl gurluşy bolar. Iň möhümleri we düşündirişleri aşakdakylar:

  1. cmdline - amalyň buýruk setiri
  2. daşky gurşaw - daşky gurşaw üýtgeýjileri
  3. fd - faýl düşündirijileri
  4. çäkler - prosesiň çäkleri barada maglumatlary öz içine alýar
  5. daglar - baglanyşykly maglumatlar

Şeýle hem, sanly katalogda birnäçe baglanyşygy görersiňiz:

  1. cwd - häzirki iş katalogyna baglanyşyk
  2. exe - amalyň ýerine ýetirilişine baglanyşyk
  3. kök - prosesiň iş katalogyna baglanyşyk

Bu,/proc katalogy bilen tanyşmak bilen başlamaly. Mundan başga-da, birnäçe buýruklaryň iş wagty, lsof, monta and we ps ýaly maglumatlaryny nädip alýandyklary barada düşünje bermeli.