1.什么是proc目录
proc是Linux系统下一个很重要的目录。它跟/etc,
/home等这些系统目录不同,它不是一个真正的文件系统,而是一个虚拟的文件系统。它不存在于磁盘,而是存在于系统内存中,难怪文件夹的名字叫做proc进程。所以当你使用
ls -al /proc这条命令来查看proc目录时,会看到其下面的所有文件的大小都为0字节。
proc以文件系统的方式为访问系统内核的操作提供接口。很多系统的信息,如内存使用情况,
cpu使用情况,进程信息等等这些信息,都可以通过查看/proc下的对应文件来获得。proc文件系统是动态从系统内核读出所需信息的。
2.初识proc目录
proc目录下具体有哪些文件呢?
/proc 目录下的文件
查看proc目录下的文件的内容,如 #cat /proc/devices
/proc/cpuinifo CPU的信息(型号、家族、缓存大小等)
/proc/meminfo物理内存、交换空间
/proc/mounts 已加载的文件系统的列表
/proc/devices 可用设备的列表,这个文件列出字符和块设备的主设备号,以及分配到这些设备号的设备名称。
/proc/filesystems 被支持的文件系统
/proc/modules 已加载的模块
/proc/virsion 内核版本
/proc/cmdline 系统启动时输入的内核命令行参数
/proc/XXX XXX是指以进程PID(数字编号)命名的目录,每一个目录表示一个进程(即线程组)。
/proc/swaps 要获知swap空间的使用情况
/proc/uptime 获取系统的正常运行时间
/proc/fs/nfsd/exports 列出由NFS共享的文件系统
/proc/kmsg 该文件被作为内核日志信息源,它可以被作为一个系统信息调用的接口使用
/proc/self -- 到当前进程/proc目录的符号链接,通过这个目录可以获取当前运行进程的信息。
/proc/pci -- 挂接在PCI总线上的设备
/proc/tty/driver/serial --串口配置、统计信息
/proc/version -- 系统版本信息
/proc/sys/kernel/ostype
/proc/sys/kernel/osrelease
/proc/sys/kernel/version
/proc/sys/kernel/hostname -- 主机名
/proc/sys/kernel/domainname -- 域名
/proc/partitions -- 硬盘设备分区信息
/proc/sys/dev/cdrom/info -- CDROM信息
/proc/locks -- 当前系统中所有的文件锁
/proc/loadavg -- 系统负荷信息
/proc/uptime -- 系统启动后的运行时间
3.从proc窥看系统详情
很多系统命令在读取系统信息的时候,其实是从proc目录下读取对应的文件来获得的。所以如果我们不使用这些命令, 直接到proc目录下去查看对应文件,也是可以获得对应的信息的。 下面举几个例子:

     操作     系统命令     proc对应目录
  获取系统版本信息   uname -a或者lsb_release   /proc/version或者/proc/sys/kernel/hostname[,domainname,  osrelease, ostype, version]
  获取系统负载信息   top或者w或者uptime   /proc/loadavg
  获取内存使用情况     free   /proc/meminfo
  获取CPU使用情况     top   /proc/cpuinfo
  获取进程运行情况   ps aux或者top   /proc/N[N为对应的PID号]

对于查看进程信息一栏,做下补充:
/proc/N pid为N的进程信息
/proc/N/cmdline 进程启动命令
/proc/N/cwd 链接到进程当前工作目录
/proc/N/environ 进程环境变量列表
/proc/N/exe 链接到进程的执行命令文件
/proc/N/fd 包含进程相关的所有的文件描述符
/proc/N/maps 与进程相关的内存映射信息
/proc/N/mem 指代进程持有的内存,不可读
/proc/N/root 链接到进程的根目录
/proc/N/stat 进程的状态
/proc/N/statm 进程使用的内存的状态
/proc/N/status 进程状态信息,比stat/statm更具可读性
/proc/self 链接到当前正在运行的进程

原文:https://blog.csdn.net/oyhb_1992/article/details/77715346

转载自:http://blog.csdn.net/kevinx_xu/article/details/8178746

/proc 文件系统下的多种文件提供的系统信息不是针对某个特定进程的, 而是能够在整个系统范围的上下文
中使用。可以使用的文件随系统配置的变化而变化。命令procinfo 能够显示基于其中某些文件的多种系统
信息。
以下详细描述/proc 下的文件:
/proc/cmdline 文件
这个文件给出了内核启动的命令行。它和用于进程的cmdline 项非常相似。
示例:

  1. [root@localhost proc]# cat cmdline
  2. ro root=LABEL=/ rhgb quiet

/proc/cpuinfo 文件
这个文件提供了有关系统CPU 的多种信息。这些信息是从内核里对CPU 的测试代码中得到的。文件列出
了CPU 的普通型号 (386,486,586,686 等 ), 以及能得到的更多特定信息 ( 制造商, 型号和版本 ) 。 文件还包含
了以bogomips 表示的处理器速度, 而且如果检测到CPU 的多种特性或者bug, 文件还会包含相应的标志。这
个文件的格式为:文件由多行构成, 每行包括一个域名称, 一个冒号和一个值。
示例:

  1. [root@localhost proc]# cat cpuinfo
  2. processor :
  3.  
  4. vendor_id : AuthenticAMD
  5.  
  6. cpu family :
  7.  
  8. model :
  9.  
  10. model name : AMD Athlon(tm) XP +
  11.  
  12. stepping :
  13.  
  14. cpu MHz : 1530.165
  15.  
  16. cache size : KB
  17.  
  18. fdiv_bug : no
  19.  
  20. hlt_bug : no
  21.  
  22. f00f_bug : nocoma_bug : no
  23.  
  24. fpu : yes
  25.  
  26. fpu_exception : yes
  27.  
  28. cpuid level :
  29.  
  30. wp : yes
  31.  
  32. flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext
  33.  
  34. 3dnowext 3dnow
  35.  
  36. bogomips : 2998.27

/proc/devices 文件
这个文件列出字符和块设备的主设备号, 以及分配到这些设备号的设备名称。
示例:

  1. [root@localhost /]# cat /proc/devices
  2.  
  3. Character devices:
  4.  
  5. mem
  6.  
  7. /dev/vc/
  8.  
  9. tty
  10.  
  11. ttyS
  12.  
  13. /dev/tty
  14.  
  15. /dev/console
  16.  
  17. /dev/ptmx
  18.  
  19. lp
  20.  
  21. vcs
  22.  
  23. misc
  24.  
  25. input
  26.  
  27. sound
  28.  
  29. fb
  30.  
  31. netlink
  32.  
  33. alsa
  34.  
  35. ptm
  36.  
  37. pts
  38.  
  39. usb
  40.  
  41. Block devices:
  42.  
  43. ramdisk
  44.  
  45. fd
  46.  
  47. ide0
  48.  
  49. md
  50.  
  51. ide1
  52.  
  53. device-mapper
  54.  
  55. mdp

/proc/dma
这个文件列出由驱动程序保留的DMA 通道和保留它们的驱动程序名称 。casade 项供用于把次DMA 控制器
从主控制器分出的DMA 行所使用; 这一行不能用于其它用途。
示例:

  1. [root@localhost ~]# cat /proc/dma
  2. : cascade

/proc/filesystems 文件
这个文件列出可供使用的文件系统类型, 一种类型一行 。 虽然它们通常是编入内核的文件系统类型, 但该文件
还可以包含可加载的内核模块加入的其它文件系统类型。
示例

  1. [root@localhost proc]# cat /proc/filesystems
  2. nodev sysfs
  3. nodev rootfs
  4. nodev bdev
  5. nodev proc
  6. nodev sockfs
  7. nodev binfmt_misc
  8. nodev usbfs
  9. nodev usbdevfs
  10. nodev futexfs
  11. nodev tmpfs
  12. nodev pipefs
  13. nodev eventpollfs
  14. nodev devpts
  15. ext2
  16. nodev ramfs
  17. nodev hugetlbfs
  18. iso9660
  19. nodev mqueue
  20. nodev selinuxfs
  21. ext3
  22. nodev rpc_pipefs
  23. nodev autofs

/proc/interrupts 文件
这个文件的每一行都有一个保留的中断 。 每行中的域有 : 中断号, 本行中断的发生次数, 可能带有一个加号的
域(SA_INTERRUPT 标志设置), 以及登记这个中断的驱动程序的名字。可以在安装新硬件前, 像查看
/proc/dma 和/proc/ioports 一样用cat 命令手工查看手头的这个文件 。 这几个文件列出了当前投入使用的资源
(但是不包括那些没有加载驱动程序的硬件所使用的资源 ) 。
示例:

  1. [root@localhost SPECS]# cat /proc/interruptsCPU0
  2. : XT-PIC timer
  3. : XT-PIC i8042
  4. : XT-PIC cascade
  5. : XT-PIC uhci_hcd
  6. : XT-PIC VIA8233, uhci_hcd
  7. : XT-PIC rtc
  8. : XT-PIC acpi
  9. : XT-PIC ehci_hcd
  10. : XT-PIC uhci_hcd, eth0
  11. : XT-PIC i8042
  12. : XT-PIC ide0
  13. : XT-PIC ide1
  14. NMI:
  15. ERR:

proc/ioports 文件
这个文件列出了诸如磁盘驱动器, 以太网卡和声卡设备等多种设备驱动程序登记的许多I/O 端口范围。
示例:

  1. [root@localhost SPECS]# cat /proc/ioports
  2. -001f : dma1
  3. - : pic1
  4. - : timer0
  5. - : timer1
  6. -006f : keyboard
  7. - : rtc
  8. -008f : dma page reg
  9. 00a0-00a1 : pic2
  10. 00c0-00df : dma2
  11. 00f0-00ff : fpu
  12. - : ide1
  13. 01f0-01f7 : ide0
  14. - : ide1
  15. -037a : parport0
  16. 037b-037f : parport0
  17. 03c0-03df : vga+
  18. 03f6-03f6 : ide0
  19. 03f8-03ff : serial
  20. - : PM1a_EVT_BLK
  21. - : PM1a_CNT_BLK
  22. -080b : PM_TMR
  23. - : ACPI CPU throttle
  24. - : GPE0_BLK0cf8-0cff : PCI conf1
  25. dc00-dcff : ::12.0
  26. dc00-dcff : via-rhine
  27. e000-e0ff : ::11.5
  28. -e0ff : VIA8233
  29. e400-e41f : ::10.0
  30. e400-e41f : uhci_hcd
  31. e800-e81f : ::10.1
  32. e800-e81f : uhci_hcd
  33. ec00-ec1f : ::10.2
  34. ec00-ec1f : uhci_hcd
  35. fc00-fc0f : ::11.1
  36. fc00-fc07 : ide0
  37. fc08-fc0f : ide1

