Использование /proc

Данные, необходимые для отслеживания состояния работающей системы в реальном времени, получения информации о физической памяти и процессоре, идентифицирования дисков, читаются из виртуальной файловой системы /proc.

Для чтения данных из /ргос используются cat и утилиты, предназначенные специально для этой цели (например, sysctl, lspci, ps и top). Синтаксис cat:

$ cat /proc/filename

Выполняя с /ргос те же операции, что и с обычными файловыми системами можно легко найти нужную информацию.

Информация об оборудовании хранится в каталогах с соответствующими именами:

$ ls /ргос
1/     199/  2396/  2891/  2944/  3079/  3158/  3437/  988/       devices      interrupts  locks      partitions     tty/
1064/  2/    2452/  2894/  3/     3080/  3201/  3478/  992/       diskstats    iomem       mdstat     scsi/          uptime
168/   200/  2486/  2905/  3004/  3081/  3317/  4/     acpi/      dma          ioports     megaraid/  self@          version
169/   201/  2490/  2907/  3042/  3082/  3319/  5/     asound/    driver/      irq/        meminfo    slabinfo       vmstat
170/   202/  2856/  2913/  3045/  3091/  3322/  6/     buddyinfo  execdomains  kallsyms    misc       stat           zoneinfo
173/   203/  2863/  2918/  3048/  3134/  3324/  83/    bus/       fb           kcore       modules    swaps
175/   204/  2871/  2931/  3063/  3139/  3326/  84/    cmdline    filesystems  key-users   mounts@    sys/
187/   205/  2879/  2936/  3069/  3141/  3328/  888/   config.gz  fs/          keys        mpt/       sysrq-trigger
197/   206/  2884/  2938/  3075/  3142/  3331/  937/   cpuinfo    i2o/         kmsg        mtrr       sysvipc/
198/   207/  2885/  2941/  3078/  3153/  3427/  942/   crypto     ide/         loadavg     net/       timer_list

Вывод информации о процессоре:

$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 2
model name      : Intel(R) CPU 2.00GHz
stepping        : 9
cpu MHz         : 2000.256
cache size      : 128 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss
ht tm pbe up cid xtpr
bogomips        : 4004.09
clflush size    : 64

Вывод информации о физической и виртуальной памяти:

$ cat /proc/meminfo
MemTotal:       477944 kB
MemFree:          8236 kB
Buffers:         47828 kB
Cached:         256680 kB
SwapCached:          0 kB
Active:         235672 kB
Inactive:       203656 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:       477944 kB
LowFree:          8236 kB
SwapTotal:      979924 kB
SwapFree:       979924 kB
Dirty:             264 kB
Writeback:           0 kB
AnonPages:      134820 kB
Mapped:          57164 kB
Slab:            22120 kB
SReclaimable:    13016 kB
SUnreclaim:       9104 kB
PageTables:       1184 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   1218896 kB
Committed_AS:   411860 kB
VmallocTotal:   540664 kB
VmallocUsed:      7132 kB
VmallocChunk:   533424 kB

Вывод информации о жестком диске IDE:

$ cat /proc/ide/sis
 
SiS 5513 Ultra 133 chipset
--------------- Primary Channel ---------------- Secondary Channel -------------
Channel Status: On                               On
Operation Mode: Compatible                       Compatible
Cable Type:     80 pins                          80 pins
Drive 0:
                UDMA Enabled                     UDMA Enabled
                UDMA Cycle Time    2 CLK         UDMA Cycle Time    6 CLK
Drive 1:
                UDMA Disabled                    UDMA Enabled
                UDMA Cycle Time    Reserved      UDMA Cycle Time    6 CLK

Вывод информации о геометрии диска (как физической, так и логической):

$ cat /proc/ide/ide0/hda/geometry
physical     16383/16/63
logical      16383/255/63

Идентификация диска:

$ cat /proc/ide/ide0/hda/model
ST380011A

Для чтения данных из /ргос используются только cat и утилиты, предназначенные специально для этой цели, т.к. программы постраничного вывода типа less или more читают /ргос заново с каждой страницей. Во избежание повреждения системы нельзя использовать для чтения программы с возможностью записи.

Powered by Drupal — Design by drupal.mensh.ru.