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
主要文件的信息
cmdline
启动当前进程的完整命令,僵尸进程无此命令
[root@VM_0_8_centos ~]# cat /proc/1711/cmdline
php-fpm: master process (/yjdata/www/php-fpm-5.4.conf)
cwd
当前进程运行的目录
[root@VM_0_8_centos ~]# ll /proc/1711/cwd
lrwxrwxrwx 1 root root 0 Sep 4 16:44 /proc/1711/cwd -> /
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
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]
root
当前进程运行根目录的符号链接
[root@VM_0_8_centos ~]# ll /proc/1711/root
lrwxrwxrwx 1 root root 0 Sep 4 16:44 /proc/1711/root -> /
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
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
操作系统信息
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:
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
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
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
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
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
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
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
网友评论