/proc/kcore 文件
这个文件是系统的物理内存以core 文件格式保存的文件。例如,GDB 能用它考察内核的数据结构。它不是
纯文本, 而是/proc 目录下为数不多的几个二进制格式的项之一。
示例:

  1. [root@tan ~]# cat /proc/ioports
  2. -0cf7 : PCI Bus :
  3. -001f : dma1
  4. - : PNP0001:
  5. - : pic1
  6. - : timer0
  7. - : timer1
  8. - : keyboard
  9. - : PNP0800:
  10. - : keyboard
  11. - : rtc0
  12. -008f : dma page reg
  13. 00a0-00a1 : PNP0001:
  14. 00a0-00a1 : pic2
  15. 00c0-00df : dma2
  16. 00f0-00ff : fpu
  17. - : ::07.1
  18. - : ata_piix
  19. 01f0-01f7 : ::07.1
  20. 01f0-01f7 : ata_piix
  21. - : ::07.1
  22. - : ata_piix
  23. 03c0-03df : vga+
  24. 03f6-03f6 : ::07.1
  25. 03f6-03f6 : ata_piix
  26. 03f8-03ff : serial
  27. 04d0-04d1 : PNP0001:
  28. 0cf0-0cf1 : pnp :
  29. 0cf8-0cff : PCI conf1
  30. 0d00-feff : PCI Bus :
  31. -103f : ::07.3
  32. - : ACPI PM1a_EVT_BLK
  33. - : ACPI PM1a_CNT_BLK
  34. -100b : ACPI PM_TMR
  35. 100c-100f : ACPI GPE0_BLK
  36. - : ACPI CPU throttle
  37. -104f : ::07.3
  38. -104f : pnp :
  39. -106f : ::07.1
  40. -106f : ata_piix
  41. -107f : ::0f.
  42. -107f : vmwgfx probe
  43. -10bf : ::07.7
  44. -10bf : vmw_vmci
  45. -14ff : ::10.0
  46. -3fff : PCI Bus :
  47. -203f : ::01.0
  48. -203f : e1000
  49. -207f : ::02.0
  50. -207f : Ensoniq AudioPCI
  51. -209f : ::00.0
  52. -209f : uhci_hcd
  53. -4fff : PCI Bus :
  54. -5fff : PCI Bus :0b
  55. -6fff : PCI Bus :
  56. -7fff : PCI Bus :1b
  57. -8fff : PCI Bus :
  58. -9fff : PCI Bus :0c
  59. a000-afff : PCI Bus :
  60. b000-bfff : PCI Bus :1c
  61. c000-cfff : PCI Bus :
  62. d000-dfff : PCI Bus :0d
  63. e000-efff : PCI Bus :
  64. fce0-fcff : pnp :

/proc/kmsg 文件

这个文件用于检索用printk 生成的内核消息。任何时刻只能有一个具有超级用户权限的进程可以读取这个
文件。也可以用系统调用syslog 检索这些消息。通常使用工具dmesg 或守护进程klogd 检索这些消息。
示例:

  1.    暂无

/proc/ksyms 文件
这个文件列出了已经登记的内核符号; 这些符号给出了变量或函数的地址 。 每行给出一个符号的地址, 符号名
称以及登记这个符号的模块。程序ksyms,insmod 和kmod 使用这个文件。它还列出了正在运行的任务数,
总任务数和最后分配的PID 。
示例:

  1. 暂无

/proc/loadavg 文件
这个文件给出以几个不同的时间间隔计算的系统平均负载, 这就如同uptime 命令显示的结果那样 。 前三个数
字是平均负载 。 这是通过计算过去1 分钟,5 分钟,15 分钟里运行队列中的平均任务数得到的 。 随后是正在运行
的任务数和总任务数。最后是上次使用的进程号。

  1. [root@tan ~]# cat /proc/loadavg
  2. 0.00 0.01 0.12 /

/proc/locks 文件
这个文件包含在打开的文件上的加锁信息。文件中的每一行描述了特定文件和文档上的加锁信息以及对文
件施加的锁的类型。内核也可以需要时对文件施加强制性锁。
示例:

  1. [root@tan ~]# cat /proc/locks
  2. : POSIX ADVISORY WRITE :: EOF
  3. : FLOCK ADVISORY WRITE :: EOF
  4. : FLOCK ADVISORY WRITE :: EOF
  5. : FLOCK ADVISORY WRITE :: EOF

/proc/mdstat 文件
这个文件包含了由md 设备驱动程序控制的RAID 设备信息。
示例:

  1. [root@tan ~]# cat /proc/mdstat
  2. Personalities :
  3. unused devices: <none>

/proc/meminfo 文件
这个文件给出了内存状态的信息 。 它显示出系统中空闲内存, 已用物理内存和交换内存的总量 。 它还显示出
内核使用的共享内存和缓冲区总量。这些信息的格式和free 命令显示的结果类似。
示例:

  1. [root@tan ~]# cat /proc/meminfo
  2. MemTotal: kB
  3. MemFree: kB
  4. MemAvailable: kB
  5. Buffers: kB
  6. Cached: kB
  7. SwapCached: kB
  8. Active: kB
  9. Inactive: kB
  10. Active(anon): kB
  11. Inactive(anon): kB
  12. Active(file): kB
  13. Inactive(file): kB
  14. Unevictable: kB
  15. Mlocked: kB
  16. SwapTotal: kB
  17. SwapFree: kB
  18. Dirty: kB
  19. Writeback: kB
  20. AnonPages: kB
  21. Mapped: kB
  22. Shmem: kB
  23. Slab: kB
  24. SReclaimable: kB
  25. SUnreclaim: kB
  26. KernelStack: kB
  27. PageTables: kB
  28. NFS_Unstable: kB
  29. Bounce: kB
  30. WritebackTmp: kB
  31. CommitLimit: kB
  32. Committed_AS: kB
  33. VmallocTotal: kB
  34. VmallocUsed: kB
  35. VmallocChunk: kB
  36. HardwareCorrupted: kB
  37. AnonHugePages: kB
  38. CmaTotal: kB
  39. CmaFree: kB
  40. HugePages_Total:
  41. HugePages_Free:
  42. HugePages_Rsvd:
  43. HugePages_Surp:
  44. Hugepagesize: kB
  45. DirectMap4k: kB
  46. DirectMap2M: kB
  47. DirectMap1G: kB

