Linux/proc檔案系統操作指南
1、數字目錄或檔案
按程式號排序的活動程式
例如下面的1
ls
/proc/1
attr auxv
cmdline cwd environ exe fd loginuid maps mem mounts root stat statm
status task wchan
1)cmdline:啟動程式的命令和引數
2)cwd:一個指向程式當前工作目錄的連結
例如要知道程式sshd的目錄目錄。
oot root 0 Mar 2
20:01 wchan
# ps
-ef|grep sshd
root 2509 1 0 19:17 ? 00:00:00
/usr/sbin/sshd
取得sshd的程式號:2509
#
ls -al /proc/2509/cwd
lrwxrwxrwx 1 root root 0 Mar 2 20:00
/proc/2509/cwd -> /
知道sshd的工作目錄是根目錄
3)environ:程式的環境變數
以上面的sshd程式為例
SELINUX_INIT=YESCONSOLE=/dev/pts/0TERM=linuxINIT_VERSION=sysvinit-2.85PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/binRUNLEVEL=5runlevel=5PWD=/LANG=en_US.UTF-8PREVLEVEL=Nprevious=NHOME=/SHLVL=2_=/sbin/initlog
4)exe
也是一個符號連結,指向被執行的二進位制程式碼。
ls -al exe
lrwxrwxrwx 1 root root 0 Mar 2 19:17
exe -> /usr/sbin/sshd
5)fd
程式所有開啟的檔案描述符,以檔案描述符命名。指向了程式當前正在使用的檔案
0-std
input, 1-std output, 2-std err.
lrwx------ 1 root root 64 Mar 2 20:08 0 -> /dev/null
lrwx------ 1 root root 64 Mar 2
20:08 1 -> /dev/null
lrwx------ 1 root root 64
Mar 2 20:08 2 -> /dev/null
lrwx------ 1 root root 64 Mar 2 20:08 3 ->
socket:[6132]
6)maps
包含當前映象記憶體區和他們的訪問許可,
cat maps
address perms offset dev inode
filename
00111000-001e5000 r-xp 00000000
fd:00 393602 /lib/libcrypto.so.0.9.7a
001e5000-001f6000
rw-p 000d3000 fd:00 393602 /lib/libcrypto.so.0.9.7a
001f6000-001fa000 rw-p 001f6000
00:00 0
001fa000-00209000
r-xp 00000000 fd:00 716543 /usr/lib/libz.so.1.2.1.2
00209000-0020a000 rw-p
0000e000 fd:00 716543 /usr/lib/libz.so.1.2.1.2
0020a000-0021d000 r-xp 00000000 fd:00
716749 /usr/lib/libgssapi_krb5.so.2.2
0021d000-0021e000 rw-p 00013000 fd:00 716749
/usr/lib/libgssapi_krb5.so.2.2
0021e000-0023e000
r-xp 00000000 fd:00 716747 /usr/lib/libk5crypto.so.3.0
0023e000-0023f000 rw-p
00020000 fd:00 716747 /usr/lib/libk5crypto.so.3.0
...............
第一列是程式所佔據的地址空間
第二列r:read,w:write,x:execute,s:share,p:private,
第三列:表示offset,檔案等偏移量。
第四列:dev裝置號
第五列:inode裝置節點號,0表示沒有節點與記憶體相對應
7)men
程式訪問記憶體/dev/men裝置的通道?
8)root
指向root檔案系統
9)stat
可以被PS命令使用的程式的一些狀態資訊
ps命令輸出的一些欄位資訊改日補上
2、acpi
acpi資訊
3、asound
聲音資訊,如音效卡驅動之類
4、buddyinfo
系統中每個記憶體區的每個order有多少塊可用
5、bus
6、cmdline
顯示核心的啟動引數
7、cpuinfo
當前系統CPU的詳細資訊
# cat cpuinfo
processor : 0
vendor_id :
GenuineIntel
cpu
family : 15
model :
2
model
name : Intel(R) Celeron(R) CPU 2.40GHz
stepping : 8
cpu MHz : 2405.715
cache size : 128 KB
fdiv_bug : no
hlt_bug : no
f00f_bug :
no
coma_bug : no
fpu :
yes
fpu_exception :
yes
cpuid level
: 2
wp :
yes
flags : fpu
vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi
mmx fxsr sse sse2 ss
bogomips :
4472.83
8、crypto
9、devices
這個檔案列出字元和塊裝置的主裝置號,以及分配到這些裝置號的裝置名稱
# cat 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
89 i2c
116 alsa
128 ptm
136 pts
162 raw
180 usb
Block
devices:
1
ramdisk
2 fd
8 sd
9 md
22 ide1
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
253 device-mapper
254 mdp
系統所有可用字元和塊裝置
10、diskstats
11、dma
當前可用的通道資訊
#
cat dma
4:
cascade
12、driver
包含被核心使用的各種驅動資訊
13、execdomains
列出被LINUX核心支援的執行網域,連同他們支援的其他性質
14、fb
包含程式開啟的檔案控制程式碼
15、filesystems
當前系統支援的檔案系統列表
# 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
relayfs
nodev
mqueue
nodev
selinuxfs
ext3
nodev vmhgfs
nodev rpc_pipefs
nodev autofs
16、fs
17、ide
包含IDE裝置資訊的目錄
18、interrupts
儲存中斷資訊
#
cat interrupts
CPU0
0: 717695
XT-PIC timer
1:
10 XT-PIC i8042
2: 0 XT-PIC cascade
5: 0 XT-PIC
ehci_hcd
8:
1 XT-PIC rtc
9: 0 XT-PIC acpi, Ensoniq AudioPCI,
uhci_hcd
10:
564 XT-PIC vmxnet ether
11: 6873 XT-PIC ioc0
12:
67 XT-PIC i8042
15: 1158 XT-PIC ide1
NMI:
0
ERR:
0
標準 IRQ 設定
IRQ 0 - System Timer
IRQ 1 - Keyboard
IRQ 2(9) - Video Card
IRQ 3 - COM2, COM4
IRQ 4 - COM1, COM3
IRQ 5 - Available (LPT2 or Sound Card)
IRQ 6 - Floppy Disk Controller
IRQ 7 - LPT1
IRQ 8 - Real-Time Clock
IRQ 9 - Redirected IRQ 2
IRQ 10 - Available
IRQ 11 - Available
IRQ 12 - PS/2 Mouse
IRQ 13 - Math Co-Processor
IRQ 14 - Hard Disk Controller
IRQ 15 - Available
可在用dmesg檢視系統引導時的中斷資訊
19、iomem
20、ioports
關於系統中可用 IO
埠的資訊。
#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
02f8-02ff :
serial
0376-0376 : ide1
0378-037a :
parport0
03c0-03df :
vga+
03f8-03ff
: serial
0cf8-0cff : PCI
conf1
1000-103f
: 0000:00:07.3
1000-103f :
motherboard
1000-1003 :
PM1a_EVT_BLK
1004-1005
: PM1a_CNT_BLK
1008-100b : PM_TMR
100c-100f : GPE0_BLK
1010-1015
: ACPI CPU throttle
1040-105f : 0000:00:07.3
1040-104f :
motherboard
1060-107f : 0000:00:07.2
1060-107f : uhci_hcd
1080-10ff :
0000:00:10.0
1400-140f :
0000:00:0f.0
1410-141f : 0000:00:07.1
1418-141f : ide1
2000-207f :
0000:02:00.0
2000-2063 : vmxnet ether
2080-20bf : 0000:02:01.0
2080-20bf : Ensoniq
AudioPCI
21、irq
IRQ資訊
22、kallsyms
這個檔案列出了已經登記的核心符號;這些符號給出了變數或函式的地址。每行給出一個符號的地址,符號名稱以及登記這個符號的模組。程式ksyms,insmod和kmod使用這個檔案。它還列出了正在執行的任務數,總任務數和最後分配的PID。
23、kcore
描繪以core檔案格式儲存的系統實體記憶體。
24、keys
管理金鑰
25、key-users
管理金鑰
26、kmsg
這個檔案可以被用於日誌系統資訊
可以呼叫syslog檢索這些訊息。或使用dmesg或守護程式klogd檢索這些訊息
27、loadavg
負載資訊
cat loadavg
1.32 1.36 1.00 1/63
17818
28、locks
這個檔案包含在開啟的檔案上的加鎖資訊。檔案中的每一行描述了特定檔案和文件上的加鎖資訊以及對檔案施加的鎖的型別。核心也可以需要時對檔案施加強制性鎖。
# cat
/proc/locks
1:
POSIX ADVISORY WRITE 2651 fd:00:460626 0 EOF
2: FLOCK ADVISORY WRITE 2603
fd:00:460617 0 EOF
3: POSIX ADVISORY WRITE 2552 fd:00:460612 0 EOF
4: POSIX ADVISORY WRITE 2544
fd:00:460610 0 EOF
29、mdstat
這個檔案包含了由md裝置驅動程式控制的RAID裝置資訊。
cat mdstat
Personalities
:
unused devices:
<none>
30、meminfo
當前系統記憶體的詳細資訊,像top,free等這些是就是通過讀取/proc/meminfo來實現的。
cat
/proc/meminfo
MemTotal: 515644 kB
MemFree:
54848 kB
Buffers: 48256 kB
Cached: 306468
kB
SwapCached:
0 kB
Active:
103540 kB
Inactive: 272172
kB
HighTotal: 0
kB
HighFree: 0 kB
LowTotal: 515644
kB
LowFree: 54848
kB
SwapTotal: 2092752 kB
SwapFree: 2092752 kB
Dirty:
432 kB
Writeback:
0 kB
Mapped:
35036 kB
Slab:
77420 kB
Committed_AS:
85272 kB
PageTables: 1168 kB
VmallocTotal: 499704 kB
VmallocUsed: 3796
kB
VmallocChunk:
495740 kB
HugePages_Total:
0
HugePages_Free: 0
Hugepagesize: 4096 kB
31、misc
這個檔案報告用核心函式misc_register登記的裝置驅動程式。
# cat /proc/misc
63 device-mapper
175 agpgart
135 rtc
32、modules
核心模組載入列表。
也可以用lsmod檢視。
# cat modules
parport_pc 24577 1 -
Live 0xe0ba0000
lp 12077 0 - Live 0xe0a2c000
parport 37129 2
parport_pc,lp, Live 0xe0b95000
vmblock
15004 3 - Live 0xe0a23000
vmmemctl 11020 0 - Live 0xe0a28000
autofs4 23237 0 - Live 0xe0a42000
i2c_dev 11329 0
- Live 0xe09cb000
i2c_core
22081 1 i2c_dev, Live 0xe0a3b000
sunrpc 159269 1 - Live
0xe0bb7000
ipt_REJECT 6593 1 - Live 0xe09cf000
ipt_state 1857 3 -
Live 0xe099d000
ip_conntrack 40565 1
ipt_state, Live 0xe0a30000
iptable_filter 2753 1 - Live
0xe0822000
ip_tables
16705 3 ipt_REJECT,ipt_state,iptable_filter, Live 0xe0a05000
vmhgfs 52928 1 - Live
0xe0a15000
button 6481 0
- Live 0xe08e6000
battery 8901 0 - Live 0xe09a1000
# lsmod
Module Size Used by
parport_pc 24577 1
lp 12077
0
parport 37129 2 parport_pc,lp
vmblock
15004 3
vmmemctl 11020
0
autofs4 23237 0
i2c_dev
11329 0
i2c_core 22081 1
i2c_dev
sunrpc 159269 1
ipt_REJECT 6593 1
ipt_state 1857
3
ip_conntrack 40565 1 ipt_state
iptable_filter
2753 1
ip_tables 16705 3
ipt_REJECT,ipt_state,iptable_filter
vmhgfs
52928 1
button 6481 0
battery
8901 0
ac 4805 0
md5 4033
1
ipv6
234881 10
uhci_hcd 31065
0
ehci_hcd 30917 0
snd_ens1371
24937 0
snd_rawmidi 26597 1 snd_ens1371
snd_seq_device 8137 1 snd_rawmidi
snd_pcm_oss
49017 0
snd_mixer_oss 17985 1 snd_pcm_oss
snd_pcm
96841 2 snd_ens1371,snd_pcm_oss
snd_timer
29893 1 snd_pcm
snd_page_alloc 9673 1
snd_pcm
snd_ac97_codec
63889 1 snd_ens1371
snd 55461 8
snd_ens1371,snd_rawmidi,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_ac97_codec
soundcore 9889 1
snd
pcnet32 30409 0
vmxnet 17664 0
mii 4673 1 pcnet32
floppy 58481 0
dm_snapshot
16901 0
dm_zero
2369 0
dm_mirror 27825
0
ext3 116809 2
jbd 71385 1
ext3
dm_mod
56661 6 dm_snapshot,dm_zero,dm_mirror
mptscsih 41645 0
mptbase 54957 1
mptscsih
sd_mod 17217 5
scsi_mod 121293 2 mptscsih,sd_mod
33、mounts -> self/mounts
顯示已經載入的檔案系統,顯示裝置,載入點,檔案系統型別,許可權極限flags
檔案mounts的所在位置
這個檔案以/etc/mtab檔案的格式給出當前系統所安裝的檔案系統資訊。這個檔案也能反映出任何手工安裝從而在/etc/mtab檔案中沒有包含的檔案系統。
cat /proc/mounts
rootfs / rootfs rw 0 0
/proc /proc proc
rw,nodiratime 0 0
none /dev tmpfs rw 0
0
/dev/root / ext3
rw 0 0
none /dev
tmpfs rw 0 0
none
/selinux selinuxfs rw 0 0
/proc
/proc proc rw,nodiratime 0 0
/proc/bus/usb /proc/bus/usb
usbfs rw 0 0
/sys /sys
sysfs rw 0 0
none /dev/pts
devpts rw 0 0
/dev/sda1 /boot ext3 rw 0 0
none /dev/shm tmpfs rw
0 0
none
/proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
.host:/ /mnt/hgfs vmhgfs rw 0 0
none
/proc/fs/vmblock/mountPoint vmblock rw 0 0
34、mpt
35、mtrr
# cat
mtrr
reg00:
base=0x00000000 ( 0MB), size= 512MB: write-back, count=1
reg01: base=0xf0000000
(3840MB), size= 16MB: write-combining, count=1
36、net
arp - The
kernel address resolution protocol table.
dev - Network device
status information
ipx
ipx_route
rarp - used to provide
rarp(8) services.
raw - A
dump of the RAW socket table
route - Looks like
route(8).
snmp -
Holds the ASCII databases used for the IP, ICMP, TCP, and UDP management
information bases for an snmp agent.
tcp - A dump of the
TCP socket table.
udp - A
dump of the UDP socket table
unix - Lists UNIX domain sockets and
their status.
partitions - Lists the
partitions and their device major and minor
# ls /proc/net
anycast6 igmp ip_mr_vif mcfilter6
raw6 snmp tcp wireless
arp
igmp6 ip_tables_matches netlink route snmp6
tcp6
dev
ip6_flowlabel ip_tables_names netstat rpc sockstat
tr_rif
dev_mcast
ip_conntrack ip_tables_targets packet rt6_stats sockstat6
udp
dev_snmp6
ip_conntrack_expect ipv6_route psched rt_acct softnet_stat
udp6
if_inet6
ip_mr_cache mcfilter raw rt_cache stat
unix
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域套介面的套介面表
37、partitions
列出分割槽和裝置主次號
# cat partitions
major minor #blocks name
8 0 8388608 sda
8 1 104391 sda1
8 2 8281507
sda2
8 16 1048576
sdb
8
17 1044193 sdb1
253 0 7176192
dm-0
253 1 1048576
dm-1
38、pci
檔案
/proc/pci 包含了系統 PCI 匯流排上裝置的 資訊。lspci 命令可以給出類似的資訊。
# cat pci
PCI
devices found:
Bus 0, device 0, function 0:
Class 0600: PCI device 8086:7190 (rev 1).
Bus 0, device 1, function
0:
Class 0604: PCI device
8086:7191 (rev 1).
Master Capable. No bursts. Min
Gnt=128.
Bus 0,
device 7, function 0:
Class 0601:
PCI device 8086:7110 (rev 8).
Bus 0, device 7, function 1:
Class 0101:
PCI device 8086:7111 (rev 1).
Master Capable.
Latency=64.
I/O at
0x1410 [0x141f].
Bus
0, device 7, function 2:
Class 0c03: PCI device 8086:7112 (rev 0).
IRQ 9.
Master Capable.
Latency=64.
I/O at 0x1060 [0x107f].
Bus 0, device 7,
function 3:
Class
0680: PCI device 8086:7113 (rev 8).
IRQ 9.
Bus 0, device 15,
function 0:
Class 0300: PCI device 15ad:0405 (rev 0).
Master Capable.
Latency=64.
I/O at 0x1400 [0x140f].
Non-prefetchable 32
bit memory at 0xf0000000 [0xf7ffffff].
Non-prefetchable
32 bit memory at 0xe8000000 [0xe87fffff].
Bus 0, device 16, function
0:
Class
0100: PCI device 1000:0030 (rev 1).
IRQ 11.
Master Capable.
Latency=64. Min Gnt=6.Max Lat=255.
I/O at 0x1080
[0x10ff].
Non-prefetchable 32 bit memory at 0xe8800000 [0xe8800fff].
Bus 0, device 17, function
0:
Class 0604: PCI
device 15ad:0790 (rev 2).
IRQ 10.
Master Capable. Latency=64. Min Gnt=4.
Non-prefetchable 64 bit memory at 0xe8801000
[0xe8801fff].
Bus
2, device 0, function 0:
Class 0200: PCI
device 1022:2000 (rev 16).
IRQ 10.
Master
Capable. Latency=64. Min Gnt=6.Max Lat=255.
I/O at 0x2000
[0x207f].
Bus 2, device 1,
function 0:
Class
0401: PCI device 1274:1371 (rev 2).
IRQ 9.
Master Capable. Latency=64. Min Gnt=6.Max Lat=255.
I/O at 0x2080
[0x20bf].
Bus 2, device 2, function 0:
Class 0c03: PCI device 15ad:0770
(rev 0).
IRQ
5.
Master Capable.
Latency=64. Min Gnt=6.Max Lat=255.
Non-prefetchable 32 bit memory at 0xe8900000 [0xe8900fff].
# lspci
00:00.0 Host bridge:
Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
00:01.0 PCI bridge: Intel
Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge:
Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)
00:07.1 IDE interface: Intel Corporation
82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corporation
82371AB/EB/MB PIIX4 USB
00:07.3 Bridge:
Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:0f.0 VGA compatible
controller: VMware Inc [VMware SVGA II] PCI Display Adapter
00:10.0 SCSI storage controller:
LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev
01)
00:11.0 PCI
bridge: VMware Inc: Unknown device 0790 (rev 02)
02:00.0 Ethernet controller:
Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 10)
02:01.0 Multimedia audio controller:
Ensoniq ES1371 [AudioPCI-97] (rev 02)
02:02.0 USB
Controller: VMware Inc: Unknown device 0770
39、scsi
所有核心支援的scsi裝置列備
40、self -> 4136
指向/proc檔案系統
41、slabinfo
#
cat slabinfo
slabinfo - version: 2.0
# name
<active_objs> <num_objs> <objsize> <objperslab>
<pagesperslab> : tunables <batchcount> <limit>
<sharedfactor> : slabdata <active_slabs> <num_slabs>
<sharedavail>
VMBlockInodeCache
1 1 4608 1 2 : tunables 8 4 0 : slabdata 1
1 0
blockInfoCache 0 0
4224 1 2 : tunables 8 4 0 : slabdata 0 0 0
rpc_buffers
8 8 2048 2 1 : tunables 24 12 0 : slabdata 4
4 0
rpc_tasks 8 15 256 15 1 : tunables 120
60 0 : slabdata 1 1 0
rpc_inode_cache 6 6
640 6 1 : tunables 54 27 0 : slabdata 1 1 0
ip_conntrack_expect
0 0 256 15 1 : tunables 120 60 0 : slabdata 0
0 0
ip_conntrack 2 10
384 10 1 : tunables 54 27 0 : slabdata 1 1
42、stat
包含CPU利用率,磁碟,記憶體頁,記憶體對換,全部中斷,接觸開關以及boot啟動時間(自1970年1月1日起的秒數)。
# cat stat
cpu 8491 15667 105281 402869
23477 194 0
cpu0 8491 15667
105281 402869 23477 194 0
intr 5607285 5560661
10 0 4 4 0 7 0 1 0 6215 30980 67 0 0 9336
ctxt 590839
btime 1204456471
processes 53399
procs_running 1
procs_blocked
0
cpu - Jiffies spent in user mode, user mode with low priority, system mode,
and idle.
disk - Four disk entries not yet implemented
page - The number of
pages the system paged in and out.
swap - Swap pages
that have been brought in and out.
intr - The
number of interrupts received form. the system boot
ctxt - The number of context
switches that the system underwent.
btime -
從1970年1月起開始的boot時間,以秒數計算
43、swaps
一些關於交換分割槽的資訊檔案
# cat swaps
Filename Type Size
Used Priority
/dev/mapper/VolGroup00-LogVol01 partition 1048568
0 -1
/dev/sdb1
partition 1044184 0 -2
44、sys
核心引數,可以修改網路屬於
有這些目錄
debug
dev fs kernel net proc sunrpc vm
proc/sys/fs/
/proc/sys/fs/file-max
該檔案指定了可以分配的檔案控制程式碼的最大數目。如果使用者得到的錯誤訊息宣告由於開啟檔案數已經達到了最大值,從而他們不能開啟更多檔案,則可能需要增加該值。可將這個值設定成有任意多個檔案,並且能通過將一個新數字值寫入該檔案來更改該值。
預設設定:4096
/proc/sys/fs/file-nr
該檔案與 file-max
相關,它有三個值:
已分配檔案控制程式碼的數目
已使用檔案控制程式碼的數目
檔案控制程式碼的最大數目
該檔案是隻讀的,僅用於顯示資訊。
/proc/sys/fs/inode-*
任何以名稱"inode"開頭的檔案所執行的操作與上面那些以名稱"file"開頭的檔案所執行的操作一樣,但所執行的操作與索引節點有關,而與檔案控制程式碼無關。
/proc/sys/fs/overflowuid 和
/proc/sys/fs/overflowgid
這兩個檔案分別儲存那些支援 16
位使用者標識和組標識的任何檔案系統的使用者標識(UID)和組標識(GID)。可以更改這些值,但如果您確實覺得需要這樣做,那麼您可能會發現更改組和密碼檔案項更容易些。
預設設定:65534
/proc/sys/fs/super-max
該檔案指定超級塊處理程式的最大數目。掛裝的任何檔案系統需要使用超級塊,所以如果掛裝了大量檔案系統,則可能會用盡超級塊處理程式。
預設設定:256
/proc/sys/fs/super-nr
該檔案顯示當前已分配超級塊的數目。該檔案是隻讀的,僅用於顯示資訊。
/proc/sys/kernel
/proc/sys/kernel/acct
該檔案有三個可配置值,根據包含日誌的檔案系統上可用空間的數量(以百分比表示),這些值控制何時開始進行程式記帳:
如果可用空間低於這個百分比值,則停止程式記帳
如果可用空間高於這個百分比值,則開始程式記帳
檢查上面兩個值的頻率(以秒為單位)
要更改這個檔案的某個值,應該回送用空格分隔開的一串數字。
預設設定:2 4 30
如果包含日誌的檔案系統上只有少於 2% 的可用空間,則這些值會使記帳停止,如果有 4% 或更多可用空間,則再次啟動記帳。每
30 秒做一次檢查。
/proc/sys/kernel/ctrl-alt-del
該檔案有一個二進位制值,該值控制系統在接收到
ctrl+alt+delete 按鍵組合時如何反應。這兩個值表示:
零(0)值表示捕獲 ctrl+alt+delete,並將其送至 init 程式。這將允許系統可以完美地關閉和重啟,就好象您輸入 shutdown
命令一樣。
壹(1)值表示不捕獲
ctrl+alt+delete,將執行非乾淨的關閉,就好象直接關閉電源一樣。
預設設定:0
/proc/sys/kernel/domainname
該檔案允許您配置網路域名。它沒有預設值,也許已經設定了域名,也許沒有設定。
/proc/sys/kernel/hostname
該檔案允許您配置網路主機名。它沒有預設值,也許已經設定了主機名,也許沒有設定。
/proc/sys/kernel/msgmax
該檔案指定了從一個程式傳送到另一個程式的訊息的最大長度。程式間的訊息傳遞是在核心的記憶體中進行,不會交換到磁碟上,所以如果增加該值,則將增加作業系統所使用的記憶體數量。
預設設定:8192
/proc/sys/kernel/msgmnb
該檔案指定在一個訊息佇列中最大的位元組數。
預設設定:16384
/proc/sys/kernel/msgmni
該檔案指定訊息佇列標識的最大數目。
預設設定:16
/proc/sys/kernel/panic
該檔案表示如果發生"核心嚴重錯誤(kernel
panic)",則核心在重新引導之前等待的時間(以秒為單位)。零(0)秒設定在發生核心嚴重錯誤時將禁止重新引導。
預設設定:0
/proc/sys/kernel/printk
該檔案有四個數字值,它們根據日誌記錄訊息的重要性,定義將其傳送到何處。關於不同日誌級別的更多資訊,請閱讀
syslog(2) 聯機幫助頁。該檔案的四個值為:
控制檯日誌級別:優先順序高於該值的訊息將被列印至控制檯
預設的訊息日誌級別:將用該優先順序來列印沒有優先順序的訊息
最低的控制檯日誌級別:控制檯日誌級別可被設定的最小值(最高優先順序)
預設的控制檯日誌級別:控制檯日誌級別的預設值
預設設定:6 4 1 7
/proc/sys/kernel/shmall
該檔案是在任何給定時刻系統上可以使用的共享記憶體的總量(以位元組為單位)。
預設設定:2097152
/proc/sys/kernel/shmax
該檔案指定核心所允許的最大共享記憶體段的大小(以位元組為單位)。
預設設定:33554432
/proc/sys/kernel/shmmni
該檔案表示用於整個系統共享記憶體段的最大數目。
預設設定:4096
/proc/sys/kernel/sysrq
如果該檔案指定的值為非零,則啟用 System Request
Key。
預設設定:0
/proc/sys/kernel/threads-max
該檔案指定核心所能使用的執行緒的最大數目。
預設設定:2048
/proc/sys/net
/proc/sys/net/core/message_burst
寫新的警告訊息所需的時間(以 1/10
秒為單位);在這個時間內所接收到的其它警告訊息會被丟棄。這用於防止某些企圖用訊息"淹沒"您系統的人所使用的拒絕服務(Denial of
Service)攻擊。
預設設定:50(5 秒)
/proc/sys/net/core/message_cost
該檔案存有與每個警告訊息相關的成本值。該值越大,越有可能忽略警告訊息。
預設設定:5
/proc/sys/net/core/netdev_max_backlog
該檔案指定了,在介面接收資料包的速率比核心處理這些包的速率快時,允許送到佇列的資料包的最大數目。
預設設定:300
/proc/sys/net/core/optmem_max
該檔案指定了每個套接字所允許的最大緩衝區的大小。
/proc/sys/net/core/rmem_default
該檔案指定了接收套接字緩衝區大小的預設值(以位元組為單位)。
/proc/sys/net/core/rmem_max
該檔案指定了接收套接字緩衝區大小的最大值(以位元組為單位)。
/proc/sys/net/core/wmem_default
該檔案指定了傳送套接字緩衝區大小的預設值(以位元組為單位)。
/proc/sys/net/core/wmem_max
該檔案指定了傳送套接字緩衝區大小的最大值(以位元組為單位)。
/proc/sys/net/ipv4
所有 IPv4 和 IPv6
的引數都被記錄在核心原始碼文件中。請參閱檔案
/usr/src/linux/Documentation/networking/ip-sysctl.txt。
/proc/sys/net/ipv6
同 IPv4。
/proc/sys/vm
/proc/sys/vm/buffermem
該檔案控制用於緩衝區記憶體的整個系統記憶體的數量(以百分比表示)。它有三個值,通過把用空格相隔的一串數字寫入該檔案來設定這三個值。
用於緩衝區的記憶體的最低百分比
如果發生所剩系統記憶體不多,而且系統記憶體正在減少這種情況,系統將試圖維護緩衝區記憶體的數量。
用於緩衝區的記憶體的最高百分比
預設設定:2 10 60
/proc/sys/vm/freepages
該檔案控制系統如何應對各種級別的可用記憶體。它有三個值,通過把用空格相隔的一串數字寫入該檔案來設定這三個值。
如果系統中可用頁面的數目達到了最低限制,則只允許核心分配一些記憶體。
如果系統中可用頁面的數目低於這一限制,則核心將以較積極的方式啟動交換,以釋放記憶體,從而維持系統效能。
核心將試圖保持這個數量的系統記憶體可用。低於這個值將啟動核心交換。
預設設定:512 768 1024
/proc/sys/vm/kswapd
該檔案控制允許核心如何交換記憶體。它有三個值,通過把用空格相隔的一串數字寫入該檔案來設定這三個值:
核心試圖一次釋放的最大頁面數目。如果想增加記憶體交換過程中的頻寬,則需要增加該值。
核心在每次交換中試圖釋放頁面的最少次數。
核心在一次交換中所寫頁面的數目。這對系統效能影響最大。這個值越大,交換的資料越多,花在磁碟尋道上的時間越少。然而,這個值太大會因"淹沒"請求佇列而反過來影響系統效能。
預設設定:512 32 8
/proc/sys/vm/pagecache
該檔案與 /proc/sys/vm/buffermem
的工作內容一樣,但它是針對檔案的記憶體對映和一般快取記憶體。
使核心設定具有永續性
這裡提供了一個方便的實用程式,用於更改 /proc/sys 目錄下的任何核心引數。它使您可以更改執行中的核心(類似於上面用到的
echo
和重定向方法),但它還有一個在系統引導時執行的配置檔案。這使您可以更改執行中的核心,並將這些更改新增到配置檔案,以便於在系統重新引導之後,這些更改仍然生效。
該實用程式稱為
sysctl,在 sysctl(8) 的聯機幫助頁中,對這個實用程式進行了完整的文件說明。sysctl 的配置檔案是
/etc/sysctl.conf,可以編輯該檔案,並在 sysctl.conf(8) 下記錄了該檔案。sysctl 將 /proc/sys
下的檔案視為可以更改的單個變數。所以,以 /proc/sys 下的檔案 /proc/sys/fs/file-max
為例,它表示系統中所允許的檔案控制程式碼的最大數目,這個檔案被表示成 fs.file-max。
這個示例揭示了 sysctl 表示法中的一些奇妙事情。由於 sysctl 只能更改 /proc/sys
目錄下的變數,並且人們始終認為變數是在這個目錄下,因此省略了變數名的那一部分(/proc/sys)。另一個要說明的更改是,將目錄分隔符(正斜槓
/)換成了英文中的句號(點 .)。
將 /proc/sys 中的檔案轉換成
sysctl 中的變數有兩個簡單的規則:
去掉前面部分 /proc/sys。
將檔名中的正斜槓變為點。
這兩條規則使您能將 /proc/sys 中的任一檔名轉換成 sysctl 中的任一變數名。一般檔案到變數的轉換為:
/proc/sys/dir/file --> dir.file
dir1.dir2.file -->
/proc/sys/dir1/dir2/file
可以使用命令 sysctl
-a 檢視所有可以更改的變數和其當前設定。
用 sysctl
還可以更改變數,它所做的工作與上面所用的 echo 方法完全一樣。其表示法為:
sysctl -w
dir.file="value"
還是用 file-max
作為示例,使用下面兩種方法中的一種將該值更改為 16384:
sysctl -w
fs.file-max="16384"
或者:
echo
"16384" > /proc/sys/fs/file-max
不要忘記 sysctl
不會將所做的更改新增到配置檔案中;這要您用手工來完成。如果您希望在重新引導之後,前面所做的更改仍然有效,則必須維護這個配置檔案。
注:不是所有的分發版都提供 sysctl
支援。如果您的特定系統屬於這種情況,則可以用上面所描述的 echo 和重定向方法,將這些命令新增到啟動指令碼中,這樣系統每次引導時,都會執行它們。
45、sysrq-trigger
46、sysvipc
47、tty
下面有四個檔案和目錄
1)driver
下面有一個serial檔案
2)drivers
裝置驅動檔案列表
# cat drivers
/dev/tty
/dev/tty 5 0 system:/dev/tty
/dev/console /dev/console
5 1 system:console
/dev/ptmx /dev/ptmx 5 2 system
/dev/vc/0
/dev/vc/0 4 0 system:vtmaster
serial /dev/ttyS 4 64-71
serial
pty_slave
/dev/pts 136 0-1048575 pty:slave
pty_master
/dev/ptm 128 0-1048575 pty:master
unknown /dev/tty
4 1-63 console
3)ldisc
4)ldiscs
48、uptime
系統自啟動以來所經歷的秒數
相關文章
- <解說linux下proc檔案系統>Linux
- 理解 Proc 檔案系統(轉)
- 深入理解linux系統下proc檔案系統內容Linux
- 使用 /proc 檔案系統來控制系統(轉)
- 使用 /proc 檔案系統來控制系統 (zt)
- Linux核心模組程式設計/proc 檔案系統(轉)Linux程式設計
- proc檔案系統相關內容
- 【AIX 學習】檔案系統之 PROCAI
- Linux 檔案系統精通指南Linux
- linux proc 檔案系統下 entry 的解釋(轉)Linux
- Linux系統下/proc/[pid] 目錄各檔案簡析Linux
- [zt] Linux 檔案系統精通指南Linux
- linux /proc/cpuinfo檔案分析LinuxUI
- Linux中proc檔案系統是什麼意思?有什麼作用?Linux
- 核心proc檔案系統與seq介面(3)---核心proc檔案底層結構淺析
- exFAT 檔案系統指南
- /proc虛擬檔案系統與系統核心引數修改方法
- Linux系統檔案命令精通指南(上)(轉)Linux
- PHP 檔案系統完全指南PHP
- Linux系統(一)檔案系統、壓縮、打包操作總結Linux
- Linux系統程式設計(2)——檔案與IO之系統呼叫與檔案IO操作Linux程式設計
- 使用者指南:Linux 檔案系統的連結Linux
- Linux系統篇-檔案系統&虛擬檔案系統Linux
- UNIX 檔案系統基本操作
- Go檔案操作綜合指南Go
- Linux檔案系統Linux
- linux 檔案系統Linux
- Linux系統檔案系統及檔案基礎篇Linux
- cephFS分散式檔案系統操作分散式
- 檔案系統操作與磁碟管理
- Linux中/proc目錄下檔案詳解Linux
- Linux /proc 目錄下檔案粗談(轉)Linux
- 檔案系統和檔案 API 安全性缺失指南API
- 分散式檔案系統(HDFS)與 linux系統檔案系統 對比分散式Linux
- python--檔案操作指南Python
- Linux AUFS 檔案系統Linux
- linux的檔案系統Linux
- 論Linux檔案系統Linux