|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有些人号称用过十几种甚至几十种linux,向人谈论起来头头是到,好像懂的很多。
一.Linux/proc目次简介
Linux内核供应了一种经由过程/proc文件体系,在运转时会见内核外部数据布局、改动内核设置的机制。proc文件体系是一个伪文件体系,它只存在内存傍边,而不占用外存空间。它以文件体系的体例为会见体系内核数据的操纵供应接口。
用户和使用程序能够经由过程proc失掉体系的信息,并能够改动内核的某些参数。因为体系的信息,如历程,是静态改动的,以是用户或使用程序读取proc文件时,proc文件体系是静态从体系内核读出所需信息并提交的。上面列出的这些文件或子文件夹,并非都是在你的体系中存在,这取决于你的内核设置和装载的模块。别的,在/proc下另有三个很主要的目次:net,scsi和sys。Sys目次是可写的,能够经由过程它来会见或修正内核的参数,而net和scsi则依附于内核设置。比方,假如体系不撑持scsi,则scsi目次不存在。
除以上先容的这些,另有的是一些以数字定名的目次,它们是历程目次。体系中以后运转的每个历程都有对应的一个目次在/proc下,以历程的PID号为目次名,它们是读取历程信息的接口。而self目次则是读取历程自己的信息接口,是一个link。
二./proc目次的子文件或子文件夹的感化
/proc/buddyinfo每一个内存区中的每一个order有几块可用,和内存碎片成绩有关
/proc/cmdline启动时传送给kernel的参数信息
/proc/cpuinfocpu的信息
/proc/crypto内核利用的一切已安装的加密暗码及细节
/proc/devices已加载的设备并分类
/proc/dma已注册利用的ISADMA频道列表
/proc/execdomainsLinux内核以后撑持的executiondomains
/proc/fb帧缓冲设备列表,包含数目和把持它的驱动
/proc/filesystems内核以后撑持的文件体系范例
/proc/interruptsx86架构中的每一个IRQ中止数
/proc/iomem每一个物理设备以后在体系内存中的映照
/proc/ioports一个设备的输出输入所利用的注册端口局限
/proc/kcore代表体系的物理内存,存储为中心文件格局,里边显现的是字节数,即是RAM巨细加上4kb
/proc/kmsg纪录内核天生的信息,能够经由过程/sbin/klogd或/bin/dmesg来处置
/proc/loadavg依据已往一段工夫内CPU和IO的形态得出的负载形态,与uptime命令有关
/proc/locks内核锁住的文件列表
/proc/mdstat多硬盘,RAID设置信息(md=multipledisks)
/proc/meminfoRAM利用的相干信息
/proc/misc其他的次要设备(设备号为10)上注册的驱动
/proc/modules一切加载到内核的模块列表
/proc/mounts体系中利用的一切挂载
/proc/mtrr体系利用的MemoryTypeRangeRegisters(MTRRs)
/proc/partitions分区中的块分派信息
/proc/pci体系中的PCI设备列表
/proc/slabinfo体系中一切举动的slab缓存信息
/proc/stat一切的CPU举动信息
/proc/sysrq-trigger利用echo命令来写这个文件的时分,远程root用户能够实行年夜多半的体系哀求关头命令,就仿佛在当地终端实行一样。要写进这个文件,必要把/proc/sys/kernel/sysrq不克不及设置为0。这个文件对root也是不成读的
/proc/uptime体系已运转了多久
/proc/swaps互换空间的利用情形
/proc/versionLinux内核版本和gcc版本
/proc/bus体系总线(Bus)信息,比方pci/usb等
/proc/driver驱动信息
/proc/fs文件体系信息
/proc/ideide设备信息
/proc/irq中止哀求设备信息
/proc/net网卡设备信息
/proc/scsiscsi设备信息
/proc/ttytty设备信息
/proc/net/dev显现收集适配器及统计信息
/proc/vmstat假造内存统计信息
/proc/vmcore内核panic时的内存映像
/proc/diskstats获得磁盘信息
/proc/schedstatkernel调剂器的统计信息
/proc/zoneinfo显现内存空间的统计信息,对剖析假造内存举动很有效
以下是/proc目次中历程N的信息
/proc/Npid为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链接到以后正在运转的历程
三.实践操纵例子
1.列出/proc/下的一切文件
.代码以下:
yafang@QA:~$ls/proc/
11681921242218024948768interruptspartitions
116168202124421812524885iomemsched_debug
117401790121245218102525acpiioportsscsi
117421790321247218123asoundirqself
117431790421312181339buddyinfokallsymsslabinfo
134521836221319219234buskcorestat
13454183642132219341cgroupskey-usersswaps
134551836521392193342cmdlinekmsgsys
14919451214222095cpuinfokpagecountsysrq-trigger
150194532157222125330cryptokpageflagssysvipc
15119454215742219596devicesloadavgtimer_list
1522215752243597diskstatslockstimer_stats
157712083215822606dmameminfotty
157732092216252261617drivermiscuptime
157742101216272262619execdomainsmodulesversion
16232211122162822637fbmountsvmallocinfo
162342111521652264804filesystemsmtrrvmstat
1623521116216722658765fsnetzoneinfo
168112112217723388767idepagetypeinfo
2.检察体系信息和内核参数
.代码以下:
yafang@QA:~$ls/proc/sys
debugdevfskernelnetvm[code]
3.检察网卡设备信息
[code]yafang@QA:~$ls/proc/net
anycast6ip6_flowlabelnetfilterraw6sockstat6udplite
arpip6_mr_cachenetlinkroutesoftnet_statudplite6
devip6_mr_vifnetstatrt6_statsstatunix
dev_mcastip_mr_cachepacketrt_accttcpvlan
dev_snmp6ip_mr_vifprotocolsrt_cachetcp6wireless
if_inet6ipv6_routepschedsnmptr_rif
igmpmcfilterptypesnmp6udp
igmp6mcfilter6rawsockstatudp6
4.检察SCSI设备信息
.代码以下:
yafang@QA:~$ls/proc/scsi
device_infoscsi
5.检察一切加载到内核的模块列表
.代码以下:
root@BDSP-A-2-1-2:~#cat/proc/modules
bdspboard84862dspcontrol,Live0xe134c000
dspcontrol95751clkmon,Live0xe135b000
clkmon67651-Live0xe136c000
diagint66351-Live0xe1379000
bdsprio107752srioif,tsi577,Live0xe9389000
tsi577179981srioif,Live0xe939e000
srioif73290-Live0xe93b2000
linux_kernel_bde546661linux_user_bde,Live0xf1417000(P)
linux_user_bde178490-Live0xf1427000(P)
root@BDSP-A-2-1-2:~#
6.检察已加载的设备并分类
.代码以下:
root@BCNMB-A:~#cat/proc/devices
Characterdevices:
1mem
2pty
3ttyp
4/dev/vc/0
4tty
4ttyS
5/dev/tty
5/dev/console
5/dev/ptmx
7vcs
10misc
13input
89i2c
90mtd
116linux-user-bde2
117linux-kernel-bde2
126linux-user-bde
127linux-kernel-bde
128ptm
136pts
180usb
189usb_device
245ext_alarm
251ipmidev
252usb_endpoint
253usbmon
254rtc
Blockdevices:
1ramdisk
8sd
31mtdblock
65sd
66sd
67sd
68sd
69sd
70sd
71sd
128sd
129sd
130sd
131sd
132sd
133sd
134sd
135sd
root@BCNMB-A:~#
7.检察分区中的块分派信息
.代码以下:
root@BDSP-A-2-1-2:~#cat/proc/partitions
majorminor#blocksname
310512mtdblock0
311512mtdblock1
312123904mtdblock2
3134096mtdblock3
3141024mtdblock4
3151024mtdblock5
316512mtdblock6
317512mtdblock7
318123904mtdblock8
3194096mtdblock9
31101024mtdblock10
31111024mtdblock11
31121048576mtdblock12
root@BDSP-A-2-1-2:~#
8.检察Linux内核版本和gcc版本
.代码以下:
root@BDSP-A-2-1-2:~#cat/proc/version
Linuxversion2.6.34.6-WR4.0.0.0_standard(satomi@CharlieBrown)(gccversion4.4.1(WindRiverLinuxSourceryG++4.4-291))#1SMPPREEMPTFriNov2616:07:47CST2010
root@BDSP-A-2-1-2:~#
9./proc/sys/fs/file-max
该文件指定了能够分派的文件句柄的最年夜数量。假如用户失掉的毛病动静声明因为翻开文件数已到达了最年夜值,从而他们不克不及翻开更多文件,则大概必要增添该值。可将这个值设置成有恣意多个文件,而且能经由过程将一个新数字值写进该文件来变动该值。默许设置时4096。
改动内核的参数,用vi编纂或echo参数重定向到文件中。
.代码以下:
#cat/proc/sys/fs/file-max
4096
#echo8192>/proc/sys/fs/file-max
#cat/proc/sys/fs/file-max
8192
假如优化了参数,则能够把它们写成增加到文件rc.local中,使它在体系启动时主动完成修正。
别的例子:
1:[root@gechongproc]#more/proc/cmdline
显现了内核启动的命令行
2:[root@gechongproc]#cat/proc/cpuinfo
显现了cpu信息
3:[root@gechongproc]#cat/proc/devices
显现了字符和块设备的主设备号和分派到这些设备号的设备称号
4:[root@gechongproc]#cat/proc/dma
显现了驱动程序保存的DMA通道和保存它们的驱动程序称号
5:[root@gechongproc]#more/proc/filesystems
显现了可供利用的文件体系范例,一品种型一行
6:[root@gechongproc]#more/proc/interrupts
每行都有一个保存的中止,内容是:中止号中止次数挂号中止的驱动程序称号
7:[root@gechongproc]#more/proc/ioports
显现了I/O相干的设备驱动器比方磁盘驱动器、以太网卡、声卡设备等
如果你只是想应付一下操作系统的课程,劝你最好别学,或者说不要指望能用的怎么样。 |
|