Linux下/proc目录详解

Linux下/proc目录详解


  • proc目录总的概述
  • proc下有关进程的目录概述
  • proc下针对Linux系统相关的参数目录概述

/proc目录总的概述

1.首先,我们可以使用ll命令查看下/proc目录,如下

[root@centos6 ~]# ls -l /proc
    total 0
        dr-xr-xr-x.  8 root      root         0 May 19 04:02 1
        dr-xr-xr-x.  8 root      root         0 May 19 04:02 10
        dr-xr-xr-x.  8 root      root         0 May 18 20:02 1078
        dr-xr-xr-x.  8 root      root         0 May 18 20:02 1079
        ...(中间省略)...
        -r--r--r--.  1 root      root         0 May 19 17:39 timer_list
        -rw-r--r--.  1 root      root         0 May 19 17:39 timer_stats
        dr-xr-xr-x.  4 root      root         0 May 19 17:39 tty
        -r--r--r--.  1 root      root         0 May 19 17:39 uptime
        -r--r--r--.  1 root      root         0 May 19 17:39 version
        -r--------.  1 root      root         0 May 19 17:39 vmallocinfo
        -r--r--r--.  1 root      root         0 May 19 17:39 vmstat
        -r--r--r--.  1 root      root         0 May 19 17:39 zoneinfo

2.使用ps aux命令查看下当前系统所有正在运行的进程

[root@centos6 ~]# ps aux
    USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root          1  0.0  0.1  19352  1564 ?        Ss   May18   0:02 /sbin/init
    root          2  0.0  0.0      0     0 ?        S    May18   0:00 [kthreadd]
    root          3  0.0  0.0      0     0 ?        S    May18   0:00 
    ...(中间省略)...
   /sbin/dhclient -d -4 -sf /usr/libexec/nm-dhcp-client.action -pf /var/run/dhcl
    root      27825  0.0  0.4 102104  4140 ?        Ss   14:10   0:00 sshd:  root@pts/4 
    root      27826  0.0  0.4 102104  4152 ?        Ss   14:10   0:00 sshd: root@pts/3 
    root      27833  0.0  0.1 108364  1816 pts/3    Ss   14:10   0:00 -bash
    root      27834  0.0  0.1 108364  1800 pts/4    Ss+  14:10   0:00 -bash
    postfix   28615  0.0  0.3  81040  3436 ?        S    17:44   0:00 pickup -l -t fifo -u
    root      28620  8.0  0.1 110256  1152 pts/3    R+   17:45   0:00 ps aux

3.对比上面的两条命令运行的结果,我们可以发现系统中每个正在运行的进程几乎都在/prom目录下有一个以其进程Id命名的文件夹(/proc/Pid/),但是proc目录下除了这些以进程Id命令的文件夹,还有其他类似/proc/cpuinfo、/proc/pci的文件夹。通过man proc得知proc是一个进程信息伪文件系统,它只存在内存当中,不占用外内存空间。它以文件的方式为访问系统内核数据的操作提供接口。

proc下有关进程的目录概述

1.用ll 查看/proc/1/、 /proc/2 等类似/proc/Pid/的文件夹,可以发现它们有相同的文件夹。如下

[root@centos6 ~]# ll /proc/1
total 0
dr-xr-xr-x. 2 root root 0 May 19 18:25 attr
-rw-r--r--. 1 root root 0 May 19 18:25 autogroup
-r--------. 1 root root 0 May 19 18:25 auxv
-r--r--r--. 1 root root 0 May 19 18:25 cgroup
--w-------. 1 root root 0 May 19 18:25 clear_refs
-r--r--r--. 1 root root 0 May 19 04:02 cmdline
-rw-r--r--. 1 root root 0 May 19 18:25 comm
 ...(中间省略)...
-r--r--r--. 1 root root 0 May 19 04:02 stat
-r--r--r--. 1 root root 0 May 19 18:25 statm
-r--r--r--. 1 root root 0 May 19 17:46 status
-r--r--r--. 1 root root 0 May 19 18:25 syscall
dr-xr-xr-x. 3 root root 0 May 19 18:25 task
-r--r--r--. 1 root root 0 May 19 18:25 wchan

2.下面是/proc/Pid下的常用子目录作用简介

