📄 proc.txt
字号:
Linux uses slab pools for memory management above page level in version 2.2.Commonly used objects have their own slab pool (such as network buffers,directory cache, and so on).1.3 IDE devices in /proc/ide----------------------------The subdirectory /proc/ide contains information about all IDE devices of whichthe kernel is aware. There is one subdirectory for each IDE controller, thefile drivers and a link for each IDE device, pointing to the device directoryin the controller specific subtree.The file drivers contains general information about the drivers used for theIDE devices: > cat /proc/ide/drivers ide-cdrom version 4.53 ide-disk version 1.08 More detailed information can be found in the controller specificsubdirectories. These are named ide0, ide1 and so on. Each of thesedirectories contains the files shown in table 1-4.Table 1-4: IDE controller info in /proc/ide/ide? .............................................................................. File Content channel IDE channel (0 or 1) config Configuration (only for PCI/IDE bridge) mate Mate name model Type/Chipset of IDE controller ..............................................................................Each device connected to a controller has a separate subdirectory in thecontrollers directory. The files listed in table 1-5 are contained in thesedirectories.Table 1-5: IDE device information .............................................................................. File Content cache The cache capacity Capacity of the medium (in 512Byte blocks) driver driver and version geometry physical and logical geometry identify device identify block media media type model device identifier settings device setup smart_thresholds IDE disk management thresholds smart_values IDE disk management values ..............................................................................The most interesting file is settings. This file contains a nice overview ofthe drive parameters: # cat /proc/ide/ide0/hda/settings name value min max mode ---- ----- --- --- ---- bios_cyl 526 0 65535 rw bios_head 255 0 255 rw bios_sect 63 0 63 rw breada_readahead 4 0 127 rw bswap 0 0 1 r file_readahead 72 0 2097151 rw io_32bit 0 0 3 rw keepsettings 0 0 1 rw max_kb_per_request 122 1 127 rw multcount 0 0 8 rw nice1 1 0 1 rw nowerr 0 0 1 rw pio_mode write-only 0 255 w slow 0 0 1 rw unmaskirq 0 0 1 rw using_dma 0 0 1 rw 1.4 Networking info in /proc/net--------------------------------The subdirectory /proc/net follows the usual pattern. Table 1-6 shows theadditional values you get for IP version 6 if you configure the kernel tosupport this. Table 1-7 lists the files and their meaning.Table 1-6: IPv6 info in /proc/net .............................................................................. File Content udp6 UDP sockets (IPv6) tcp6 TCP sockets (IPv6) raw6 Raw device statistics (IPv6) igmp6 IP multicast addresses, which this host joined (IPv6) if_inet6 List of IPv6 interface addresses ipv6_route Kernel routing table for IPv6 rt6_stats Global IPv6 routing tables statistics sockstat6 Socket statistics (IPv6) snmp6 Snmp data (IPv6) ..............................................................................Table 1-7: Network info in /proc/net .............................................................................. File Content arp Kernel ARP table dev network devices with statistics dev_mcast the Layer2 multicast groups a device is listening too (interface index, label, number of references, number of bound addresses). dev_stat network device status ip_fwchains Firewall chain linkage ip_fwnames Firewall chain names ip_masq Directory containing the masquerading tables ip_masquerade Major masquerading table netstat Network statistics raw raw device statistics route Kernel routing table rpc Directory containing rpc info rt_cache Routing cache snmp SNMP data sockstat Socket statistics tcp TCP sockets tr_rif Token ring RIF routing table udp UDP sockets unix UNIX domain sockets wireless Wireless interface data (Wavelan etc) igmp IP multicast addresses, which this host joined psched Global packet scheduler parameters. netlink List of PF_NETLINK sockets ip_mr_vifs List of multicast virtual interfaces ip_mr_cache List of multicast routing cache ..............................................................................You can use this information to see which network devices are available inyour system and how much traffic was routed over those devices: > cat /proc/net/dev Inter-|Receive |[... face |bytes packets errs drop fifo frame compressed multicast|[... lo: 908188 5596 0 0 0 0 0 0 [... ppp0:15475140 20721 410 0 0 410 0 0 [... eth0: 614530 7085 0 0 0 0 0 1 [... ...] Transmit ...] bytes packets errs drop fifo colls carrier compressed ...] 908188 5596 0 0 0 0 0 0 ...] 1375103 17405 0 0 0 0 0 0 ...] 1703981 5535 0 0 0 3 0 0 In addition, each Channel Bond interface has it's own directory. Forexample, the bond0 device will have a directory called /proc/net/bond0/.It will contain information that is specific to that bond, such as thecurrent slaves of the bond, the link status of the slaves, and howmany times the slaves link has failed.1.5 SCSI info-------------If you have a SCSI host adapter in your system, you'll find a subdirectorynamed after the driver for this adapter in /proc/scsi. You'll also see a listof all recognized SCSI devices in /proc/scsi: >cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: IBM Model: DGHS09U Rev: 03E0 Type: Direct-Access ANSI SCSI revision: 03 Host: scsi0 Channel: 00 Id: 06 Lun: 00 Vendor: PIONEER Model: CD-ROM DR-U06S Rev: 1.04 Type: CD-ROM ANSI SCSI revision: 02 The directory named after the driver has one file for each adapter found inthe system. These files contain information about the controller, includingthe used IRQ and the IO address range. The amount of information shown isdependent on the adapter you use. The example shows the output for an AdaptecAHA-2940 SCSI adapter: > cat /proc/scsi/aic7xxx/0 Adaptec AIC7xxx driver version: 5.1.19/3.2.4 Compile Options: TCQ Enabled By Default : Disabled AIC7XXX_PROC_STATS : Disabled AIC7XXX_RESET_DELAY : 5 Adapter Configuration: SCSI Adapter: Adaptec AHA-294X Ultra SCSI host adapter Ultra Wide Controller PCI MMAPed I/O Base: 0xeb001000 Adapter SEEPROM Config: SEEPROM found and used. Adaptec SCSI BIOS: Enabled IRQ: 10 SCBs: Active 0, Max Active 2, Allocated 15, HW 16, Page 255 Interrupts: 160328 BIOS Control Word: 0x18b6 Adapter Control Word: 0x005b Extended Translation: Enabled Disconnect Enable Flags: 0xffff Ultra Enable Flags: 0x0001 Tag Queue Enable Flags: 0x0000 Ordered Queue Tag Flags: 0x0000 Default Tag Queue Depth: 8 Tagged Queue By Device array for aic7xxx host instance 0: {255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255} Actual queue depth per device for aic7xxx host instance 0: {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} Statistics: (scsi0:0:0:0) Device using Wide/Sync transfers at 40.0 MByte/sec, offset 8 Transinfo settings: current(12/8/1/0), goal(12/8/1/0), user(12/15/1/0) Total transfers 160151 (74577 reads and 85574 writes) (scsi0:0:6:0) Device using Narrow/Sync transfers at 5.0 MByte/sec, offset 15 Transinfo settings: current(50/15/0/0), goal(50/15/0/0), user(50/15/0/0) Total transfers 0 (0 reads and 0 writes) 1.6 Parallel port info in /proc/parport---------------------------------------The directory /proc/parport contains information about the parallel ports ofyour system. It has one subdirectory for each port, named after the portnumber (0,1,2,...).These directories contain the four files shown in Table 1-8.Table 1-8: Files in /proc/parport .............................................................................. File Content autoprobe Any IEEE-1284 device ID information that has been acquired. devices list of the device drivers using that port. A + will appear by the name of the device currently using the port (it might not appear against any). hardware Parallel port's base address, IRQ line and DMA channel. irq IRQ that parport is using for that port. This is in a separate file to allow you to alter it by writing a new value in (IRQ number or none). ..............................................................................1.7 TTY info in /proc/tty-------------------------Information about the available and actually used tty's can be found in thedirectory /proc/tty.You'll find entries for drivers and line disciplines inthis directory, as shown in Table 1-9.Table 1-9: Files in /proc/tty .............................................................................. File Content drivers list of drivers and their usage ldiscs registered line disciplines driver/serial usage statistic and status of single tty lines ..............................................................................To see which tty's are currently in use, you can simply look into the file/proc/tty/drivers: > cat /proc/tty/drivers pty_slave /dev/pts 136 0-255 pty:slave pty_master /dev/ptm 128 0-255 pty:master pty_slave /dev/ttyp 3 0-255 pty:slave pty_master /dev/pty 2 0-255 pty:master serial /dev/cua 5 64-67 serial:callout serial /dev/ttyS 4 64-67 serial /dev/tty0 /dev/tty0 4 0 system:vtmaster /dev/ptmx /dev/ptmx 5 2 system /dev/console /dev/console 5 1 system:console /dev/tty /dev/tty 5 0 system:/dev/tty unknown /dev/tty 4 1-63 console ------------------------------------------------------------------------------Summary------------------------------------------------------------------------------The /proc file system serves information about the running system. It not onlyallows access to process data but also allows you to request the kernel statusby reading files in the hierarchy.The directory structure of /proc reflects the types of information and makesit easy, if not obvious, where to look for specific data.------------------------------------------------------------------------------------------------------------------------------------------------------------CHAPTER 2: MODIFYING SYSTEM PARAMETERS------------------------------------------------------------------------------------------------------------------------------------------------------------In This Chapter------------------------------------------------------------------------------* Modifying kernel parameters by writing into files found in /proc/sys* Exploring the files which modify certain parameters* Review of the /proc/sys file tree------------------------------------------------------------------------------A very interesting part of /proc is the directory /proc/sys. This is not onlya source of information, it also allows you to change parameters within thekernel. Be very careful when attempting this. You can optimize your system,but you can also cause it to crash. Never alter kernel parameters on aproduction system. Set up a development machine and test to make sure thateverything works the way you want it to. You may have no alternative but toreboot the machine once an error has been made.To change a value, simply echo the new value into the file. An example isgiven below in the section on the file system data. You need to be root to dothis. You can create your own boot script to perform this every time yoursystem boots.The files in /proc/sys can be used to fine tune and monitor miscellaneous andgeneral things in the operation of the Linux kernel. Since some of the filescan inadvertently disrupt your system, it is advisable to read bothdocumentation and source before actually making adjustments. In any case, bevery careful when writing to any of these files. The entries in /proc maychange slightly between the 2.1.* and the 2.2 kernel, so if there is any doubtreview the kernel documentation in the directory /usr/src/linux/Documentation.This chapter is heavily based on the documentation included in the pre 2.2kernels, and became part of it in version 2.2.1 of the Linux kernel.2.1 /proc/sys/fs - File system data-----------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -