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 15:45
下一篇 2017-05-20 21:42

相关推荐

  • Linux Sysadmin–part1

    一、创建一个10G分区,并格式为ext4文件系统; 1、要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl; 2、挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; ###创建10G分区 ~]# fdisk /dev/sdb Command (m for help): n P…

    2017-09-04
  • 笔记–8.8 shell脚本编程

    shell编程注意事项  1,指令的执行是从上而下,从左而右的分析与执行  2,指令的下达时:指令,选项与参数之间的多个空白都会被忽略掉  3,空白行会被忽略掉,并且tab键所推开的空白同样视为空格键  4. 如果一行的内容太多,则可以使用『 \[Enter] 』来延伸至下一行  5,『 # 』可做为批注,任…

    Linux干货 2016-08-12
  • 计算机组成原理

                                 计算机组成原理 Linux 操作系统是UNIX 操作系统的一种克隆系统。它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于…

    Linux干货 2016-10-27
  • LVM2学习总结

    LVM2(Logical Volume Manager 2) 原理: 将底层的物理硬盘抽象地封装起来,以逻辑卷的方式呈现给上层应用,但对于文件系统而言,对LVM的操作与对硬盘分区的操作并无差别。 实现基础: Linux内核的Device mapper机制,将一个或多个底层块设备组织成一个逻辑设备 基本元素: PP(Physical Partition):物理…

    Linux干货 2016-08-22
  • linux常见文件管理类命令

    1、文件管理类命令主要有mkdir、rmdir、cp、mv、rm等 mkdir:make directory创建文件夹 -p:自动按需创建父目录 -v:显示创建过程 -m:创建时给定文件夹权限 创建层级文件夹时,需保证上一级目录存在,否则会报错,例如   创建层级文件夹时,可以加上-p选项,递归创建不存在的上级目录,例如   rmdir:删除文件夹 -p:删…

    2017-12-10
  • 计算机之路及初识linux

    写在前面:     很抱歉,上周的事儿,拖到这周,也是个半成品,加班就不多说了,每个人都很忙,总要自己找时间。本计划这个周末好好补补,无奈身不由己,刚刚回来。    还好昨夜先起了个初稿,总算是有些东西可以交代给自己,想到马哥说的,完成远比完善重要,虽然来不及完善,先发出来吧,有了框架,至少知道自己做过什么。尽快排版吧…

    Linux干货 2016-12-05