/proc

Aus Foxwiki

/proc - Prozessdateisystem

Das Prozessdateisystem stellt zur Laufzeit die Daten des Kernels in Form eines normalen Dateisystems dar. Als Mount-Point dient normalerweise /proc. Dieses Dateisystem existiert allein im Hauptspeicher und nicht auf der Festplatte!

Ein Blick in das Verzeichnis offenbart den Inhalt:

$ ls /proc
1     116    13162  16     17535  196    234    2736   29339  311    337    3765   43     485    613   837   979            ioports       self
10    1169   13207  16005  17538  197    23481  27417  294    3115   3370   377    43530  49497  62    85    98             irq           slabinfo
100   117    13258  164    1755   198    23482  27418  3      3119   3375   38     43531  49507  6228  86    980            kallsyms      softirqs
101   118    13855  165    17907  199    25     27424  30     312    3377   380    43571  49521  627   87    983            kcore         stat
102   1197   13950  166    17908  2      25433  2753   3003   3122   3398   383    43575  50     63    875   acpi           keys          swaps
103   1198   13997  167    1793   20     2560   2761   302    313    3437   384    44147  505    65    876   asound         key-users     sys
105   12     14100  168    1794   2067   2569   2777   303    3151   3438   386    45     51     66    88    buddyinfo      kmsg          sysrq-trigger
106   120    1425   169    1798   21     2584   2779   304    31529  3444   38698  45963  52     67    883   bus            kpagecgroup   sysvipc
107   121    14390  17     18     2123   2593   278    305    31538  3460   388    45964  53     68    885   cgroups        kpagecount    thread-self
108   122    14548  17074  1816   2143   2594   2780   30505  31542  3466   39304  45971  55     70    9     cmdline        kpageflags    timer_list
11    123    14638  17090  1826   217    26     2788   30506  31555  35     39305  45973  554    71    90    consoles       loadavg       tty
110   1235   14712  17095  1858   2175   2612   2799   3052   31562  350    39343  46     56     72    91    cpuinfo        locks         uptime
1105  12357  15     17100  1878   218    2613   28     30546  31565  3508   397    46001  57     73    92    crypto         mdstat        version
111   1236   15008  17105  189    219    2614   2805   306    3192   3598   398    47     575    75    928   devices        meminfo       vmallocinfo
1110  1237   15139  17114  18976  22     2615   2813   307    32     36     4      47064  58     76    93    diskstats      misc          vmstat
1116  12421  15237  17130  190    22045  2617   284    3070   3223   3623   40     47267  5802   77    9312  dma            modules       zoneinfo
112   12454  15244  17133  1909   22177  2622   2849   3078   32959  36474  40319  47522  5824   78    932   driver         mounts
1121  125    15422  17134  191    22230  2631   2850   308    33     3683   40320  47523  585    795   935   dynamic_debug  mtrr
1123  126    15458  17154  192    227    2642   2851   309    3340   37     409    47563  586    8     95    execdomains    net
1125  127    155    17222  1924   229    26892  2852   31     3346   37075  41     479    587    80    9554  fb             pagetypeinfo
113   128    15555  17276  1928   23     26933  2870   310    33485  37076  4120   47941  6      81    96    filesystems    partitions
1136  1290   156    1731   193    232    2695   2876   3101   3356   3755   413    48     60     82    97    fs             pressure
1138  13     157    1743   1939   233    27     288    3102   3358   3757   42     480    6068   825   972   interrupts     sched_debug
115   130    15850  1744   1950   23342  2734   291    3103   3364   3759   426    484    61     83    973   iomem          schedstat

Sinn dieses Abbildes der Kerneldaten ist es, Programmen das Lesen dieser Daten zu ermöglichen, ohne auf den Kernelbereich zugreifen zu müssen (Sicherheit).

Im Einzelnen bedeuten die Einträge:

Name beinhaltet
1,105, ... Diese Zahlen entsprechen den PIDs der laufenden Prozesse und sind Unterverzeichnisse, die wiederum die relevanten Daten der Prozesse beinhalten.
# ls /proc/1
cmdline cwd environ exe fd maps mem root stat statm status

