文章是摘抄過來,方便本身查閱!linux
1. /proc目錄centos
Linux 內核提供了一種經過 /proc 文件系統,在運行時訪問內核內部數據結構、改變內核設置的機制。proc文件系統是一個僞文件系統,它只存在內存當中,而不佔用外存空間。它以文件系統的方式爲訪問系統內核數據的操做提供接口。數據結構
用戶和應用程序能夠經過proc獲得系統的信息,並能夠改變內核的某些參數。因爲系統的信息,如進程,是動態改變的,因此用戶或應用程序讀取proc文件時,proc文件系統是動態從系統內核讀出所需信息並提交的。下面列出的這些文件或子文件夾,並非都是在你的系統中存在,這取決於你的內核配置和裝載的模塊。另外,在/proc下還有三個很重要的目錄:net,scsi和sys。 Sys目錄是可寫的,能夠經過它來訪問或修改內核的參數,而net和scsi則依賴於內核配置。例如,若是系統不支持scsi,則scsi目錄不存在。架構
除了以上介紹的這些,還有的是一些以數字命名的目錄,他們是進程目錄。系統中當前運行的每個進程都有對應的一個目錄在/proc下,以進程的PID號爲目錄名,他們是讀取進程信息的接口。而self目錄則是讀取進程自己的信息接口,是一個link。less
2.子文件或子文件夾dom
/proc/buddyinfo 每一個內存區中的每一個order有多塊可用,和內存碎片問題有關tcp
/proc/cmdline 啓動時傳遞給kernel的參數信息ide
/proc/cpuinfo cpu的信息優化
/proc/crypto 內核使用的全部已安裝的加密密碼及細節ui
/proc/devices 已經加載的設備並分類
/proc/dma 已註冊使用的ISA DMA 頻道列表
/proc/execdomains Linux 內核當前支持的execution domains
/proc/fb 幀緩衝設備列表,包括數量和控制它的驅動
/proc/filesystems 內核當前支持的文件系統類型
/proc/interrupts x86 架構中的每一個IRQ中斷數
/proc/iomem 每一個物理設備當前在系統內存中的映射
/proc/ioports 一個設備的輸入輸出所使用的註冊端口範圍
/proc/kcore表明系統的物理內存,存儲爲核心文件格式,裏邊顯示的是字節數,等於RAM大小加上4kb
/proc/mdstat 多硬盤,RAID配置信息(md=multiple disks)
/proc/loadavg 根據過去一段時間內CPU和IO的抓鬼呢太得出的負載狀態,與uptime命令有關
/proc/meminfo RAM使用的相關信息
/proc/misc 其餘的主要設備(設備號爲10)上註冊的驅動
/proc/modules 全部加載到內核的模塊列表
/proc/mounts 系統中使用的全部掛載
/proc/partitions 分區中的塊分配信息
/proc/stat 全部的cpu活動信息
/proc/uptime 系統已經運行了多久
/proc/swaps 交換空間的使用狀況
/proc/fs 文件系統信息
/proc/ide ide設備信息
/proc/net 網卡設備信息
/proc/vmsat 虛擬內存統計信息
/proc/vmcore 內核panic時的內存映像
/proc/diskstats 取得磁盤信息
/proc/scsi scsi設備信息
如下是/proc目錄中進程信息
/proc/N pid爲N的進程信息
/proc/N/cmdline 進程啓動命令
/proc/N/cwd 連接到進程當前工做目錄
/proc/N/exe 連接到進程的執行命令文件
/proc/N/fd 包含進程相關的全部的文件描述符
/proc/N/maps 與進程相關的內存映射信息
/proc/N/mem 指代進程持有的內存,不可讀
/proc/N/stat 進程的狀態
/proc/N/status 進程狀態信息,比stat/statm更具可讀性
/proc/self 連接到當前正在運行的進程
舉例:
[root@a ~]# ls /proc/
1 1699 292 388 45 615 9 filesystems meminfo swaps
10 17 293 401 47 638 98 fs misc sys
1008 1713 294 402 487 66 acpi interrupts modules sysrq-trigger
1009 1716 295 403 5 663 buddyinfo iomem mounts sysvipc
1089 1717 296 404 507 664 bus ioports mpt timer_list
1093 18 297 405 513 666 cgroups irq mtrr timer_stats
11 19 298 406 547 667 cmdline kallsyms net tty
1122 2 3 407 561 675 consoles kcore pagetypeinfo uptime
1126 20 30 408 607 676 cpuinfo keys partitions version
1144 21 300 409 608 677 crypto key-users sched_debug vmallocinfo
1145 22 31 41 609 688 devices kmsg schedstat vmstat
12 23 32 410 610 692 diskstats kpagecount scsi zoneinfo
13 24 33 411 611 696 dma kpageflags self
15 282 375 42 612 7 driver loadavg slabinfo
1650 283 376 43 613 713 execdomains locks softirqs
1681 290 387 44 614 8 fb mdstat stat
/proc/sys 系統信息和內核參數
[root@a ~]# ls /proc/sys
abi crypto debug dev fs kernel net user vm
/proc/net 網啊看設備信息
[root@a ~]# ls /proc/net/
anycast6 ip6_flowlabel mcfilter raw6 tcp6
arp ip6_mr_cache mcfilter6 route udp
connector ip6_mr_vif netfilter rt6_stats udp6
dev ip6_tables_matches netlink rt_acct udplite
dev_mcast ip6_tables_names netstat rt_cache udplite6
dev_snmp6 ip6_tables_targets nf_conntrack snmp unix
fib_trie ip_mr_cache nf_conntrack_expect snmp6 wireless
fib_triestat ip_mr_vif packet sockstat xfrm_stat
icmp ip_tables_matches protocols sockstat6
if_inet6 ip_tables_names psched softnet_stat
igmp ip_tables_targets ptype stat
igmp6 ipv6_route raw tcp
/proc/scsi scsi設備信息
[root@a ~]# ls /proc/scsi/
device_info mptspi scsi sg
/proc/modules 全部加載到內核的模塊列表
[root@a ~]# cat /proc/modules
ip6t_rpfilter 12595 1 - Live 0xffffffffc0515000
ipt_REJECT 12541 2 - Live 0xffffffffc0510000
nf_reject_ipv4 13373 1 ipt_REJECT, Live 0xffffffffc050b000
ip6t_REJECT 12625 2 - Live 0xffffffffc0506000
nf_reject_ipv6 13717 1 ip6t_REJECT, Live 0xffffffffc0501000
xt_conntrack 12760 11 - Live 0xffffffffc04f2000
ip_set 36439 0 - Live 0xffffffffc04f7000
nfnetlink 14696 1 ip_set, Live 0xffffffffc04e7000
/proc/devices 已經加載的設備並分類
[root@a ~]# cat /proc//devices
Character devices:
1 mem
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
7 vcs
10 misc
13 input
21 sg
29 fb
99 ppdev
128 ptm
136 pts
162 raw
180 usb
188 ttyUSB
189 usb_device
/proc/partitions 分區中的塊分配信息
[root@a ~]# cat /proc/partitions
major minor #blocks name
8 0 41943040 sda
8 1 1048576 sda1
8 2 40893440 sda2
11 0 4415488 sr0
253 0 38789120 dm-0
253 1 2097152 dm-1
/proc/version linux內核版本和gcc版本
[root@a ~]# cat /proc/version
Linux version 3.10.0-693.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017
/proc/sys/fs/file-max 該文件指定了能夠分配的文件句柄的最大數目。若是用戶獲得的錯誤消息聲明因爲打開文件數已經大道了最大值,從而他們不能打開更多文件,則可能須要增長該值。可將這個值設置成有任意多個文件,而且能經過將一個新數字值寫入該文件來更改該值。默認設置值4096。改變內核的參數,用vi編輯或者echo參數重定向到文件中。
[root@a ~]# cat /proc/sys/fs/file-max
4096
[root@a ~]# echo 8912 > /proc/sys/fs/file-max
[root@a ~]# cat /proc/sys/fs/file-max
8912
若是優化了參數,則能夠把它們寫成添加到文件rc.local中,使它在系統啓動時自動完成修改。