美文网首页
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