/proc/misc 文件
这个文件报告用内核函数misc_register 登记的设备驱动程序。
示例:

  1. [root@tan ~]# cat /proc/misc
  2. vsock
  3. vmci
  4. network_throughput
  5. network_latency
  6. cpu_dma_latency
  7. mcelog
  8. crash
  9. agpgart
  10. hw_random
  11. nvram
  12. hpet
  13. autofs
  14. snapshot
  15. vga_arbiter

/proc/modules 文件
这个文件给出可加载内核模块的信息 。lsmod 程序用这些信息显示有关模块的名称, 大小, 使用数目方面的信
息。
示例:

  1. [root@tan ~]# cat -n /proc/modules
  2. ip6t_rpfilter - Live 0xffffffffc087f000
  3. ipt_REJECT - Live 0xffffffffc087a000
  4. nf_reject_ipv4 ipt_REJECT, Live 0xffffffffc0875000
  5. ip6t_REJECT - Live 0xffffffffc0870000
  6. nf_reject_ipv6 ip6t_REJECT, Live 0xffffffffc086b000
  7. xt_conntrack - Live 0xffffffffc0859000
  8. ip_set - Live 0xffffffffc085e000
  9. nfnetlink ip_set, Live 0xffffffffc084d000
  10. ebtable_nat - Live 0xffffffffc0848000
  11. ebtable_broute - Live 0xffffffffc0854000
  12. bridge ebtable_broute, Live 0xffffffffc0822000
  13. stp bridge, Live 0xffffffffc081d000
  14. llc bridge,stp, Live 0xffffffffc0814000
  15. ip6table_nat - Live 0xffffffffc080f000
  16. nf_conntrack_ipv6 - Live 0xffffffffc0809000
  17. nf_defrag_ipv6 nf_conntrack_ipv6, Live 0xffffffffc07fb000
  18. nf_nat_ipv6 ip6table_nat, Live 0xffffffffc07f2000
  19. ip6table_mangle - Live 0xffffffffc07ed000
  20. ip6table_security - Live 0xffffffffc07e8000
  21. ip6table_raw - Live 0xffffffffc07e3000
  22. iptable_nat - Live 0xffffffffc07de000
  23. nf_conntrack_ipv4 - Live 0xffffffffc07d9000
  24. nf_defrag_ipv4 nf_conntrack_ipv4, Live 0xffffffffc07cc000
  25. nf_nat_ipv4 iptable_nat, Live 0xffffffffc07c3000
  26. nf_nat nf_nat_ipv6,nf_nat_ipv4, Live 0xffffffffc07d1000
  27. nf_conntrack xt_conntrack,nf_conntrack_ipv6,nf_nat_ipv6,nf_conntrack_ipv4,nf_nat_ipv4,nf_nat, Live 0xffffffffc07a1000
  28. iptable_mangle - Live 0xffffffffc079c000
  29. iptable_security - Live 0xffffffffc0797000
  30. iptable_raw - Live 0xffffffffc0792000
  31. ebtable_filter - Live 0xffffffffc078d000
  32. ebtables ebtable_nat,ebtable_broute,ebtable_filter, Live 0xffffffffc077f000
  33. ip6table_filter - Live 0xffffffffc077a000
  34. ip6_tables ip6table_nat,ip6table_mangle,ip6table_security,ip6table_raw,ip6table_filter, Live 0xffffffffc072a000
  35. iptable_filter - Live 0xffffffffc071b000
  36. vmw_vsock_vmci_transport - Live 0xffffffffc076d000
  37. vsock vmw_vsock_vmci_transport, Live 0xffffffffc0707000
  38. edac_mce_amd - Live 0xffffffffc0765000
  39. crc32_pclmul - Live 0xffffffffc0725000
  40. ghash_clmulni_intel - Live 0xffffffffc0711000
  41. aesni_intel - Live 0xffffffffc0735000
  42. lrw aesni_intel, Live 0xffffffffc0716000
  43. gf128mul lrw, Live 0xffffffffc0702000
  44. glue_helper aesni_intel, Live 0xffffffffc06fd000
  45. ppdev - Live 0xffffffffc06f7000
  46. ablk_helper aesni_intel, Live 0xffffffffc0720000
  47. cryptd ghash_clmulni_intel,aesni_intel,ablk_helper, Live 0xffffffffc06e9000
  48. vmw_balloon - Live 0xffffffffc06f1000
  49. snd_seq_midi - Live 0xffffffffc064c000
  50. snd_seq_midi_event snd_seq_midi, Live 0xffffffffc06e4000
  51. joydev - Live 0xffffffffc06de000
  52. pcspkr - Live 0xffffffffc063f000
  53. snd_ens1371 - Live 0xffffffffc0619000
  54. snd_rawmidi snd_seq_midi,snd_ens1371, Live 0xffffffffc0636000
  55. snd_ac97_codec snd_ens1371, Live 0xffffffffc06bd000
  56. ac97_bus snd_ac97_codec, Live 0xffffffffc0606000
  57. snd_seq snd_seq_midi,snd_seq_midi_event, Live 0xffffffffc0671000
  58. snd_seq_device snd_seq_midi,snd_rawmidi,snd_seq, Live 0xffffffffc0507000
  59. snd_pcm snd_ens1371,snd_ac97_codec, Live 0xffffffffc06a2000
  60. snd_timer snd_seq,snd_pcm, Live 0xffffffffc0699000
  61. snd snd_ens1371,snd_rawmidi,snd_ac97_codec,snd_seq,snd_seq_device,snd_pcm,snd_timer, Live 0xffffffffc0683000
  62. soundcore snd, Live 0xffffffffc0614000
  63. sg - Live 0xffffffffc062b000
  64. parport_pc - Live 0xffffffffc060c000
  65. parport ppdev,parport_pc, Live 0xffffffffc0664000
  66. vmw_vmci vmw_vsock_vmci_transport, Live 0xffffffffc0652000
  67. i2c_piix4 - Live 0xffffffffc0624000
  68. ip_tables iptable_nat,iptable_mangle,iptable_security,iptable_raw,iptable_filter, Live 0xffffffffc0644000
  69. xfs - Live 0xffffffffc0511000
  70. libcrc32c nf_nat,nf_conntrack,xfs, Live 0xffffffffc050c000
  71. sd_mod - Live 0xffffffffc04fa000
  72. crc_t10dif sd_mod, Live 0xffffffffc04a5000
  73. sr_mod - Live 0xffffffffc0447000
  74. cdrom sr_mod, Live 0xffffffffc04e1000
  75. crct10dif_generic - Live 0xffffffffc04f5000
  76. crct10dif_pclmul - Live 0xffffffffc049c000
  77. crct10dif_common crc_t10dif,crct10dif_generic,crct10dif_pclmul, Live 0xffffffffc04f0000
  78. crc32c_intel - Live 0xffffffffc044f000
  79. serio_raw - Live 0xffffffffc0442000
  80. nfit - Live 0xffffffffc04d2000
  81. libnvdimm nfit, Live 0xffffffffc04ac000
  82. vmwgfx - Live 0xffffffffc0457000
  83. drm_kms_helper vmwgfx, Live 0xffffffffc0415000
  84. ata_generic - Live 0xffffffffc03bf000
  85. syscopyarea drm_kms_helper, Live 0xffffffffc03cb000
  86. sysfillrect drm_kms_helper, Live 0xffffffffc03c4000
  87. sysimgblt drm_kms_helper, Live 0xffffffffc031d000
  88. pata_acpi - Live 0xffffffffc03ba000
  89. fb_sys_fops drm_kms_helper, Live 0xffffffffc03b5000
  90. mptspi - Live 0xffffffffc03ef000
  91. ttm vmwgfx, Live 0xffffffffc03d2000
  92. scsi_transport_spi mptspi, Live 0xffffffffc0402000
  93. ata_piix - Live 0xffffffffc040b000
  94. mptscsih mptspi, Live 0xffffffffc03f7000
  95. drm vmwgfx,drm_kms_helper,ttm, Live 0xffffffffc0347000
  96. e1000 - Live 0xffffffffc0324000
  97. libata ata_generic,pata_acpi,ata_piix, Live 0xffffffffc02e0000
  98. mptbase mptspi,mptscsih, Live 0xffffffffc02c5000
  99. drm_panel_orientation_quirks drm, Live 0xffffffffc02be000