cwd ist das aktuelle Arbeitsverzeichnis und root das Wurzelverzeichnis. Im Unterverzeichnis fd stehen die Deskriptoren der geöffneten Dateien.

cmdline Enthält die Bootzeile, mit der der Kernel gestartet wurde. In den Unterverzeichnissen zu den einzelnen Prozessen stehen hier die Optionen beim Start des jeweiligen Prozesses.
cat /proc/cmdline
auto BOOT_IMAGE=Linux
cpuinfo Typ und Leistung der CPU findet man hier.
cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 5
model : 8
model name : AMD-K6(tm) 3D processor
stepping : 12
cpu MHz : 451.034814
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr mce cx8 sep mtrr pge mmx 3dnow
bogomips : 897.84
devices Major und Minor Number der im Kernel geladenen Treiber stehen hier.
cat /proc/devices
Character devices:
1 mem
2 pty
3 ttyp
4 ttyS
5 cua
7 vcs
10 misc
29 fb
36 netlink
99 ppuser
128 ptm
136 pts
162 raw
Block devices:
1 ramdisk
2 fd
3 ide0
7 loop
9 md
22 ide1
filesystems Die vom Kernel unterstützten Dateisysteme.
cat /proc/filesystems
ext2
minix
umsdos
msdos
vfat
nodev proc
nodev nfs
iso9660
nodev devpts 
interrupts Liste der belegten Hardwareinterrupts mit Zugriffsstatistik.
cat /proc/interrupts
CPU0
0: 2381241 XT-PIC timer
1: 51482 XT-PIC keyboard
2: 0 XT-PIC cascade
8: 2 XT-PIC rtc
10: 26390 XT-PIC eth0
12: 337541 XT-PIC PS/2 Mouse
13: 1 XT-PIC fpu
14: 262940 XT-PIC ide0
15: 4 XT-PIC ide1
kcore Zugang zum Arbeitsspeicher (nur für root)
locks Liste der aktiven Dateisperren.
cat /proc/locks
1: POSIX ADVISORY WRITE 843 03:05:507930 0 2147483647 c652a920 00000000 c652a
740 00000000 c232bf44
1: -> POSIX ADVISORY WRITE 844 03:05:507930 0 2147483647 c232bf44 00000000 00
000000 00000000 c652a920
2: FLOCK ADVISORY WRITE 0 03:05:145478 0 2147483647 c652a740 c652a920 c652a62
0 00000000 00000000
3: FLOCK ADVISORY WRITE 0 03:05:155744 0 2147483647 c652a620 c652a740 c652a5c
0 00000000 00000000
4: POSIX ADVISORY WRITE 133 03:05:145472 0 2147483647 c652a5c0 c652a620 00000
000 00000000 00000000
meminfo Speicher- und Swap-Auslastung.
cat /proc/meminfo
total: used: free: shared: buffers: cached:
Mem: 130813952 124973056 5840896 56123392 17874944 33165312
Swap: 139821056 172032 139649024
MemTotal: 127748 kB
MemFree: 5704 kB
MemShared: 54808 kB
Buffers: 17456 kB
Cached: 32388 kB
BigTotal: 0 kB
BigFree: 0 kB
SwapTotal: 136544 kB
SwapFree: 136376 kB
Stat Statusinformation des Kernels.
cat /proc/stat
cpu 58798 1 10291 2329306
disk 38353 0 0 0
disk_rio 26383 0 0 0
disk_wio 11970 0 0 0
disk_rblk 52790 0 0 0
disk_wblk 23970 0 0 0
page 99771 32285
swap 5 64
intr 3085540 2398396 52805 0 0 0 0 90 0 2 0 26551 0 344639 1 263052 4 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0
ctxt 3408251
btime 950767448
processes 1311 
sys Verschiedene Informationen zum Laufzeitsystem stehen in diesem Unterverzeichnis.
ls /proc/sys
debug dev fs kernel net proc sunrpc
version Kernelversion und Übersetzungsdatum des aktiven Kernels.
cat /proc/version
Linux version 2.2.14 (sonne@galaxis.de) (gcc version egcs-2.91.66 19990314/Linux
(egcs-1.1.2 release)) #1 Mon Feb 14 15:51:29 CET 2000