当前位置:  技术问答>linux和unix

\proc文件系统列表?

    来源: 互联网  发布时间:2015-02-08

    本文导语:  proc文件系统列表的每一列代表什么意思? | /proc  is  a  pseudo-filesystem which is used as an interface to kernel data struc-        tures rather than reading and interpreting /dev/kmem.  Most of it is...

proc文件系统列表的每一列代表什么意思?

|
/proc  is  a  pseudo-filesystem which is used as an interface to kernel data struc-
       tures rather than reading and interpreting /dev/kmem.  Most of it is read-only, but
       some files allow kernel variables to be changed.

       The following outline gives a quick tour through the /proc hierarchy.

       [number]
              There is a numerical subdirectory for each running process; the subdirectory
              is named by the process ID.  Each contains the  following  pseudo-files  and
              directories.

       devices
              Text  listing  of  major  numbers  and  device  groups.  This can be used by
              MAKEDEV scripts for consistency with the kernel.

       dma    This is a list of the registered ISA DMA (direct memory access) channels  in
              use.

       driver Empty subdirectory.

       execdomains
              List of the execution domains (ABI personalities).

       fb     Frame  buffer  information  when CONFIG_FB is defined during kernel compila-
              tion.

       filesystems
              A text listing of the filesystems  which  were  compiled  into  the  kernel.
              Incidentally,  this  is used by mount(1) to cycle through different filesys-
              tems when none is specified.

       ide    ide exists on systems with the ide bus.  There are directories for each  ide
              channel and attached device.  Files include:

       interrupts
              This is used to record the number of interrupts per each IRQ on  (at  least)
              the i386 architechure.  Very easy to read formatting, done in ASCII.

       iomem  I/O memory map in Linux 2.4.

       ioports
              This is a list of currently registered Input-Output port regions that are in
              use.

       kcore  This file represents the physical memory of the system and is stored in  the
              ELF  core  file  format.   With  this  pseudo-file, and an unstripped kernel
              (/usr/src/linux/vmlinux) binary, GDB can be  used  to  examine  the  current
              state of any kernel data structures.

              The  total length of the file is the size of physical memory (RAM) plus 4KB.

       kmsg   This file can be used instead of the syslog(2) system  call  to  log  kernel
              messages.   A  process must have superuser privileges to read this file, and
              only one process should read this file.  This file should not be read  if  a
              syslog  process  is running which uses the syslog(2) system call facility to
              log kernel messages.

              Information in this file is retrieved with the dmesg(8) program.


|
PROC文件系统是一个伪文件系统,它的文件和目录是由Linux 操作系统核心提供的,以文件系统的方式为访问系统内核数据的操作提供接口,它们不占用磁盘上的任何空间,有了这些文件和目录, 用户可以更容易的了解操作系统核心或各个进程的状态,并能对系统的一些参数进行配置。比如,一个系统内能打开的文件数最大缺省是1024,即系统最多能同时打开1024个文件,这在使用Linux做多用户的服务器时是不够用的,通过对/PROC下文件的修改可以在不修改核心,甚至不启动机器的情况下改变这个缺省值。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取PROC文件时,PROC文件系统是动态从系统内核读出所需信息并提交的。它的目录结构如下:
目录名称        目录内容
apm         Advanced power management info
Cmdline         Kernel command line
Cpuinfo        Info about the CPU
Devices        Available devices (block and character)
Dma        Used DMS channels
Filesystems        Supported filesystems
Interrupts        Interrupt usage
Ioports        I/O port usage
Kcore        Kernel core image
Kmsg        Kernel messages
Ksyms        Kernel symbol table
Loadavg        Load average
Locks        Kernel locks
Meminfo        Memory info
Misc        Miscellaneous
Modules        List of loaded modules
Mounts        Mounted filesystems
Partitions        Table of partitions known to the system
Rtc        Real time clock
Slabinfo        Slab pool info
Stat        Overall statistics
Swaps        Swap space utilization
Version        Kernel version
Uptime        System uptime

并不是所有这些目录在你的系统中都有,这取决于你的内核配置和装载的模块。另外,在/proc下还有三个很重要的目录:net,scsi和sys。Sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi目录不存在。
除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/PROC下,以进程的PID号为目录名,它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口,是一个link。Proc文件系统的名字就是由之而起。进程目录的结构如下:

目录名称        目录内容
Cmdline        Command line arguments
Environ        Values of environment variables
Fd        Directory, which contains all file descriptors
Mem        Memory held by this process
Stat        Process status
Status        Process status in human readable form
Cwd        Link to the current working directory
Exe        Link to the executable of this process
Maps        Memory maps
Statm        Process memory status information
Root        Link to the root directory of this process

