Linux下的proc目录详解

原创 2015年11月21日 18:08:55

文章结构:

1.什么是proc目录

2. 初识proc目录

3. 从proc窥看系统详情



1.什么是proc目录

proc是Linux系统下一个很重要的目录。 它跟/etc, /home等这些系统目录不同, 它不是一个真正的文件系统, 而是一个虚拟的文件系统。 它不存在于磁盘, 而是存在于系统内存中。 所以当你使用 ls -al /proc这条命令来查看proc目录时, 会看到其下面的所有文件的大小都为0字节。 proc以文件系统的方式为访问系统内核的操作提供接口。 很多系统的信息, 如内存使用情况, cpu使用情况, 进程信息等等这些信息,都可以通过查看/proc下的对应文件来获得。 proc文件系统是动态从系统内核读出所需信息的。 


2. 初识proc目录


proc目录下具体有哪些文件呢?

/proc 目录下的文件

/proc/cpuinifo       CPU的信息(型号、家族、缓存大小等)

/proc/meminfo物理内存、交换空间

/proc/mounts      已加载的文件系统的列表

/proc/devices 可用设备的列表

/proc/filesystems 被支持的文件系统

/proc/modules 已加载的模块

/proc/virsion 内核版本

/proc/cmdline 系统启动时输入的内核命令行参数

/proc/XXX XXX是指以进程PID(数字编号)命名的目录,每一个目录表示一个进程(即线程组)。

/proc/swaps 要获知swap空间的使用情况

/proc/uptime 获取系统的正常运行时间

/proc/fs/nfsd/exports 列出由NFS共享的文件系统

/proc/kmsg 该文件被作为内核日志信息源,它可以被作为一个系统信息调用的接口使用

/proc/self -- 到当前进程/proc目录的符号链接,通过这个目录可以获取当前运行进程的信息。

/proc/pci -- 挂接在PCI总线上的设备

/proc/tty/driver/serial --串口配置、统计信息

/proc/version -- 系统版本信息

/proc/sys/kernel/ostype

/proc/sys/kernel/osrelease

/proc/sys/kernel/version

/proc/sys/kernel/hostname -- 主机名

/proc/sys/kernel/domainname -- 域名

/proc/partitions -- 硬盘设备分区信息

/proc/sys/dev/cdrom/info -- CDROM信息

/proc/locks -- 当前系统中所有的文件锁

/proc/loadavg -- 系统负荷信息

/proc/uptime -- 系统启动后的运行时间



3. 从proc窥看系统详情


很多系统命令在读取系统信息的时候,其实是从proc目录下读取对应的文件来获得的。 所以如果我们不使用这些命令, 直接到proc目录下去查看对应文件,也是可以获得对应的信息的。 下面举几个例子:


操作 系统命令 proc对应目录
获取系统版本信息 uname -a 或者 lsb_release /proc/version或者/proc/sys/kernel/hostname[,domainname, osrelease, ostype, version]
获取系统负载信息 top 或者 w 或者 uptime /proc/loadavg
获取内存使用情况 free /proc/meminfo
获取CPU使用情况 top  /proc/cpuinfo
获取进程运行情况 ps aux  或者 top /proc/N[N为对应的PID号]

对于查看进程信息一栏,做下补充:

/proc/N pid为N的进程信息

/proc/N/cmdline 进程启动命令

/proc/N/cwd 链接到进程当前工作目录

/proc/N/environ 进程环境变量列表

/proc/N/exe 链接到进程的执行命令文件

/proc/N/fd 包含进程相关的所有的文件描述符

/proc/N/maps 与进程相关的内存映射信息

/proc/N/mem 指代进程持有的内存,不可读

/proc/N/root 链接到进程的根目录

/proc/N/stat 进程的状态

/proc/N/statm 进程使用的内存的状态

/proc/N/status 进程状态信息,比stat/statm更具可读性

/proc/self 链接到当前正在运行的进程


更多的应用场景, 留给大家自己到/proc目录下探索吧。 



转载请注明来自:作者hackstoic


【参考文献】

1. http://www.cnblogs.com/johnnyflute/p/3581426.html

2. http://www.hackbase.com/tech/2014-11-11/69696.html

3.  http://blog.csdn.net/jerry_1126/article/details/45341041

4. http://www.php101.cn/2015/05/08/了解Linux-proc文件系统/


文章首发于:www.hackstoic.com 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Linux下/proc目录详解

声明:可以自由转载本文,但请务必保留本文的完整性。 作者:张子坚 email:zhangzijian@163.com 说明:本文所涉及示例均在fedora core3下得到。 --------...

Linux下/proc目录下文件分析

转载地址:http://blog.csdn.net/zdwzzu2006/article/details/7747977 1. /proc目录 Linux 内核提供了一种通过 ...

Linux下/proc目录简介

转载:http://blog.csdn.net/zdwzzu2006/article/details/7747977 1. /proc目录 Linux 内核提供了一种通过 /proc 文件...

Linux下 /proc目录介绍

本文转载自Linux下/proc目录介绍 1. /proc目录 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪...
  • karchar
  • karchar
  • 2016年10月22日 23:19
  • 83

Linux下/proc目录简介

1. /proc目录 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它...
  • YSBJ123
  • YSBJ123
  • 2015年12月16日 17:21
  • 367

Linux下/proc目录简介

经常用到这个目录,所以,转载过来yigong 1. /proc目录 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一...

Linux下/proc目录简介(转)

1. /proc目录 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它...

Linux下/proc目录简介

1. /proc目录 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它...

Linux下/proc目录简介

1. /proc目录 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它...

Linux下/proc目录简介

http://blog.csdn.net/zdwzzu2006/article/details/7747977  1. /proc目录 Linux 内核提供了一种通过 /proc 文件系统,在运行...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux下的proc目录详解
举报原因:
原因补充:

(最多只允许输入30个字)