第15帖(1)
http://www.chinalinuxpub.com/doc/man...rectories.html
通常有关内核的大量的信息被放置在/proc/的目录和子目录中。
进程目录(Process Directories)
每个/proc/ 目录包含许多目录名。 一个列表可能类似这个:
dr-xr-xr-x 3 root root 0 Feb 13 01:28 1
dr-xr-xr-x 3 root root 0 Feb 13 01:28 1010
dr-xr-xr-x 3 xfs xfs 0 Feb 13 01:28 1087
dr-xr-xr-x 3 daemon daemon 0 Feb 13 01:28 1123
dr-xr-xr-x 3 root root 0 Feb 13 01:28 11307
dr-xr-xr-x 3 apache apache 0 Feb 13 01:28 13660
dr-xr-xr-x 3 rpc rpc 0 Feb 13 01:28 637
dr-xr-xr-x 3 rpcuser rpcuser 0 Feb 13 01:28 666
这些目录叫做进程目录,因为他们以进程的ID命名且包含进程的详细信息。当使用者运行程序时,在进程目录中对所有者和组的设定都会起作用。 当进程被结束的时候, 它的 /proc/进程目录将消失。
每个进程目录包含以下文件:
cmdline —这个文件包含启动进程发出的命令。
CPU—提供对系统的每个处理器的利用的详细资讯。 在一个双处理器系统上运行某程序会有类似以下的输出:
cpu 11 3
cpu0 0 0
cpu1 11 3
cwd —一 链接到程序当前工作目录(A symlink to the current working directory for the process.)。
environ—为程序给出环境变量的列表。环境变数被屈服所有的大写字符,而且数值是在小写(铅字) 字符中(The environment variable is given in all upper-case characters, and the value is in lower-case characters)。
exe —一链接到可运行的程序。
fd —一该目录包含进程的所有描述文件。 他们象以下:
total 0
lrwx------ 1 root root 64 May 8 11:31 0 -> /dev/null
lrwx------ 1 root root 64 May 8 11:31 1 -> /dev/null
lrwx------ 1 root root 64 May 8 11:31 2 -> /dev/null
lrwx------ 1 root root 64 May 8 11:31 3 -> /dev/ptmx
lrwx------ 1 root root 64 May 8 11:31 4 -> socket:[7774817]
lrwx------ 1 root root 64 May 8 11:31 5 -> /dev/ptmx
lrwx------ 1 root root 64 May 8 11:31 6 -> socket:[7774829]
lrwx------ 1 root root 64 May 8 11:31 7 -> /dev/ptmx
maps—包含与进程有关的各种的可执行文件和库文件的內存映像。 这个文件可能相当长, 取决于程序是否复杂, sshd 进程的输出的开始像这一样:
08048000-08086000 r-xp 00000000 03:03 391479 /usr/sbin/sshd
08086000-08088000 rw-p 0003e000 03:03 391479 /usr/sbin/sshd
08088000-08095000 rwxp 00000000 00:00 0
40000000-40013000 r-xp 00000000 03:03 293205 /lib/ld-2.2.5.so
40013000-40014000 rw-p 00013000 03:03 293205 /lib/ld-2.2.5.so
40031000-40038000 r-xp 00000000 03:03 293282 /lib/libpam.so.0.75
40038000-40039000 rw-p 00006000 03:03 293282 /lib/libpam.so.0.75
40039000-4003a000 rw-p 00000000 00:00 0
4003a000-4003c000 r-xp 00000000 03:03 293218 /lib/libdl-2.2.5.so
4003c000-4003d000 rw-p 00001000 03:03 293218 /lib/libdl-2.2.5.so
mem —被程序占用的內存。 这个文件不能被使用者读取。
Root-----进程到root目录的链接。
Stat—程序的状态。
statm —被进程使用的內存的状态。下面是/proc/ statm 文件的一个样本:
263 210 210 5 0 205 0
七栏针对不同的方面对程序占用內存做出统计。 从左到右,他们依次是下列各个方面:
总程序大小, 用kb作单位
內存的大小分配, 用kb作单位
共享的页数目
页数是编码(Number of pages are code )
数据/ 堆叠的页数(Number of pages of data/stack)
库文件的页数(Number of pages of library)
脏页数(Number of dirty pages)