用户如果要查看系统信息,可以用cat命令。例如:
> cat /proc/interrupts
           CPU0
  0:    8728810          XT-PIC  timer
  1:        895          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
  3:     531695          XT-PIC  aha152x
  4:    2014133          XT-PIC  serial
  5:      44401          XT-PIC  pcnet_cs
  8:          2          XT-PIC  rtc
11:          8          XT-PIC  i82365
12:     182918          XT-PIC  PS/2 Mouse
13:          1          XT-PIC  fpu
14:    1232265          XT-PIC  ide0
15:          7          XT-PIC  ide1
NMI:          0
2.修改内核参数
在/proc文件系统中有一个有趣的目录:/proc/sys。它不仅提供了内核信息,而且可以通过它修改内核参数,来优化你的系统。但是你必须很小心,因为可能会造成系统崩溃。最好是先找一台无关紧要的机子,调试成功后再应用到你的系统上。
要改变内核的参数,只要用vi编辑或echo参数重定向到文件中即可。下面有一个例子:
# cat /proc/sys/fs/file-max
4096
# echo 8192 > /proc/sys/fs/file-max
# cat /proc/sys/fs/file-max
8192
如果你优化了参数,则可以把它们写成脚本文件,使它在系统启动时自动完成修改。


|
每个以数字为名称的目录代表一个进程,
目录里的文件中包含关于该进程的一些信息。

    
 
 

您可能感兴趣的文章:

  • 修改proc文件系统中同时打开文件个数错误
  • /dev目录的文件和/proc/device文件的关系
  • 怎样修改/proc下文件内容?
  • 那位大侠解释一下/proc/net/dev这个文件各个字段的含义!
  • 关于学习proc文件系统
  • 关于/proc目录下一些文件的问题
  • /proc/kallsym 文件详解
  • proc文件系统和通常说的ext2文件系统有什么关系啊
  • proc文件能不能支持select或poll操作
  • Proc源文件长度
  • 请问:proc中的头文件中能包含头文件吗?(感觉如果头文件中包含头文件的话,在链接时就会有错误啊)
  • 请教 文件系统/proc移植
  • /proc/目录下的文件为什么都是空的呢
  • 如何读取主版的bios信息并显示出来? linux下面的/proc文件系统可以帮助完成这个功能么?
  • 请问:在/proc下看有多少个网络连接数是那个文件
  • linux系统中有哪些命令要用到proc文件系统?
  • 请问/proc/stat文件是系统产生的吗?
  • 如何从内核访问 /proc/net/arp 文件????
  • 怎样把module的数据写入proc文件
  • 如何从/proc文件系统中获得CPU的使用率
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何获得一个端口是否被打开或者如何通过PROC文件系统查看
  • 想删除内核中的一个模块,输入命令后,系统提示该模块不存在。但是我lsmod时,它在/proc/modules中。求解。
  • 请问在redhat-linux7.2中如何改系统参数,如SEMMNU等,这些在/proc/sys/kernel/目录中没有的。??
  • 完成一个用于显示系统配置的程序proc_parse.c,多谢了!
  • 在用户态程序当中,如何使用/proc虚拟文件系统当中一个文件存放的参数??
  • 在proc文件系统中实现程序输入和输出,怎么实现?
  • /proc/uptime 提供了系统最近一次启动以来运行的时间,但我用cat命令查看时显示:5047.53 4585.81,如何将它转为dd:hh:mm:ss形式?系统最
  • 我的小系统上的声卡sis7019,装了debian版的sis7019.o,/proc/devices显示为14,mknod后用open,提示:No such devices.
  • [内核编程]为什么我的这个proc文件在模块卸载以后仍然存在于系统中?
  • 通过proc文件系统获取系统性能监测参数-代码实现
  • 通过proc文件系统获取系统性能监测参数
  • 利用模块,在/proc文件系统下创建文件,并读写时出现错误
  • 那个网有讨论proc或proc的资料的?
  • 为什么我的/PROC目录下没有任何东西呢
  • 请问 proc_register 能否用在普通程序里?
  • proc中钩子函数被多次调用的问题
  • bash script /proc/partitions取字串問題
  • 关于/proc
  • 如何修改/proc/version的内容
  • Linux下如何使用oci和proc
  • 关于/proc/devices问题
  • proc entry和线程通知
  • 请教一个关于PROC中调用存储过程的问题
  • 如何读取主版的bios信息并显示出来? linux下面的/proc文件系统可以帮助完成这个功能么? iis7站长之家
  • 请问如何安装PROC
  • 关于 linux /proc编程的问题
  • 请问/proc/cmdline是什么?
  • 沒有/proc/jitsched ?
  • linux下其他用户使用proc命令要怎么设置
  • /proc/mtrr不能修改,一直被某个进程占着
  • echo 8 > /proc/sys/kernel/printk


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3