文件名 文件内容
/proc/[pid]/cmdline 进程被启动的命令串
/proc/[pid]/environ 进程的环境变量内容
/proc/[pid]/cwd 指向当前进程运行目录的一个符号链接
/proc/[pid]/exe 指向启动当前进程的执行路径的符号链接
/proc/[pid]/fd 包含当前进程打开的每一个文件的文件描述符的目录
/proc/[pid]/limits 当前进程所使用的每一个受限的软硬件限制和管理单元
/proc/[pid]/maps 当前进程关联到每个可执行文件和库文件在内存中的映射区域及其访问权限所组成的列表
/proc/[pid]/mem 当前进程所占用的内存空间
/proc/[pid]/root 指向当前进程运行根目录的符号链接
/proc/[pid]/stat 当前进程的状态信息
/proc/[pid]/statm 当前进程占用内存的状态信息
/proc/[pid]/status 当前进程的状态信息

proc下针对Linux系统相关的参数目录概述

1.我们可以使用cat查看/proc/cpuinfo 等目录,可以看到与系统相关的一些参数

[root@centos6 ~]# cat /proc/cpuinfo 
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 58
model name  : Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
stepping    : 9
microcode   : 21
cpu MHz     : 2594.139
cache size  : 3072 KB
physical id : 0
siblings    : 1
core id     : 0
cpu cores   : 1
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb pln pts dtherm fsgsbase smep
bogomips    : 5188.27
clflush size    : 64
cache_alignment : 64
address sizes   : 42 bits physical, 48 bits virtual
power management:

2.下面是/proc/Pid下的常用子目录作用简介

文件名 文件内容
/proc/cmdline kernel启动的命令行
/proc/cpuinfo 本机的CPU相关信息
/proc/devices 记录字符和块设备的主设备号,以及分配到这些设备号的设备名称
/proc/filesystems 目前系统已经加载的文件系统
/proc/interrupts 目前系统上面的IRQ分配状态
/proc/ioports 目前系统上各个设备所配置的I/O地址
/proc/kcore 系统的物理内存以core文件格式保存的文件
/proc/loadavg 保存关于CPU和磁盘I/O的负载平均值,其前三列分别表示每1秒钟、每5秒钟及每15秒的负载平均值
/proc/meminfo 内存信息
/proc/modules Linux已经加载的模块列表
/proc/mounts 系统已经挂载的数据
/proc/swaps 当前系统上的交换分区及其空间利用信息
/proc/partitons 系统分区信息
/proc/zoneinfo 显示内存空间的统计信息,对分析虚拟内存行为很有用
/proc/pci 在PCI总线上的每个设备的详细情况
/proc/uptime 系统上次启动以来的运行时间
/proc/version 内核的版本
/proc/net 网卡设备信息
/proc/tty tty设备信息
/proc/bus/* 一些总线的设备、USB设备记录在此
+

原创文章,作者:似梦非雨,如若转载,请注明出处:http://www.178linux.com/76464

(1)
似梦非雨似梦非雨
上一篇 2017-05-20
下一篇 2017-05-20

相关推荐

  • 第一周课程练习

    马哥教育网络班22期+第一周课程练习 1、描述计算机的组成及其功能   CPU(运算器和控制器),存储器(内存和外存),输入/输出设备。     (1)运算器:对数据进行加工处理(包括算术运算与逻辑运算);     (2)控制器:负责从存储器取出一条指令,并指出下一条指…

    Linux干货 2016-08-15
  • Network Teaming网络组总结

    一、Network Teaming网络组的创建 第一步;准备工作,建立两个网络接口eth0、eth1,把原有网卡配置文件删除; 命令:cd /etc/sysconfig/network-scripts                rm -rf ifcfg-* &nbs…

    2017-03-26
  • lvm逻辑卷 练习题

    创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录;在/users下创建一个test.txt文件。扩展testlv至7G,要求archlinux用户的文件不能丢失;收缩testlv至3G,要求archlinux用户的文件不能丢失;对testlv创建…

    Linux干货 2017-03-16
  • 学习总结

    课上练习整理

    Linux干货 2017-11-19
  • man命令的用法

    man 命令的用法    在linux运维工作中,经常会有一些命令我们不是很清楚它们的准确用法,这时候我们就需要去查询这些命令的用法,linux中就有很多文档帮助我们去了解这些命令的用法,其中就有一条命令man,下面我就总结一下它的用法。     man 是 manual 的简写,提供命令的帮助文件。   &…

    Linux干货 2017-02-17
  • 磁盘管理

    磁盘管理     设备文件         I/O Ports: I/O设备地址         一切皆文件:     …

    Linux干货 2016-09-01