/proc/mounts 文件
这个文件以/etc/mtab 文件的格式给出当前系统所安装的文件系统信息。这个文件也能反映出任何手工安装
从而在/etc/mtab 文件中没有包含的文件系统。
示例:

  1. [root@tan ~]# cat -n /proc/mounts
  2. rootfs / rootfs rw
  3. sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec,relatime
  4. proc /proc proc rw,nosuid,nodev,noexec,relatime
  5. devtmpfs /dev devtmpfs rw,seclabel,nosuid,size=230092k,nr_inodes=,mode=
  6. securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime
  7. tmpfs /dev/shm tmpfs rw,seclabel,nosuid,nodev
  8. devpts /dev/pts devpts rw,seclabel,nosuid,noexec,relatime,gid=,mode=,ptmxmode=
  9. tmpfs /run tmpfs rw,seclabel,nosuid,nodev,mode=
  10. tmpfs /sys/fs/cgroup tmpfs ro,seclabel,nosuid,nodev,noexec,mode=
  11. cgroup /sys/fs/cgroup/systemd cgroup rw,seclabel,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd
  12. pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime
  13. cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,seclabel,nosuid,nodev,noexec,relatime,net_prio,net_cls
  14. cgroup /sys/fs/cgroup/cpuset cgroup rw,seclabel,nosuid,nodev,noexec,relatime,cpuset
  15. cgroup /sys/fs/cgroup/freezer cgroup rw,seclabel,nosuid,nodev,noexec,relatime,freezer
  16. cgroup /sys/fs/cgroup/devices cgroup rw,seclabel,nosuid,nodev,noexec,relatime,devices
  17. cgroup /sys/fs/cgroup/pids cgroup rw,seclabel,nosuid,nodev,noexec,relatime,pids
  18. cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,seclabel,nosuid,nodev,noexec,relatime,cpuacct,cpu
  19. cgroup /sys/fs/cgroup/hugetlb cgroup rw,seclabel,nosuid,nodev,noexec,relatime,hugetlb
  20. cgroup /sys/fs/cgroup/perf_event cgroup rw,seclabel,nosuid,nodev,noexec,relatime,perf_event
  21. cgroup /sys/fs/cgroup/memory cgroup rw,seclabel,nosuid,nodev,noexec,relatime,memory
  22. cgroup /sys/fs/cgroup/blkio cgroup rw,seclabel,nosuid,nodev,noexec,relatime,blkio
  23. configfs /sys/kernel/config configfs rw,relatime
  24. /dev/sda6 / xfs rw,seclabel,relatime,attr2,inode64,noquota
  25. selinuxfs /sys/fs/selinux selinuxfs rw,relatime
  26. systemd- /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=,pgrp=,timeout=,minproto=,maxproto=,direct,pipe_ino=
  27. hugetlbfs /dev/hugepages hugetlbfs rw,seclabel,relatime
  28. mqueue /dev/mqueue mqueue rw,seclabel,relatime
  29. debugfs /sys/kernel/debug debugfs rw,relatime
  30. /dev/sda2 /var xfs rw,seclabel,relatime,attr2,inode64,noquota
  31. /dev/sda5 /home xfs rw,seclabel,relatime,attr2,inode64,noquota
  32. /dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota
  33. tmpfs /run/user/ tmpfs rw,seclabel,nosuid,nodev,relatime,size=48192k,mode=,uid=,gid=
  34. tmpfs /run/user/ tmpfs rw,seclabel,nosuid,nodev,relatime,size=48192k,mode=

