2022年全面了解Linux下Proc文件系统 .pdf
《2022年全面了解Linux下Proc文件系统 .pdf》由会员分享,可在线阅读,更多相关《2022年全面了解Linux下Proc文件系统 .pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、全面了解Linux 下 Proc 文件系统Proc 是一个虚拟文件系统,在Linux 系统中它被挂载于 /proc 目录之上。Proc 有多个功能,这其中包括用户可以通过它访问内核信息或用于排错,这其中一个非常有用的功能,也是 Linux 变得更加特别的功能就是以文本流的形式来访问进程信息。很Linux 命令(比如 ps 、toPpstree 等)都需要使用这个文件系统的信息。本文就是向用户介绍一些访问这些信息的方法。需要说明的是, 本文所述的内容并不一定适用所有内核版本,有部分操作只适用于2.6 内核。bus 总线信息 ( 只读 ) drivers 驱动信息 ( 只读 ) fs 文件系统特别
2、信息( 只读 ) ide IDE接口信息 ( 只读 ) irq IRQ信息 ( 只读 ) net 网络子系统信息(只读 ) scsi SCSI系统信息 ( 只读 ) sysvipc IPC子系统信息 ( 只读 ) tty tty子系统信息 ( 只读 ) sys 系统内核可调参数 ( 可调 )一、进程信息在/proc 文件系统中,每一个进程都有一个相应的文件。下面是 /proc 目录下的一些重要文件:/proc/pid/cmdline 包含了用于开始进程的命令;/proc/pid/cwd包含了当前进程工作目录的一个链接;/proc/pid/environ 包含了可用进程环境变量的列表;/proc
3、/pid/exe 包含了正在进程中运行的程序链接;/proc/pid/fd/ 这个目录包含了进程打开的每一个文件的链接;/proc/pid/mem 包含了进程在内存中的内容;/proc/pid/stat包含了进程的状态信息;/proc/pid/statm 包含了进程的内存使用信息。下面是一些获取进程信息的例子: 假设现在要查看是否所有的进程都会做存储器清除工作。在/proc/pid/stat文件中的每一个进程标识 ( 第 8 个属性 ) 提供了有关进程的很多“个人”信息。这个信息可以对每一个进程标识进行。0 x00000002 Process being created 0 x00000004
4、 Exiting 0 x00000008 Dead 0 x00000040 Process using superuser privflage 0 x00000200 P rocess dumping core 0 x00000400 Prooess received some signal 0 x00000800 Process allocating memory 0 x00001000 Killed due to out-of-memory condition 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 -
5、 - - - - - - 第 1 页,共 10 页 - - - - - - - - - 笔者从 /usr/src/linux/include/linux/sched.h 中提取了这些信息。 /proc/pid/fd/ 目录提供了有关打开文件的信息。 要查看被进程使用的输入文件,使用以下命令:# ls l /proc/pid/fd/0 查看被进程使用 socket ,使用以下命令:#ls l /proc/pid/fd|sed n /socket/s/.*/;s/p 有关这些 socket 的信息可以使用以下命令获取:# netstat -ae 要将命令行参数传递给任意进程,使用以下命令:cat
6、/proc/pid/cmdline 要 获取某一进程父进程的ID 号,使用以下命令:#grep PPid/proc/pid/status 二、普通的系统信息Proc 包含了很多系统信息,这其中包括CPU 负载、文件系统和网络配置。下面是一些通过 Proc 查看和更改系统的例子: 获取可用系统内存的空间:# grep Free /proc/meminfo 自从系统最后一次启动后的系统统计可以从/proc/stat文件中获取:#grep processes /proc/stat 获知第 1 、5 和 15 分钟系统负载的平均值:#awk print “1 min:t ” $1 “t ” $2 “t
7、 ” $3 /proc/loadavg /proc/partitions可用于获取系统的分区信息。 /proc/net和/proc/sys/net可用于查看和更改重要的网络信息。比如,禁用ping 命令,可以以 root身份运行以下命令:#echo 1/proc/sys/net/ipv4/icmp_echo_ignore_all 如果要启用 IP 转发/IP 伪装,使用以下命令:#echo 1 /proc/sys/net/ipv4/ip_forward 已经挂载的文件系统信息可以从/proc/mounts中检索。 要改变正在使用的主机名,使用以下命令:# echo www.abc.corn /
8、proc/sys/kernel/hostname 要获取 CPU 信息,使用以下命令:# cat /proc/cpuinfo 要获知 swap空间的使用情况,使用以下命令:# cat /proc/swaps 获取系统的正常运行时间:#cat /proc/uptime 列出由 NFS共享的文件系统:# cat /proc/fs/nfsd/exports 三、相关内核的信息这是一个非常宽泛的主题,这里只介绍其中一小部分内容: 从正在运行的内核中获知内核的版本:#cat /proc/version 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -
9、- - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - /proc/kmsg 文件被作为内核日志信息源,它可以被作为一个系统信息调用的接口使用。 /proc/kcore文件提供了以内核文件格式形式访问系统物理内存,并且可以被 gdb 用于检查任意内核数据结构的当前状态。如果装了源码, 那么可以通过查看/usr/src/linux/Documentation/filesystems/proc.txt文件来获取更多的信息 。从中可以看出来, Proc 是一个非常不错的获取系统信息渠道。如果利用得好,则它对 Linux 系统的维护和管理能提
10、供非常大的帮助四、/proc 目录proc/scsi /proc/scsi/scsi 作为系统管理员, 需要了解的最有用内容是, 在有热交换驱动器情况下, 如何不重启系统就可以添加更多磁盘空间。假使不使用 /proc ,您可以插入驱动器, 但为了使系统识别新磁盘, 必须随即重新引导系统。 这里,可以用以下命令来使系统识别新的驱动器:echo scsi add-single-device w x y z /proc/scsi/scsi 为使该命令正常运行,必须指定正确的参数值 w、x、y 和 z ,如下所示:w 是主机适配器标识,第一个适配器为零(0)x 是主机适配器上的 SCSI 通道,第一个
11、通道为零( 0)y 是设备的 SCSI 标识z 是 LUN 号,第一个 LUN 为零( 0)一旦将磁盘添加到系统中之后, 可以挂装任何先前已格式化的文件系统,也可以开始对它进行格式化等。 例如,如果不确定磁盘是什么设备,或者想检查任何先前已有的分区,则可以用如 fdisk -l 这样的命令来向您报告这方面的信息。相反的,在不重新引导系统的情况下将设备从系统中除去的命令是:echo scsi remove-single-device w x y z /proc/scsi/scsi 在输入这条命令并将热交换 SCSI 磁盘从系统中除去之前, 请确保首先卸下已从该磁盘安装的任何文件系统。/proc/
12、sys/fs/ /proc/sys/fs/file-max 该文件指定了可以分配的文件句柄的最大数目。如果用户得到的错误消息声明由于打开文件数已经达到了最大值,从而他们不能打开更多文件, 则可能需要增加该值。可将这个值设置成有任意多个文件,并且能通过将一个新数字值写入该文件来更改该值。缺省设置: 4096 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - /proc/sys/fs/file-nr 该文件与 file-max 相关
13、,它有三个值:已分配文件句柄的数目已使用文件句柄的数目文件句柄的最大数目该文件是只读的,仅用于显示信息。/proc/sys/fs/inode-* 任何以名称“ inode ”开头的文件所执行的操作与上面那些以名称“file”开头的文件所执行的操作一样, 但所执行的操作与索引节点有关, 而与文件句柄无关。/proc/sys/fs/overflowuid 和 /proc/sys/fs/overflowgid 这两个文件分别保存那些支持 16 位用户标识和组标识的任何文件系统的用户标识(UID)和组标识(GID)。可以更改这些值, 但如果您确实觉得需要这样做,那么您可能会发现更改组和密码文件项更容易
14、些。缺省设置: 65534 /proc/sys/fs/super-max 该文件指定超级块处理程序的最大数目。挂装的任何文件系统需要使用超级块,所以如果挂装了大量文件系统,则可能会用尽超级块处理程序。缺省设置: 256 /proc/sys/fs/super-nr 该文件显示当前已分配超级块的数目。该文件是只读的,仅用于显示信息。/proc/sys/kernel /proc/sys/kernel/acct 该文件有三个可配置值, 根据包含日志的文件系统上可用空间的数量(以百分比表示),这些值控制何时开始进行进程记帐:如果可用空间低于这个百分比值,则停止进程记帐如果可用空间高于这个百分比值,则开始
15、进程记帐检查上面两个值的频率(以秒为单位)要更改这个文件的某个值,应该回送用空格分隔开的一串数字。缺省设置: 2 4 30 如果包含日志的文件系统上只有少于 2% 的可用空间,则这些值会使记帐停止,如果有 4% 或更多可用空间,则再次启动记帐。每 30 秒做一次检查。/proc/sys/kernel/ctrl-alt-del 该文件有一个二进制值,该值控制系统在接收到 ctrl+alt+delete 按键组合时名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 -
16、- - - - - - - - 如何反应。这两个值表示:零(0)值表示捕获 ctrl+alt+delete,并将其送至 init 程序。这将允许系统可以完美地关闭和重启,就好象您输入 shutdown 命令一样。壹(1)值表示不捕获 ctrl+alt+delete,将执行非干净的关闭,就好象直接关闭电源一样。缺省设置: 0 /proc/sys/kernel/domainname 该文件允许您配置网络域名。 它没有缺省值, 也许已经设置了域名, 也许没有设置。/proc/sys/kernel/hostname 该文件允许您配置网络主机名。它没有缺省值, 也许已经设置了主机名, 也许没有设置。/p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年全面了解Linux下Proc文件系统 2022 全面 了解 Linux Proc 文件系统
限制150内