美文网首页
proc虚拟文件系统

proc虚拟文件系统

作者: 喵帕斯0_0 | 来源:发表于2018-09-04 17:27 被阅读3次

    proc是一个虚拟的文件系统,与常见的文件系统,它不占任何空间,但使用命令查看时候回返回大量信息。用户通过proc可以查看当前系统软硬件信息及正在运行的进程信息,甚至可以通过设置更改某些文件来设置内核的状态。proc为用户和内核打开了一个通道

    [root@VM_0_8_centos ~]# ls /proc/
    1     121   1319  14    1616  1740  1750  1933  22  28   32   40   71   814  acpi       crypto       fb           ipmi       kmsg        meminfo  net           self      sysrq-trigger  version
    10    1253  1320  15    1632  1742  1752  2     23  29   327  41   711  843  buddyinfo  devices      filesystems  irq        kpagecount  misc     pagetypeinfo  slabinfo  sysvipc        vmallocinfo
    11    1261  1321  1571  17    1744  18    20    24  298  33   5    749  865  bus        diskstats    fs           kallsyms   kpageflags  modules  partitions    softirqs  timer_list     vmstat
    1198  1269  1322  16    1704  1745  19    204   25  3    330  575  786  878  cgroups    dma          interrupts   kcore      loadavg     mounts   sched_debug   stat      timer_stats    zoneinfo
    12    1280  1323  1609  1711  1746  1913  21    26  30   38   6    8    9    cmdline    driver       iomem        key-users  locks       mtd      schedstat     swaps     tty
    120   13    1345  1615  1712  1748  1917  219   27  31   4    7    802  910  cpuinfo    execdomains  ioports      keys       mdstat      mtrr     scsi          sys       uptime
    

    左侧的数字表示的是进程号,从里面可以看到进程的相关信息,右侧是操作系统的一些软硬件信息。

    进程信息

    1表示init进程文件,下面是一个php进程的proc文件。

    [root@VM_0_8_centos ~]# ll /proc/1711
    total 0
    dr-xr-xr-x 2 root root 0 Sep  4 16:44 attr
    -rw-r--r-- 1 root root 0 Sep  4 16:44 autogroup
    -r-------- 1 root root 0 Sep  4 16:44 auxv
    -r--r--r-- 1 root root 0 Sep  4 16:44 cgroup
    --w------- 1 root root 0 Sep  4 16:44 clear_refs
    -r--r--r-- 1 root root 0 Sep  4 16:43 cmdline
    -rw-r--r-- 1 root root 0 Sep  4 16:44 comm
    -rw-r--r-- 1 root root 0 Sep  4 16:44 coredump_filter
    -r--r--r-- 1 root root 0 Sep  4 16:44 cpuset
    lrwxrwxrwx 1 root root 0 Sep  4 16:44 cwd -> /
    -r-------- 1 root root 0 Sep  4 16:44 environ
    lrwxrwxrwx 1 root root 0 Sep  4 16:43 exe -> /usr/local/php5.4/sbin/php-fpm
    dr-x------ 2 root root 0 Sep  4 16:44 fd
    dr-x------ 2 root root 0 Sep  4 16:44 fdinfo
    -r-------- 1 root root 0 Sep  4 16:44 io
    -rw------- 1 root root 0 Sep  4 16:44 limits
    -rw-r--r-- 1 root root 0 Sep  4 16:44 loginuid
    -r--r--r-- 1 root root 0 Sep  4 16:44 maps
    -rw------- 1 root root 0 Sep  4 16:44 mem
    -r--r--r-- 1 root root 0 Sep  4 16:44 mountinfo
    -r--r--r-- 1 root root 0 Sep  4 16:44 mounts
    -r-------- 1 root root 0 Sep  4 16:44 mountstats
    dr-xr-xr-x 4 root root 0 Sep  4 16:44 net
    dr-x--x--x 2 root root 0 Sep  4 16:44 ns
    -r--r--r-- 1 root root 0 Sep  4 16:44 numa_maps
    -rw-r--r-- 1 root root 0 Sep  4 16:44 oom_adj
    -r--r--r-- 1 root root 0 Sep  4 16:44 oom_score
    -rw-r--r-- 1 root root 0 Sep  4 16:44 oom_score_adj
    -r--r--r-- 1 root root 0 Sep  4 16:44 pagemap
    -r--r--r-- 1 root root 0 Sep  4 16:44 personality
    lrwxrwxrwx 1 root root 0 Sep  4 16:44 root -> /
    -rw-r--r-- 1 root root 0 Sep  4 16:44 sched
    -r--r--r-- 1 root root 0 Sep  4 16:44 schedstat
    -r--r--r-- 1 root root 0 Sep  4 16:44 sessionid
    -r--r--r-- 1 root root 0 Sep  4 16:44 smaps
    -r--r--r-- 1 root root 0 Sep  4 16:44 stack
    -r--r--r-- 1 root root 0 Sep  4 16:43 stat
    -r--r--r-- 1 root root 0 Sep  4 16:44 statm
    -r--r--r-- 1 root root 0 Sep  4 16:43 status
    -r--r--r-- 1 root root 0 Sep  4 16:44 syscall
    dr-xr-xr-x 3 root root 0 Sep  4 16:44 task
    -r--r--r-- 1 root root 0 Sep  4 16:44 wchan
    
    主要文件的信息
    1. cmdline

    启动当前进程的完整命令,僵尸进程无此命令

    [root@VM_0_8_centos ~]# cat /proc/1711/cmdline
    php-fpm: master process (/yjdata/www/php-fpm-5.4.conf)
    
    1. cwd

    当前进程运行的目录

    [root@VM_0_8_centos ~]# ll /proc/1711/cwd
    lrwxrwxrwx 1 root root 0 Sep  4 16:44 /proc/1711/cwd -> /
    
    1. exec

    启动当前进程可执行文件的符号链接

    [root@VM_0_8_centos ~]# ll /proc/1711/exe
    lrwxrwxrwx 1 root root 0 Sep  4 16:43 /proc/1711/exe -> /usr/local/php5.4/sbin/php-fpm
    
    1. fd

    当前进程打开的文件描述符

    [root@VM_0_8_centos ~]# ll /proc/1711/fd
    total 0
    lrwx------ 1 root root 64 Sep  4 16:45 0 -> /dev/null
    lrwx------ 1 root root 64 Sep  4 16:45 1 -> /dev/null
    l-wx------ 1 root root 64 Sep  4 16:45 2 -> /usr/local/php5.4/var/log/php-fpm.log
    lrwx------ 1 root root 64 Sep  4 16:45 3 -> /tmp/ZCUDCgnqPt (deleted)
    l-wx------ 1 root root 64 Sep  4 16:45 4 -> /usr/local/php5.4/var/log/php-fpm.log
    lrwx------ 1 root root 64 Sep  4 16:45 5 -> socket:[13730]
    lrwx------ 1 root root 64 Sep  4 16:45 7 -> socket:[13731]
    lrwx------ 1 root root 64 Sep  4 16:45 8 -> socket:[13732]
    lrwx------ 1 root root 64 Sep  4 16:45 9 -> [eventpoll]
    
    1. root

    当前进程运行根目录的符号链接

    [root@VM_0_8_centos ~]# ll  /proc/1711/root
    lrwxrwxrwx 1 root root 0 Sep  4 16:44 /proc/1711/root -> /
    
    1. status

    进程状态,可读性好

    [root@VM_0_8_centos ~]# cat  /proc/1711/status
    Name:   php-fpm
    State:  S (sleeping)
    Tgid:   1711
    Pid: 1711
    PPid:   1
    TracerPid: 0
    Uid: 0  0  0  0
    Gid: 0  0  0  0
    Utrace: 0
    FDSize: 64
    Groups:
    VmPeak:   138268 kB
    VmSize:   138256 kB
    VmLck:         0 kB
    VmHWM:      5800 kB
    VmRSS:      5800 kB
    VmData:     4996 kB
    VmStk:        88 kB
    VmExe:     12512 kB
    VmLib:     19280 kB
    VmPTE:       240 kB
    VmSwap:        0 kB
    Threads:   1
    SigQ:   0/7827
    SigPnd: 0000000000000000
    ShdPnd: 0000000000000000
    SigBlk: 0000000000000000
    SigIgn: 0000000000001000
    SigCgt: 0000000180014a06
    CapInh: 0000000000000000
    CapPrm: ffffffffffffffff
    CapEff: ffffffffffffffff
    CapBnd: ffffffffffffffff
    Cpus_allowed: 1
    Cpus_allowed_list:  0
    Mems_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
    Mems_allowed_list:  0
    voluntary_ctxt_switches:     1657
    nonvoluntary_ctxt_switches:  1
    
    1. task

    进程所属的线程信息,每个线程一个文件

    [root@VM_0_8_centos ~]# ll /proc/1711/task/
    total 0
    dr-xr-xr-x 6 root root 0 Sep  4 17:11 1711
    
    操作系统信息
    1. cpuinfo

    CPU信息

    [root@VM_0_8_centos ~]# cat  /proc/cpuinfo
    processor       : 0
    vendor_id       : GenuineIntel
    cpu family      : 6
    model           : 94
    model name      : Intel(R) Xeon(R) Gold 61xx CPU
    stepping        : 3
    cpu MHz         : 2494.114
    cache size      : 4096 KB
    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 mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc up rep_good unfair_spinlock pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat xsaveopt fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm
    bogomips        : 4988.22
    clflush size    : 64
    cache_alignment : 64
    address sizes   : 46 bits physical, 48 bits virtual
    power management:
    
    1. crypto

    操作系统已经安装的加解密算法

    [root@VM_0_8_centos ~]# cat  /proc/crypto
    name         : stdrng
    driver       : krng
    module       : kernel
    priority     : 200
    refcnt       : 1
    selftest     : passed
    type         : rng
    seedsize     : 0
    
    name         : crc32c
    driver       : crc32c-generic
    module       : kernel
    priority     : 100
    refcnt       : 1
    selftest     : passed
    type         : shash
    blocksize    : 1
    digestsize   : 4
    
    name         : sha1
    driver       : sha1-generic
    module       : kernel
    priority     : 0
    refcnt       : 1
    selftest     : passed
    type         : shash
    blocksize    : 64
    digestsize   : 20
    
    name         : md5
    driver       : md5-generic
    module       : kernel
    priority     : 0
    refcnt       : 1
    selftest     : passed
    type         : shash
    blocksize    : 64
    digestsize   : 16
    
    1. diskstats

    磁盘IO统计信息

    [root@VM_0_8_centos ~]# cat  /proc/diskstats
       1       0 ram0 0 0 0 0 0 0 0 0 0 0 0
       1       1 ram1 0 0 0 0 0 0 0 0 0 0 0
       1       2 ram2 0 0 0 0 0 0 0 0 0 0 0
       1       3 ram3 0 0 0 0 0 0 0 0 0 0 0
       1       4 ram4 0 0 0 0 0 0 0 0 0 0 0
       1       5 ram5 0 0 0 0 0 0 0 0 0 0 0
       1       6 ram6 0 0 0 0 0 0 0 0 0 0 0
       1       7 ram7 0 0 0 0 0 0 0 0 0 0 0
       1       8 ram8 0 0 0 0 0 0 0 0 0 0 0
       1       9 ram9 0 0 0 0 0 0 0 0 0 0 0
       1      10 ram10 0 0 0 0 0 0 0 0 0 0 0
       1      11 ram11 0 0 0 0 0 0 0 0 0 0 0
       1      12 ram12 0 0 0 0 0 0 0 0 0 0 0
       1      13 ram13 0 0 0 0 0 0 0 0 0 0 0
       1      14 ram14 0 0 0 0 0 0 0 0 0 0 0
       1      15 ram15 0 0 0 0 0 0 0 0 0 0 0
       7       0 loop0 0 0 0 0 0 0 0 0 0 0 0
       7       1 loop1 0 0 0 0 0 0 0 0 0 0 0
       7       2 loop2 0 0 0 0 0 0 0 0 0 0 0
       7       3 loop3 0 0 0 0 0 0 0 0 0 0 0
       7       4 loop4 0 0 0 0 0 0 0 0 0 0 0
       7       5 loop5 0 0 0 0 0 0 0 0 0 0 0
       7       6 loop6 0 0 0 0 0 0 0 0 0 0 0
       7       7 loop7 0 0 0 0 0 0 0 0 0 0 0
     252       0 vda 6008 11 239308 10793 3373 10862 113744 104059 0 18555 114850
     252       1 vda1 5857 11 238100 10710 3356 10862 113744 104035 0 18475 114743
    
    1. filesystems

    操作系统支持的文件类型

    [root@VM_0_8_centos ~]# cat  /proc/filesystems
    nodev   sysfs
    nodev   rootfs
    nodev   bdev
    nodev   proc
    nodev   cgroup
    nodev   cpuset
    nodev   tmpfs
    nodev   devtmpfs
    nodev   binfmt_misc
    nodev   debugfs
    nodev   securityfs
    nodev   sockfs
    nodev   usbfs
    nodev   pipefs
    nodev   anon_inodefs
    nodev   inotifyfs
    nodev   devpts
    nodev   ramfs
    nodev   hugetlbfs
            iso9660
    nodev   pstore
    nodev   mqueue
            ext3
    
    1. loadavg

    保存关于CPU和磁盘I/O的负载平均值,其前三列分别表示每1秒钟、每5秒钟及每15秒的负载平均值,类似于uptime命令输出的相关信息;第四列是由斜线隔开的两个数值,前者表示当前正由内核调度的实体(进程和线程)的数目,后者表示系统当前存活的内核调度实体的数目;第五列表示此文件被查看前最近一个由内核创建的进程的PID

    [root@VM_0_8_centos ~]# cat   /proc/loadavg
    0.01 0.03 0.00 1/125 4888
    
    1. meminfo

    内存利用状况,常由free命令使用。内容为两列,前者为统计属性,后者为统计值。

    [root@VM_0_8_centos ~]# cat   /proc/meminfo
    MemTotal:        1020268 kB
    MemFree:          708872 kB
    Buffers:           15812 kB
    Cached:           117288 kB
    SwapCached:            0 kB
    Active:           153484 kB
    Inactive:          97980 kB
    Active(anon):     118380 kB
    Inactive(anon):      252 kB
    Active(file):      35104 kB
    Inactive(file):    97728 kB
    Unevictable:           0 kB
    Mlocked:               0 kB
    SwapTotal:             0 kB
    SwapFree:              0 kB
    Dirty:                92 kB
    Writeback:             0 kB
    AnonPages:        118384 kB
    Mapped:            18180 kB
    Shmem:               264 kB
    Slab:              39628 kB
    SReclaimable:      20896 kB
    SUnreclaim:        18732 kB
    KernelStack:         992 kB
    PageTables:         6104 kB
    NFS_Unstable:          0 kB
    Bounce:                0 kB
    WritebackTmp:          0 kB
    CommitLimit:      510132 kB
    Committed_AS:     684216 kB
    VmallocTotal:   34359738367 kB
    VmallocUsed:        7036 kB
    VmallocChunk:   34359728072 kB
    HardwareCorrupted:     0 kB
    AnonHugePages:     67584 kB
    HugePages_Total:       0
    HugePages_Free:        0
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:       2048 kB
    DirectMap4k:        6000 kB
    DirectMap2M:     1042432 kB
    DirectMap1G:           0 kB
    
    1. stat

    实时追踪自系统上次启动以来的多种统计信息;如下所示,其中,
    “cpu”行后的八个值分别表示以1/100(jiffies)秒为单位的统计值(包括系统运行于用户模式、低优先级用户模式,运系统模式、空闲模式、I/O等待模式的时间等);
    “intr”行给出中断的信息,第一个为自系统启动以来,发生的所有的中断的次数;然后每个数对应一个特定的中断自系统启动以来所发生的次数;
    “ctxt”给出了自系统启动以来CPU发生的上下文交换的次数。
    “btime”给出了从系统启动到现在为止的时间,单位为秒;
    “processes (total_forks) 自系统启动以来所创建的任务的个数目;
    “procs_running”:当前运行队列的任务的数目;
    “procs_blocked”:当前被阻塞的任务的数目;

    [root@VM_0_8_centos ~]# cat   /proc/stat
    cpu  915 0 668 251912 1773 0 3 0 0
    cpu0 915 0 668 251912 1773 0 3 0 0
    intr 282680 127 6 0 0 109 0 0 0 0 0 0 0 104 0 0 0 0 0 0 0 0 0 0 0 0 9999 0 12535 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    ctxt 551987
    btime 1536050566
    processes 5268
    procs_running 1
    procs_blocked 0
    softirq 164826 0 67367 0 12540 0 0 109 0 298 84512
    
    1. uptime

    系统上次启动以来的运行时间,如下所示,其第一个数字表示系统运行时间,第二个数字表示系统空闲时间,单位是秒;

    系统上次启动以来的运行时间,如下所示,其第一个数字表示系统运行时间,第二个数字表示系统空闲时间,单位是秒;
    

    9.version

    系统版本号

    [root@VM_0_8_centos ~]# cat   /proc/version
    Linux version 2.6.32-431.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Fri Nov 22 03:15:09 UTC 2013
    

    相关文章

      网友评论

          本文标题:proc虚拟文件系统

          本文链接:https://www.haomeiwen.com/subject/pzzgwftx.html