/proc/pci 文件
这个文件给出PCI 设备的信息。用它可以方便地诊断PCI 问题。你可以从这个文件中检索到的信息包括诸
如IDE 接口或USB 控制器这样的设备, 总线, 设备和功能编号, 设备延迟以及IRQ 编号。
示例:

  1. [root@localhost /]# cat /proc/pci
  2. PCI devices found:
  3. Bus , device , function :
  4. Class : PCI device : (rev ).
  5. Master Capable. Latency=.
  6. Prefetchable bit memory at 0xe0000000 [0xe7ffffff].
  7. Bus , device , function :
  8. Class : PCI device :b091 (rev ).
  9. Master Capable. No bursts. Min Gnt=.
  10. Bus , device , function :
  11. Class 0c03: PCI device : (rev .
  12. IRQ .
  13. Master Capable. Latency=.
  14. I/O at 0xec00 [0xec1f].
  15. Bus , device , function :
  16. Class 0c03: PCI device : (rev .
  17. IRQ .
  18. Master Capable. Latency=.
  19. I/O at 0xe800 [0xe81f].
  20. Bus , device , function :
  21. Class 0c03: PCI device : (rev .
  22. IRQ .
  23. Master Capable. Latency=.
  24. I/O at 0xe400 [0xe41f].
  25. Bus , device , function :
  26. Class 0c03: PCI device : (rev ).
  27. IRQ .
  28. Master Capable. Latency=.
  29. Non-prefetchable bit memory at 0xdfffff00 [0xdfffffff].
  30. Bus , device , function :
  31. Class : PCI device : (rev ).
  32. Bus , device , function :Class : PCI device : (rev ).
  33. IRQ .
  34. Master Capable. Latency=.
  35. I/O at 0xfc00 [0xfc0f].
  36. Bus , device , function :
  37. Class : PCI device : (rev ).
  38. IRQ .
  39. I/O at 0xe000 [0xe0ff].
  40. Bus , device , function :
  41. Class : PCI device : (rev ).
  42. IRQ .
  43. Master Capable. Latency=. Min Gnt=.Max Lat=.
  44. I/O at 0xdc00 [0xdcff].
  45. Non-prefetchable bit memory at 0xdffffe00 [0xdffffeff].
  46. Bus , device , function :
  47. Class : PCI device :8d04 (rev ).
  48. IRQ .
  49. Master Capable. Latency=. Min Gnt=.Max Lat=.
  50. Non-prefetchable bit memory at 0xdfe80000 [0xdfefffff].
  51. Prefetchable bit memory at 0xd0000000 [0xd7ffffff].

/proc/stat 文件
这个文件包含的信息有CPU 利用率, 磁盘, 内存页, 内存对换, 全部中断, 接触开关以及赏赐自举时间(自1970
年1 月1 日起的秒数 ) 。
示例:

  1. [root@localhost /]# cat /proc/stat
  2. cpu
  3. cpu0
  4. intr
  5. ctxt
  6. btime
  7. processes
  8. procs_running
  9. procs_blocked

/proc/uptime 文件
这个文件给出自从上次系统自举以来的秒数, 以及其中有多少秒处于空闲 。 这主要供uptime 程序使用 。 比较
这两个数字能够告诉你长期来看CPU 周期浪费的比例。
示例:

  1. [root@tan ~]# cat -n /proc/uptime
  2. 2756.81 10804.22

/proc/version 文件
这个文件只有一行内容, 说明正在运行的内核版本。可以用标准的编程方法进行分析获得所需的系统信息 。
示例:

  1. [root@localhost /]# cat /proc/version
  2. Linux version 2.6.-1.667 ( bhcompile@tweety.build.redhat.com ) (gcc version 3.4. (Red Hat
  3. 3.4.-.fc3)) # Tue Nov :: EST

/proc/net 子目录
此目录下的文件描述或修改了联网代码的行为。可以通过使用 arp,netstat,route 和ipfwadm 命令设置或查询
这些特殊文件中的许多文件。
示例:

  1. [root@localhost /]# ls /proc/net
  2. anycast6 ip_conntrack mcfilter6 rt6_stats tcp
  3. arp ip_conntrack_expect netlink rt_acct tcp6
  4. dev ip_mr_cache netstat rt_cache udp
  5. dev_mcast ip_mr_vif packet snmp udp6
  6. dev_snmp6 ip_tables_matches psched snmp6 unix
  7. if_inet6 ip_tables_names raw sockstat wireless
  8. igmp ip_tables_targets raw6 sockstat6
  9. igmp6 ipv6_route route softnet_stat
  10. ip6_flowlabel mcfilter rpc stat

以下摘要介绍此目录下文件的功能:

arp

转储每个网络接口的arp 表中dev 包的统计

dev

来自网络设备的统计

dev_mcast

列出二层(数据链路层)多播组

igmp

加入的IGMP 多播组

netlink

netlink 套接口的信息

netstat

网络流量的多种统计。第一行是信息头, 带有每个变量的名称。接下来的一行保存相应变量的值

raw

原始套接口的套接口表

route

静态路由表

rpc

包含RPC 信息的目录rt_cache

路由缓冲

snmp

snmp agent 的ip/icmp/tcp/udp 协议统计; 各行交替给出字段名和值

sockstat

列出使用的tcp/udp/raw/pac/syc_cookies 的数量

tcp

TCP 连接的套接口

udp

UDP 连接的套接口表

unix

UNIX 域套接口的套接口表

示例:

  1. [root@localhost /]# cat /proc/net/route
  2. Iface Destination Gateway Flags RefCnt Use Metric Mask MTU
  3. Window IRTT
  4. eth0 0035C2DA 80FFFFF0
  5. eth0 0000FEA9 0000FFF0
  6. eth0 0135C2DA
  1. [root@localhost /]# cat /proc/net/tcp
  2. sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
  3. : : : 0A : :
  4. 0dde7500 -
  5. : :006F : 0A : :
  6. 0dde79e0 -
  7. : 0100007F: : 0A : :
  8. 0a8e3a00 -
  9. : 0100007F:14D7 : 0A : :
  10. 0dde7020 -
  11. : 0100007F: : 0A : :
  12. 0a8e3520 -
  1. [root@localhost /]# cat /proc/net/arp
  2. IP address HW type Flags HW address Mask Device
  3. 218.194.53.1 0x1 0x2 :0D:BC:::3F * eth0
  1. [root@localhost /]# cat /proc/net/udp
    sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
    0: : : : : 2
    0b4ef7c0
    105: :14E9 : : : 20b4ef040
    111: :006F : : : 20b4efcc0
    116: :02F4 : : : 20b4efa40
    119: : : : : 2
    0b4ef2c0

/proc/scsi 子目录
此目录下包含一个列出了所有检测到的SCSI 设备的文件, 并且为每种控制器驱动程序提供一个目录, 在这个
目录下又为已安装的此种控制器的每个实例提供一个子目录。
示例:

  1. [root@tan ~]# ll /proc/scsi
  2. total
  3. -r--r--r--. root root May : device_info
  4. dr-xr-xr-x. root root May : mptspi
  5. -r--r--r--. root root May : scsi
  6. dr-xr-xr-x. root root May : sg

/proc/sys 子目录
在此目录下有许多子目录 。 此目录中的许多项都可以用来调整系统的性能 。 这个目录包含信息太多, 无法介
绍全部。只在示例中展示目录下的一些文件。
示例:

  1. [root@localhost /]# ls /proc/sys
  2. debug dev fs kernel net proc sunrpc vm
  1. [root@localhost ~]# ls /proc/sys/fs
  2. aio-max-nr dentry-state file-nr lease-break-time overflowgid
  3. aio-nr dir-notify-enable inode-nr leases-enable overflowuid
  4. binfmt_misc file-max inode-state mqueue quota
  1. [root@localhost ~]# ls /proc/sys/kernel
  2. acct hotplug panic sem
  3. cad_pid modprobe panic_on_oops shmall
  4. cap-bound msgmax pid_max shmmax
  5. core_pattern msgmnb print-fatal-signals shmmni
  6. core_uses_pid msgmni printk sysrq
  7. ctrl-alt-del ngroups_max printk_ratelimit tainted
  8. domainname osrelease printk_ratelimit_burst threads-max
  9. exec-shield ostype pty vdso
  10. exec-shield-randomize overflowgid random version
  11. hostname overflowuid real-root-dev
  1. [root@localhost ~]# ls /proc/sys/net
  2. core ethernet ipv4 ipv6 unix
  1. [root@localhost sys]# ls /proc/sys/vmblock_dump laptop_mode nr_pdflush_threads
  2. dirty_background_ratio legacy_va_layout overcommit_memory
  3. dirty_expire_centisecs lower_zone_protection overcommit_ratio
  4. dirty_ratio max_map_count page-clusterdirty_writeback_centisecs min_free_kbytes swappiness
  5. hugetlb_shm_group nr_hugepages vfs_cache_pressure
  1. [root@tan ~]# ls /proc/sys/net/ipv4
  2. cipso_cache_bucket_size
  3. cipso_cache_enable
  4. cipso_rbm_optfmt
  5. cipso_rbm_strictvalid
  6. conf
  7. fib_multipath_hash_policy
  8. fwmark_reflect
  9. icmp_echo_ignore_all
  10. icmp_echo_ignore_broadcasts
  11. icmp_errors_use_inbound_ifaddr
  12. icmp_ignore_bogus_error_responses
  13. icmp_msgs_burst
  14. icmp_msgs_per_sec
  15. icmp_ratelimit
  16. icmp_ratemask
  17. igmp_max_memberships
  18. igmp_max_msf
  19. igmp_qrv
  20. inet_peer_maxttl
  21. inet_peer_minttl
  22. inet_peer_threshold
  23. ip_default_ttl
  24. ip_dynaddr
  25. ip_early_demux
  26. ip_forward
  27. ip_forward_use_pmtu
  28. ipfrag_high_thresh
  29. ipfrag_low_thresh
  30. ipfrag_max_dist
  31. ipfrag_secret_interval
  32. ipfrag_time
  33. ip_local_port_range
  34. ip_local_reserved_ports
  35. ip_nonlocal_bind
  36. ip_no_pmtu_disc
  37. neigh
  38. ping_group_range
  39. route
  40. tcp_abort_on_overflow
  41. tcp_adv_win_scale
  42. tcp_allowed_congestion_control
  43. tcp_app_win
  44. tcp_autocorking
  45. tcp_available_congestion_control
  46. tcp_base_mss
  47. tcp_challenge_ack_limit
  48. tcp_congestion_control
  49. tcp_dsack
  50. tcp_early_retrans
  51. tcp_ecn
  52. tcp_fack
  53. tcp_fastopen
  54. tcp_fastopen_key
  55. tcp_fin_timeout
  56. tcp_frto
  57. tcp_invalid_ratelimit
  58. tcp_keepalive_intvl
  59. tcp_keepalive_probes
  60. tcp_keepalive_time
  61. tcp_limit_output_bytes
  62. tcp_low_latency
  63. tcp_max_orphans
  64. tcp_max_ssthresh
  65. tcp_max_syn_backlog
  66. tcp_max_tw_buckets
  67. tcp_mem
  68. tcp_min_tso_segs
  69. tcp_moderate_rcvbuf
  70. tcp_mtu_probing
  71. tcp_no_metrics_save
  72. tcp_notsent_lowat
  73. tcp_orphan_retries
  74. tcp_reordering
  75. tcp_retrans_collapse
  76. tcp_retries1
  77. tcp_retries2
  78. tcp_rfc1337
  79. tcp_rmem
  80. tcp_sack
  81. tcp_slow_start_after_idle
  82. tcp_stdurg
  83. tcp_synack_retries
  84. tcp_syncookies
  85. tcp_syn_retries
  86. tcp_thin_dupack
  87. tcp_thin_linear_timeouts
  88. tcp_timestamps
  89. tcp_tso_win_divisor
  90. tcp_tw_recycle
  91. tcp_tw_reuse
  92. tcp_window_scaling
  93. tcp_wmem
  94. tcp_workaround_signed_windows
  95. udp_mem
  96. udp_rmem_min
  97. udp_wmem_min
  98. xfrm4_gc_thresh
  1. [root@tan ~]# cat -n /proc/sys/kernel/shmall
  1. [root@tan ~]# cat -n /proc/sys/kernel/osrelease
  2. 3.10.-.el7.x86_64

/proc路径的更多相关文章

  1. windows和linux下获取当前程序路径以及cpu数

    #ifdef WIN32 #include <Windows.h> #else #include <stdio.h> #include <unistd.h> #en ...

  2. /proc 目录详细说明

    /proc路径详细: Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以 ...

  3. 理解proc目录与linux进程、ps命令、netstat命令的关系

    零.proc目录简介 proc目录是虚拟文件系统(VFS)的一种实现,保存了进程信息(pid目录)和一些系统信息. 一.系统的信息 1.cpuinfo和meminfo两个文件 查看CPU和内存相关信息 ...

  4. Delphi For Android 开发笔记-附:如何Delphi中同时实现Windows、Android版的GetModuleFileName函数

    在Windows中开发DLL时,经常会需要获取当前DLL所在目录以便读取同目录下的其他文件,而目前Delphi在开发android时,其实没多大必要获取,因为整个工程只有一个so文件,而这个so文件也 ...

  5. 韦东山笔记之用busybox构建根文件系统

    1 百度搜索busybox进入busybox官网(https://busybox.net/)作者:恒久力行 QQ:624668529  点击左侧DownloadSource下载最新稳定版的busybo ...

  6. oeasy教您玩转linux010107那啥在哪 whereis

    回忆上次内容 上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置. 现在我们要制作这样一个列表:

  7. Linux namespace技术应用实践--调用宿主机命令(tcpdump/ip/ps/top)检查docker容器网络、进程状态

    背景 最近偶然听了几堂极客时间的云原生免费公开课程,首次接触到了Linux namespace技术,并了解到这正是现在风头正劲的容器技术基石,引起了自己探究一二的兴趣,结合课程+网络搜索+实践操作,也 ...

  8. /proc下重要路径知识

    /proc 虚拟目录,是内存的映射,内核与进程的虚拟文件系统目录/proc/version 内核版本/proc/sys/kernel 系统内核功能/proc/sys/net/ipv4*/proc/cp ...

  9. Linux /proc/$pid部分内容详解

    auxv /proc/[pid]/auxv包含传递给进程的ELF解释器信息,格式是每一项都是一个unsigned long长度的ID加上一个unsigned long长度的值.最后一项以连续的两个0x ...

随机推荐

  1. [LeetCode] 291. Word Pattern II 词语模式 II

    Given a pattern and a string str, find if str follows the same pattern. Here follow means a full mat ...

  2. 自定义电脑IP地址

    一台电脑有了ip地址才能上网,ip就是电脑的标识,在互联网中就是其中的一份子. 默认情况下电脑会自动获取IP地址,当无法自动获取或与网络IP地址相冲突时,就要自行设置电脑静态IP地址. 如下图步骤:

  3. Kubernetes StatefulSet

    StatefulSet 简介 在Kubernetes中,Pod的管理对象RC.Deployment.DaemonSet和Job都是面向无状态的服务.但现实中有很多服务是有状态的,特别是一些复杂的中间件 ...

  4. 【转】Fuel-Openstack的搭建(一)

    原文链接:https://blog.csdn.net/qq_35180983/article/details/82181496 2.1安装前的准备操作: 首先,我们需要准备以下操作: 2.1.1 下载 ...

  5. 【Linux】Linux下进程间的通信方式

    本文内容: 1.进程通信的目的 2.介绍Linux下进程间的4种通信方式:管道,消息队列,共享内存,信号量 ps:套接字也可以用于进程间的通信,不过是不同物理机器上的进程通信,本章讨论是是同一台物理机 ...

  6. nginx实现tcp负载均衡

    1 安装支持库 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel yum install pcre-d ...

  7. 19 Maven---项目管理工具

    1.Maven概念 Maven 的正确发音是[ˈmevən].Maven  在美国是一个口语化的词语,代表专家.内行的意思. 一个对 Maven 比较正式的定义是这么说的:Maven 是一个项目管理工 ...

  8. vue通过ajax加载json数据

    HTML <ul id="Hanapp"> <li class="styVue" v-for="item in actList&qu ...

  9. 为什么Apache Kafka如此受欢迎

    1.目标 今天,在这个Kafka教程中,我们将学习所有Kafka功能,如可扩展性,可靠性,耐用性,这些都说明了Kafka如此受欢迎的原因.我们将详细讨论Kafka的每个功能.但在那之前让我们明白什么是 ...

  10. Kafka压测— 搞垮kafka的方法(转)

    分布式系统故障场景梳理方法: 场景梳理逻辑关系: 单点硬件故障→单点进程故障类型→集群影响→集群故障场景 第三方依赖故障→集群依赖关系→集群影响→集群故障场景 业务场景→集群负载/错误影响→集群故障场 ...