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 项非常相似。
示例:
[root@localhost proc]# cat cmdline
ro root=LABEL=/ rhgb quiet
/proc/cpuinfo 文件
这个文件提供了有关系统CPU 的多种信息。这些信息是从内核里对CPU 的测试代码中得到的。文件列出
了CPU 的普通型号 (386,486,586,686 等 ), 以及能得到的更多特定信息 ( 制造商, 型号和版本 ) 。 文件还包含
了以bogomips 表示的处理器速度, 而且如果检测到CPU 的多种特性或者bug, 文件还会包含相应的标志。这
个文件的格式为:文件由多行构成, 每行包括一个域名称, 一个冒号和一个值。
示例:
[root@localhost proc]# cat cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 6 model : 8 model name : AMD Athlon(tm) XP 1800+ stepping : 1 cpu MHz : 1530.165 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : nocoma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow bogomips : 2998.27
/proc/devices 文件
这个文件列出字符和块设备的主设备号, 以及分配到这些设备号的设备名称。
示例:
[root@localhost /]# cat /proc/devices Character devices: 1 mem 4 /dev/vc/0 4 tty 4 ttyS 5 /dev/tty 5 /dev/console 5 /dev/ptmx 6 lp 7 vcs 10 misc 13 input 14 sound 29 fb 36 netlink 116 alsa 128 ptm 136 pts 180 usb Block devices: 1 ramdisk 2 fd 3 ide0 9 md 22 ide1 253 device-mapper 254 mdp
/proc/dma
这个文件列出由驱动程序保留的DMA 通道和保留它们的驱动程序名称 。casade 项供用于把次DMA 控制器
从主控制器分出的DMA 行所使用; 这一行不能用于其它用途。
示例:
[root@localhost ~]# cat /proc/dma 4: cascade
/proc/filesystems 文件
这个文件列出可供使用的文件系统类型, 一种类型一行 。 虽然它们通常是编入内核的文件系统类型, 但该文件
还可以包含可加载的内核模块加入的其它文件系统类型。
示例
[root@localhost proc]# cat /proc/filesystems
nodev sysfs
nodev rootfs
nodev bdev
nodev proc
nodev sockfs
nodev binfmt_misc
nodev usbfs
nodev usbdevfs
nodev futexfs
nodev tmpfs
nodev pipefs
nodev eventpollfs
nodev devpts
ext2
nodev ramfs
nodev hugetlbfs
iso9660
nodev mqueue
nodev selinuxfs
ext3
nodev rpc_pipefs
nodev autofs
/proc/interrupts 文件
这个文件的每一行都有一个保留的中断 。 每行中的域有 : 中断号, 本行中断的发生次数, 可能带有一个加号的
域(SA_INTERRUPT 标志设置), 以及登记这个中断的驱动程序的名字。可以在安装新硬件前, 像查看
/proc/dma 和/proc/ioports 一样用cat 命令手工查看手头的这个文件 。 这几个文件列出了当前投入使用的资源
(但是不包括那些没有加载驱动程序的硬件所使用的资源 ) 。
示例:
[root@localhost SPECS]# cat /proc/interruptsCPU0 0: 7039406 XT-PIC timer 1: 6533 XT-PIC i8042 2: 0 XT-PIC cascade 3: 0 XT-PIC uhci_hcd 5: 108 XT-PIC VIA8233, uhci_hcd 8: 1 XT-PIC rtc 9: 0 XT-PIC acpi 10: 0 XT-PIC ehci_hcd 11: 17412 XT-PIC uhci_hcd, eth0 12: 140314 XT-PIC i8042 14: 37897 XT-PIC ide0 15: 60813 XT-PIC ide1 NMI: 0 ERR: 1
proc/ioports 文件
这个文件列出了诸如磁盘驱动器, 以太网卡和声卡设备等多种设备驱动程序登记的许多I/O 端口范围。
示例:
[root@localhost SPECS]# cat /proc/ioports 0000-001f : dma1 0020-0021 : pic1 0040-0043 : timer0 0050-0053 : timer1 0060-006f : keyboard 0070-0077 : rtc 0080-008f : dma page reg 00a0-00a1 : pic2 00c0-00df : dma2 00f0-00ff : fpu 0170-0177 : ide1 01f0-01f7 : ide0 0376-0376 : ide1 0378-037a : parport0 037b-037f : parport0 03c0-03df : vga+ 03f6-03f6 : ide0 03f8-03ff : serial 0800-0803 : PM1a_EVT_BLK 0804-0805 : PM1a_CNT_BLK 0808-080b : PM_TMR 0810-0815 : ACPI CPU throttle 0820-0823 : GPE0_BLK0cf8-0cff : PCI conf1 dc00-dcff : 0000:00:12.0 dc00-dcff : via-rhine e000-e0ff : 0000:00:11.5 000-e0ff : VIA8233 e400-e41f : 0000:00:10.0 e400-e41f : uhci_hcd e800-e81f : 0000:00:10.1 e800-e81f : uhci_hcd ec00-ec1f : 0000:00:10.2 ec00-ec1f : uhci_hcd fc00-fc0f : 0000:00:11.1 fc00-fc07 : ide0 fc08-fc0f : ide1
/proc/kcore 文件
这个文件是系统的物理内存以core 文件格式保存的文件。例如,GDB 能用它考察内核的数据结构。它不是
纯文本, 而是/proc 目录下为数不多的几个二进制格式的项之一。
示例:
[root@tan ~]# cat /proc/ioports 0000-0cf7 : PCI Bus 0000:00 0000-001f : dma1 0020-0021 : PNP0001:00 0020-0021 : pic1 0040-0043 : timer0 0050-0053 : timer1 0060-0060 : keyboard 0061-0061 : PNP0800:00 0064-0064 : keyboard 0070-0071 : rtc0 0080-008f : dma page reg 00a0-00a1 : PNP0001:00 00a0-00a1 : pic2 00c0-00df : dma2 00f0-00ff : fpu 0170-0177 : 0000:00:07.1 0170-0177 : ata_piix 01f0-01f7 : 0000:00:07.1 01f0-01f7 : ata_piix 0376-0376 : 0000:00:07.1 0376-0376 : ata_piix 03c0-03df : vga+ 03f6-03f6 : 0000:00:07.1 03f6-03f6 : ata_piix 03f8-03ff : serial 04d0-04d1 : PNP0001:00 0cf0-0cf1 : pnp 00:00 0cf8-0cff : PCI conf1 0d00-feff : PCI Bus 0000:00 1000-103f : 0000:00:07.3 1000-1003 : ACPI PM1a_EVT_BLK 1004-1005 : ACPI PM1a_CNT_BLK 1008-100b : ACPI PM_TMR 100c-100f : ACPI GPE0_BLK 1010-1015 : ACPI CPU throttle 1040-104f : 0000:00:07.3 1040-104f : pnp 00:00 1060-106f : 0000:00:07.1 1060-106f : ata_piix 1070-107f : 0000:00:0f.0 1070-107f : vmwgfx probe 1080-10bf : 0000:00:07.7 1080-10bf : vmw_vmci 1400-14ff : 0000:00:10.0 2000-3fff : PCI Bus 0000:02 2000-203f : 0000:02:01.0 2000-203f : e1000 2040-207f : 0000:02:02.0 2040-207f : Ensoniq AudioPCI 2080-209f : 0000:02:00.0 2080-209f : uhci_hcd 4000-4fff : PCI Bus 0000:03 5000-5fff : PCI Bus 0000:0b 6000-6fff : PCI Bus 0000:13 7000-7fff : PCI Bus 0000:1b 8000-8fff : PCI Bus 0000:04 9000-9fff : PCI Bus 0000:0c a000-afff : PCI Bus 0000:14 b000-bfff : PCI Bus 0000:1c c000-cfff : PCI Bus 0000:05 d000-dfff : PCI Bus 0000:0d e000-efff : PCI Bus 0000:15 fce0-fcff : pnp 00:06
/proc/kmsg 文件
这个文件用于检索用printk 生成的内核消息。任何时刻只能有一个具有超级用户权限的进程可以读取这个
文件。也可以用系统调用syslog 检索这些消息。通常使用工具dmesg 或守护进程klogd 检索这些消息。
示例:
暂无
/proc/ksyms 文件
这个文件列出了已经登记的内核符号; 这些符号给出了变量或函数的地址 。 每行给出一个符号的地址, 符号名
称以及登记这个符号的模块。程序ksyms,insmod 和kmod 使用这个文件。它还列出了正在运行的任务数,
总任务数和最后分配的PID 。
示例:
暂无
/proc/loadavg 文件
这个文件给出以几个不同的时间间隔计算的系统平均负载, 这就如同uptime 命令显示的结果那样 。 前三个数
字是平均负载 。 这是通过计算过去1 分钟,5 分钟,15 分钟里运行队列中的平均任务数得到的 。 随后是正在运行
的任务数和总任务数。最后是上次使用的进程号。
[root@tan ~]# cat /proc/loadavg 0.00 0.01 0.12 1/153 7254
/proc/locks 文件
这个文件包含在打开的文件上的加锁信息。文件中的每一行描述了特定文件和文档上的加锁信息以及对文
件施加的锁的类型。内核也可以需要时对文件施加强制性锁。
示例:
[root@tan ~]# cat /proc/locks 1: POSIX ADVISORY WRITE 6270 00:14:35202 0 EOF 2: FLOCK ADVISORY WRITE 6291 00:14:35150 0 EOF 3: FLOCK ADVISORY WRITE 6994 08:02:76 0 EOF 4: FLOCK ADVISORY WRITE 6994 08:02:50332007 0 EOF
/proc/mdstat 文件
这个文件包含了由md 设备驱动程序控制的RAID 设备信息。
示例:
[root@tan ~]# cat /proc/mdstat
Personalities :
unused devices: <none>
/proc/meminfo 文件
这个文件给出了内存状态的信息 。 它显示出系统中空闲内存, 已用物理内存和交换内存的总量 。 它还显示出
内核使用的共享内存和缓冲区总量。这些信息的格式和free 命令显示的结果类似。
示例:
[root@tan ~]# cat /proc/meminfo MemTotal: 481892 kB MemFree: 193060 kB MemAvailable: 286188 kB Buffers: 2084 kB Cached: 88808 kB SwapCached: 0 kB Active: 87680 kB Inactive: 69112 kB Active(anon): 66392 kB Inactive(anon): 5252 kB Active(file): 21288 kB Inactive(file): 63860 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 8388604 kB SwapFree: 8388604 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 65948 kB Mapped: 26792 kB Shmem: 5744 kB Slab: 61584 kB SReclaimable: 20836 kB SUnreclaim: 40748 kB KernelStack: 4416 kB PageTables: 4856 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 8629548 kB Committed_AS: 275056 kB VmallocTotal: 34359738367 kB VmallocUsed: 184280 kB VmallocChunk: 34359310332 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB CmaTotal: 0 kB CmaFree: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 98176 kB DirectMap2M: 430080 kB DirectMap1G: 0 kB
/proc/misc 文件
这个文件报告用内核函数misc_register 登记的设备驱动程序。
示例:
[root@tan ~]# cat /proc/misc 57 vsock 58 vmci 59 network_throughput 60 network_latency 61 cpu_dma_latency 227 mcelog 62 crash 175 agpgart 183 hw_random 144 nvram 228 hpet 235 autofs 231 snapshot 63 vga_arbiter
/proc/modules 文件
这个文件给出可加载内核模块的信息 。lsmod 程序用这些信息显示有关模块的名称, 大小, 使用数目方面的信
息。
示例:
[root@tan ~]# cat -n /proc/modules 1 ip6t_rpfilter 12595 1 - Live 0xffffffffc087f000 2 ipt_REJECT 12541 2 - Live 0xffffffffc087a000 3 nf_reject_ipv4 13373 1 ipt_REJECT, Live 0xffffffffc0875000 4 ip6t_REJECT 12625 2 - Live 0xffffffffc0870000 5 nf_reject_ipv6 13717 1 ip6t_REJECT, Live 0xffffffffc086b000 6 xt_conntrack 12760 11 - Live 0xffffffffc0859000 7 ip_set 45644 0 - Live 0xffffffffc085e000 8 nfnetlink 14490 1 ip_set, Live 0xffffffffc084d000 9 ebtable_nat 12807 1 - Live 0xffffffffc0848000 10 ebtable_broute 12731 1 - Live 0xffffffffc0854000 11 bridge 151336 1 ebtable_broute, Live 0xffffffffc0822000 12 stp 12976 1 bridge, Live 0xffffffffc081d000 13 llc 14552 2 bridge,stp, Live 0xffffffffc0814000 14 ip6table_nat 12864 1 - Live 0xffffffffc080f000 15 nf_conntrack_ipv6 18935 7 - Live 0xffffffffc0809000 16 nf_defrag_ipv6 35104 1 nf_conntrack_ipv6, Live 0xffffffffc07fb000 17 nf_nat_ipv6 14131 1 ip6table_nat, Live 0xffffffffc07f2000 18 ip6table_mangle 12700 1 - Live 0xffffffffc07ed000 19 ip6table_security 12710 1 - Live 0xffffffffc07e8000 20 ip6table_raw 12683 1 - Live 0xffffffffc07e3000 21 iptable_nat 12875 1 - Live 0xffffffffc07de000 22 nf_conntrack_ipv4 15053 6 - Live 0xffffffffc07d9000 23 nf_defrag_ipv4 12729 1 nf_conntrack_ipv4, Live 0xffffffffc07cc000 24 nf_nat_ipv4 14115 1 iptable_nat, Live 0xffffffffc07c3000 25 nf_nat 26787 2 nf_nat_ipv6,nf_nat_ipv4, Live 0xffffffffc07d1000 26 nf_conntrack 133095 6 xt_conntrack,nf_conntrack_ipv6,nf_nat_ipv6,nf_conntrack_ipv4,nf_nat_ipv4,nf_nat, Live 0xffffffffc07a1000 27 iptable_mangle 12695 1 - Live 0xffffffffc079c000 28 iptable_security 12705 1 - Live 0xffffffffc0797000 29 iptable_raw 12678 1 - Live 0xffffffffc0792000 30 ebtable_filter 12827 1 - Live 0xffffffffc078d000 31 ebtables 35009 3 ebtable_nat,ebtable_broute,ebtable_filter, Live 0xffffffffc077f000 32 ip6table_filter 12815 1 - Live 0xffffffffc077a000 33 ip6_tables 26912 5 ip6table_nat,ip6table_mangle,ip6table_security,ip6table_raw,ip6table_filter, Live 0xffffffffc072a000 34 iptable_filter 12810 1 - Live 0xffffffffc071b000 35 vmw_vsock_vmci_transport 30577 1 - Live 0xffffffffc076d000 36 vsock 36526 2 vmw_vsock_vmci_transport, Live 0xffffffffc0707000 37 edac_mce_amd 27251 0 - Live 0xffffffffc0765000 38 crc32_pclmul 13133 0 - Live 0xffffffffc0725000 39 ghash_clmulni_intel 13273 0 - Live 0xffffffffc0711000 40 aesni_intel 189414 0 - Live 0xffffffffc0735000 41 lrw 13286 1 aesni_intel, Live 0xffffffffc0716000 42 gf128mul 15139 1 lrw, Live 0xffffffffc0702000 43 glue_helper 13990 1 aesni_intel, Live 0xffffffffc06fd000 44 ppdev 17671 0 - Live 0xffffffffc06f7000 45 ablk_helper 13597 1 aesni_intel, Live 0xffffffffc0720000 46 cryptd 21190 3 ghash_clmulni_intel,aesni_intel,ablk_helper, Live 0xffffffffc06e9000 47 vmw_balloon 18094 0 - Live 0xffffffffc06f1000 48 snd_seq_midi 13565 0 - Live 0xffffffffc064c000 49 snd_seq_midi_event 14899 1 snd_seq_midi, Live 0xffffffffc06e4000 50 joydev 17389 0 - Live 0xffffffffc06de000 51 pcspkr 12718 0 - Live 0xffffffffc063f000 52 snd_ens1371 25076 0 - Live 0xffffffffc0619000 53 snd_rawmidi 31294 2 snd_seq_midi,snd_ens1371, Live 0xffffffffc0636000 54 snd_ac97_codec 130556 1 snd_ens1371, Live 0xffffffffc06bd000 55 ac97_bus 12730 1 snd_ac97_codec, Live 0xffffffffc0606000 56 snd_seq 62663 2 snd_seq_midi,snd_seq_midi_event, Live 0xffffffffc0671000 57 snd_seq_device 14356 3 snd_seq_midi,snd_rawmidi,snd_seq, Live 0xffffffffc0507000 58 snd_pcm 105708 2 snd_ens1371,snd_ac97_codec, Live 0xffffffffc06a2000 59 snd_timer 29912 2 snd_seq,snd_pcm, Live 0xffffffffc0699000 60 snd 83815 7 snd_ens1371,snd_rawmidi,snd_ac97_codec,snd_seq,snd_seq_device,snd_pcm,snd_timer, Live 0xffffffffc0683000 61 soundcore 15047 1 snd, Live 0xffffffffc0614000 62 sg 40721 0 - Live 0xffffffffc062b000 63 parport_pc 28205 0 - Live 0xffffffffc060c000 64 parport 46395 2 ppdev,parport_pc, Live 0xffffffffc0664000 65 vmw_vmci 67127 1 vmw_vsock_vmci_transport, Live 0xffffffffc0652000 66 i2c_piix4 22401 0 - Live 0xffffffffc0624000 67 ip_tables 27126 5 iptable_nat,iptable_mangle,iptable_security,iptable_raw,iptable_filter, Live 0xffffffffc0644000 68 xfs 997127 4 - Live 0xffffffffc0511000 69 libcrc32c 12644 3 nf_nat,nf_conntrack,xfs, Live 0xffffffffc050c000 70 sd_mod 46281 6 - Live 0xffffffffc04fa000 71 crc_t10dif 12912 1 sd_mod, Live 0xffffffffc04a5000 72 sr_mod 22416 0 - Live 0xffffffffc0447000 73 cdrom 42556 1 sr_mod, Live 0xffffffffc04e1000 74 crct10dif_generic 12647 0 - Live 0xffffffffc04f5000 75 crct10dif_pclmul 14307 1 - Live 0xffffffffc049c000 76 crct10dif_common 12595 3 crc_t10dif,crct10dif_generic,crct10dif_pclmul, Live 0xffffffffc04f0000 77 crc32c_intel 22094 1 - Live 0xffffffffc044f000 78 serio_raw 13434 0 - Live 0xffffffffc0442000 79 nfit 55016 0 - Live 0xffffffffc04d2000 80 libnvdimm 147731 1 nfit, Live 0xffffffffc04ac000 81 vmwgfx 276430 1 - Live 0xffffffffc0457000 82 drm_kms_helper 179394 1 vmwgfx, Live 0xffffffffc0415000 83 ata_generic 12923 0 - Live 0xffffffffc03bf000 84 syscopyarea 12529 1 drm_kms_helper, Live 0xffffffffc03cb000 85 sysfillrect 12701 1 drm_kms_helper, Live 0xffffffffc03c4000 86 sysimgblt 12640 1 drm_kms_helper, Live 0xffffffffc031d000 87 pata_acpi 13053 0 - Live 0xffffffffc03ba000 88 fb_sys_fops 12703 1 drm_kms_helper, Live 0xffffffffc03b5000 89 mptspi 22628 5 - Live 0xffffffffc03ef000 90 ttm 114635 1 vmwgfx, Live 0xffffffffc03d2000 91 scsi_transport_spi 30732 1 mptspi, Live 0xffffffffc0402000 92 ata_piix 35052 0 - Live 0xffffffffc040b000 93 mptscsih 40150 1 mptspi, Live 0xffffffffc03f7000 94 drm 429744 4 vmwgfx,drm_kms_helper,ttm, Live 0xffffffffc0347000 95 e1000 137586 0 - Live 0xffffffffc0324000 96 libata 243133 3 ata_generic,pata_acpi,ata_piix, Live 0xffffffffc02e0000 97 mptbase 106036 2 mptspi,mptscsih, Live 0xffffffffc02c5000 98 drm_panel_orientation_quirks 12957 1 drm, Live 0xffffffffc02be000
/proc/mounts 文件
这个文件以/etc/mtab 文件的格式给出当前系统所安装的文件系统信息。这个文件也能反映出任何手工安装
从而在/etc/mtab 文件中没有包含的文件系统。
示例:
[root@tan ~]# cat -n /proc/mounts 1 rootfs / rootfs rw 0 0 2 sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0 3 proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 4 devtmpfs /dev devtmpfs rw,seclabel,nosuid,size=230092k,nr_inodes=57523,mode=755 0 0 5 securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0 6 tmpfs /dev/shm tmpfs rw,seclabel,nosuid,nodev 0 0 7 devpts /dev/pts devpts rw,seclabel,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 8 tmpfs /run tmpfs rw,seclabel,nosuid,nodev,mode=755 0 0 9 tmpfs /sys/fs/cgroup tmpfs ro,seclabel,nosuid,nodev,noexec,mode=755 0 0 10 cgroup /sys/fs/cgroup/systemd cgroup rw,seclabel,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd 0 0 11 pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0 12 cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,seclabel,nosuid,nodev,noexec,relatime,net_prio,net_cls 0 0 13 cgroup /sys/fs/cgroup/cpuset cgroup rw,seclabel,nosuid,nodev,noexec,relatime,cpuset 0 0 14 cgroup /sys/fs/cgroup/freezer cgroup rw,seclabel,nosuid,nodev,noexec,relatime,freezer 0 0 15 cgroup /sys/fs/cgroup/devices cgroup rw,seclabel,nosuid,nodev,noexec,relatime,devices 0 0 16 cgroup /sys/fs/cgroup/pids cgroup rw,seclabel,nosuid,nodev,noexec,relatime,pids 0 0 17 cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,seclabel,nosuid,nodev,noexec,relatime,cpuacct,cpu 0 0 18 cgroup /sys/fs/cgroup/hugetlb cgroup rw,seclabel,nosuid,nodev,noexec,relatime,hugetlb 0 0 19 cgroup /sys/fs/cgroup/perf_event cgroup rw,seclabel,nosuid,nodev,noexec,relatime,perf_event 0 0 20 cgroup /sys/fs/cgroup/memory cgroup rw,seclabel,nosuid,nodev,noexec,relatime,memory 0 0 21 cgroup /sys/fs/cgroup/blkio cgroup rw,seclabel,nosuid,nodev,noexec,relatime,blkio 0 0 22 configfs /sys/kernel/config configfs rw,relatime 0 0 23 /dev/sda6 / xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0 24 selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0 25 systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=26,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=19041 0 0 26 hugetlbfs /dev/hugepages hugetlbfs rw,seclabel,relatime 0 0 27 mqueue /dev/mqueue mqueue rw,seclabel,relatime 0 0 28 debugfs /sys/kernel/debug debugfs rw,relatime 0 0 29 /dev/sda2 /var xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0 30 /dev/sda5 /home xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0 31 /dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0 32 tmpfs /run/user/1000 tmpfs rw,seclabel,nosuid,nodev,relatime,size=48192k,mode=700,uid=1000,gid=1000 0 0 33 tmpfs /run/user/0 tmpfs rw,seclabel,nosuid,nodev,relatime,size=48192k,mode=700 0 0
/proc/pci 文件
这个文件给出PCI 设备的信息。用它可以方便地诊断PCI 问题。你可以从这个文件中检索到的信息包括诸
如IDE 接口或USB 控制器这样的设备, 总线, 设备和功能编号, 设备延迟以及IRQ 编号。
示例:
[root@localhost /]# cat /proc/pci PCI devices found: Bus 0, device 0, function 0: Class 0600: PCI device 1106:3116 (rev 0). Master Capable. Latency=8. Prefetchable 32 bit memory at 0xe0000000 [0xe7ffffff]. Bus 0, device 1, function 0: Class 0604: PCI device 1106:b091 (rev 0). Master Capable. No bursts. Min Gnt=12. Bus 0, device 16, function 2: Class 0c03: PCI device 1106:3038 (rev 12. IRQ 5. Master Capable. Latency=32. I/O at 0xec00 [0xec1f]. Bus 0, device 16, function 1: Class 0c03: PCI device 1106:3038 (rev 12. IRQ 3. Master Capable. Latency=32. I/O at 0xe800 [0xe81f]. Bus 0, device 16, function 0: Class 0c03: PCI device 1106:3038 (rev 12. IRQ 11. Master Capable. Latency=32. I/O at 0xe400 [0xe41f]. Bus 0, device 16, function 3: Class 0c03: PCI device 1106:3104 (rev 130). IRQ 10. Master Capable. Latency=32. Non-prefetchable 32 bit memory at 0xdfffff00 [0xdfffffff]. Bus 0, device 17, function 0: Class 0601: PCI device 1106:3177 (rev 0). Bus 0, device 17, function 1:Class 0101: PCI device 1106:0571 (rev 6). IRQ 255. Master Capable. Latency=32. I/O at 0xfc00 [0xfc0f]. Bus 0, device 17, function 5: Class 0401: PCI device 1106:3059 (rev 80). IRQ 5. I/O at 0xe000 [0xe0ff]. Bus 0, device 18, function 0: Class 0200: PCI device 1106:3065 (rev 116). IRQ 11. Master Capable. Latency=32. Min Gnt=3.Max Lat=8. I/O at 0xdc00 [0xdcff]. Non-prefetchable 32 bit memory at 0xdffffe00 [0xdffffeff]. Bus 1, device 0, function 0: Class 0300: PCI device 5333:8d04 (rev 0). IRQ 11. Master Capable. Latency=32. Min Gnt=4.Max Lat=255. Non-prefetchable 32 bit memory at 0xdfe80000 [0xdfefffff]. Prefetchable 32 bit memory at 0xd0000000 [0xd7ffffff].
/proc/stat 文件
这个文件包含的信息有CPU 利用率, 磁盘, 内存页, 内存对换, 全部中断, 接触开关以及赏赐自举时间(自1970
年1 月1 日起的秒数 ) 。
示例:
[root@localhost /]# cat /proc/stat cpu 31994 3898 7161 381600 15254 451 0 cpu0 31994 3898 7161 381600 15254 451 0 intr 4615930 4404290 3364 0 0 12 0 7 0 2 0 0 12618 112114 0 44142 39381 ctxt 1310498 btime 1148891913 processes 4249 procs_running 4 procs_blocked 0
/proc/uptime 文件
这个文件给出自从上次系统自举以来的秒数, 以及其中有多少秒处于空闲 。 这主要供uptime 程序使用 。 比较
这两个数字能够告诉你长期来看CPU 周期浪费的比例。
示例:
[root@tan ~]# cat -n /proc/uptime 1 2756.81 10804.22
/proc/version 文件
这个文件只有一行内容, 说明正在运行的内核版本。可以用标准的编程方法进行分析获得所需的系统信息 。
示例:
[root@localhost /]# cat /proc/version Linux version 2.6.9-1.667 ( bhcompile@tweety.build.redhat.com ) (gcc version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)) #1 Tue Nov 2 14:41:25 EST 2004
/proc/net 子目录
此目录下的文件描述或修改了联网代码的行为。可以通过使用 arp,netstat,route 和ipfwadm 命令设置或查询
这些特殊文件中的许多文件。
示例:
[root@localhost /]# ls /proc/net
anycast6 ip_conntrack mcfilter6 rt6_stats tcp
arp ip_conntrack_expect netlink rt_acct tcp6
dev ip_mr_cache netstat rt_cache udp
dev_mcast ip_mr_vif packet snmp udp6
dev_snmp6 ip_tables_matches psched snmp6 unix
if_inet6 ip_tables_names raw sockstat wireless
igmp ip_tables_targets raw6 sockstat6
igmp6 ipv6_route route softnet_stat
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 域套接口的套接口表
示例:
[root@localhost /]# cat /proc/net/route Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT eth0 0035C2DA 00000000 0001 0 0 0 80FFFFF0 eth0 0000FEA9 00000000 0001 0 0 0 0000FFF0 eth0 00000000 0135C2DA 0003 0 0 0 00000000
[root@localhost /]# cat /proc/net/tcp sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode 0: 00000000:8000 00000000:0000 0A 00000000:00000000 00:00000000 00000000 29 0 9525 1 0dde7500 3000 0 0 2 -1 1: 00000000:006F 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 9484 1 0dde79e0 3000 0 0 2 -1 2: 0100007F:0277 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 10049 1 0a8e3a00 3000 0 0 2 -1 3: 0100007F:14D7 00000000:0000 0A 00000000:00000000 00:00000000 00000000 99 0 9847 1 0dde7020 3000 0 0 2 -1 4: 0100007F:0019 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 10286 1 0a8e3520 3000 0 0 2 -1
[root@localhost /]# cat /proc/net/arp IP address HW type Flags HW address Mask Device 218.194.53.1 0x1 0x2 00:0D:BC:78:07:3F * eth0
[root@localhost /]# cat /proc/net/udp
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
0: 00000000:8000 00000000:0000 07 00000000:00000000 00:00000000 00000000 29 0 9520 2
0b4ef7c0
105: 00000000:14E9 00000000:0000 07 00000000:00000000 00:00000000 00000000 99 0 10284 20b4ef040
111: 00000000:006F 00000000:0000 07 00000000:00000000 00:00000000 00000000 0 0 9483 20b4efcc0
116: 00000000:02F4 00000000:0000 07 00000000:00000000 00:00000000 00000000 0 0 9511 20b4efa40
119: 00000000:0277 00000000:0000 07 00000000:00000000 00:00000000 00000000 0 0 10050 2
0b4ef2c0
/proc/scsi 子目录
此目录下包含一个列出了所有检测到的SCSI 设备的文件, 并且为每种控制器驱动程序提供一个目录, 在这个
目录下又为已安装的此种控制器的每个实例提供一个子目录。
示例:
[root@tan ~]# ll /proc/scsi total 0 -r--r--r--. 1 root root 0 May 7 23:10 device_info dr-xr-xr-x. 2 root root 0 May 7 23:10 mptspi -r--r--r--. 1 root root 0 May 7 23:10 scsi dr-xr-xr-x. 2 root root 0 May 7 23:10 sg
/proc/sys 子目录
在此目录下有许多子目录 。 此目录中的许多项都可以用来调整系统的性能 。 这个目录包含信息太多, 无法介
绍全部。只在示例中展示目录下的一些文件。
示例:
[root@localhost /]# ls /proc/sys
debug dev fs kernel net proc sunrpc vm
[root@localhost ~]# ls /proc/sys/fs aio-max-nr dentry-state file-nr lease-break-time overflowgid aio-nr dir-notify-enable inode-nr leases-enable overflowuid binfmt_misc file-max inode-state mqueue quota
[root@localhost ~]# ls /proc/sys/kernel acct hotplug panic sem cad_pid modprobe panic_on_oops shmall cap-bound msgmax pid_max shmmax core_pattern msgmnb print-fatal-signals shmmni core_uses_pid msgmni printk sysrq ctrl-alt-del ngroups_max printk_ratelimit tainted domainname osrelease printk_ratelimit_burst threads-max exec-shield ostype pty vdso exec-shield-randomize overflowgid random version hostname overflowuid real-root-dev
[root@localhost ~]# ls /proc/sys/net
core ethernet ipv4 ipv6 unix
[root@localhost sys]# ls /proc/sys/vmblock_dump laptop_mode nr_pdflush_threads dirty_background_ratio legacy_va_layout overcommit_memory dirty_expire_centisecs lower_zone_protection overcommit_ratio dirty_ratio max_map_count page-clusterdirty_writeback_centisecs min_free_kbytes swappiness hugetlb_shm_group nr_hugepages vfs_cache_pressure
[root@tan ~]# ls /proc/sys/net/ipv4 cipso_cache_bucket_size cipso_cache_enable cipso_rbm_optfmt cipso_rbm_strictvalid conf fib_multipath_hash_policy fwmark_reflect icmp_echo_ignore_all icmp_echo_ignore_broadcasts icmp_errors_use_inbound_ifaddr icmp_ignore_bogus_error_responses icmp_msgs_burst icmp_msgs_per_sec icmp_ratelimit icmp_ratemask igmp_max_memberships igmp_max_msf igmp_qrv inet_peer_maxttl inet_peer_minttl inet_peer_threshold ip_default_ttl ip_dynaddr ip_early_demux ip_forward ip_forward_use_pmtu ipfrag_high_thresh ipfrag_low_thresh ipfrag_max_dist ipfrag_secret_interval ipfrag_time ip_local_port_range ip_local_reserved_ports ip_nonlocal_bind ip_no_pmtu_disc neigh ping_group_range route tcp_abort_on_overflow tcp_adv_win_scale tcp_allowed_congestion_control tcp_app_win tcp_autocorking tcp_available_congestion_control tcp_base_mss tcp_challenge_ack_limit tcp_congestion_control tcp_dsack tcp_early_retrans tcp_ecn tcp_fack tcp_fastopen tcp_fastopen_key tcp_fin_timeout tcp_frto tcp_invalid_ratelimit tcp_keepalive_intvl tcp_keepalive_probes tcp_keepalive_time tcp_limit_output_bytes tcp_low_latency tcp_max_orphans tcp_max_ssthresh tcp_max_syn_backlog tcp_max_tw_buckets tcp_mem tcp_min_tso_segs tcp_moderate_rcvbuf tcp_mtu_probing tcp_no_metrics_save tcp_notsent_lowat tcp_orphan_retries tcp_reordering tcp_retrans_collapse tcp_retries1 tcp_retries2 tcp_rfc1337 tcp_rmem tcp_sack tcp_slow_start_after_idle tcp_stdurg tcp_synack_retries tcp_syncookies tcp_syn_retries tcp_thin_dupack tcp_thin_linear_timeouts tcp_timestamps tcp_tso_win_divisor tcp_tw_recycle tcp_tw_reuse tcp_window_scaling tcp_wmem tcp_workaround_signed_windows udp_mem udp_rmem_min udp_wmem_min xfrm4_gc_thresh
[root@tan ~]# cat -n /proc/sys/kernel/shmall 1 18446744073692774399
[root@tan ~]# cat -n /proc/sys/kernel/osrelease 1 3.10.0-957.el7.x86_64