|
|
|
|
NOTE: CentOS Enterprise Linux is built from the Red Hat Enterprise Linux source code. Other than logo and name changes CentOS Enterprise Linux is compatible with the equivalent Red Hat version. This document applies equally to both Red Hat and CentOS Enterprise Linux.
Below is a list of some of the more useful virtual files in the
top-level of the /proc/ directory.
|
Note |
|
In most cases, the content of the files listed in this section
are not the same as those installed on your machine. This is
because much of the information is specific to the hardware on
which Red Hat Enterprise Linux is running for this documentation
effort.
|
This file provides information about the state of the Advanced Power Management (APM) system and is used
by the apm command. If a system with no
battery is connected to an AC power source, this virtual file would
look similar to the following:
1.16 1.2 0x07 0x01 0xff 0x80 -1% -1 ?
|
Running the apm -v command on such a
system results in output similar to the following:
APM BIOS 1.2 (kernel driver 1.16ac)
AC on-line, no system battery
|
For systems which do not use a battery as a power source,
apm is able do little more than put the
machine in standby mode. The apm command
is much more useful on laptops. For example, the following output
is from the command cat /proc/apm on a
laptop while plugged into a power outlet:
1.16 1.2 0x03 0x01 0x03 0x09 100% -1 ?
|
When the same laptop is unplugged from its power source for a
few minutes, the content of the apm file
changes to something like the following:
1.16 1.2 0x03 0x00 0x00 0x01 99% 1792 min
|
The apm -v command now yields more
useful data, such as the following:
APM BIOS 1.2 (kernel driver 1.16)
AC off-line, battery status high: 99% (1 day, 5:52)
|
This file is used primarily for diagnosing memory fragmentation
issues. Using the buddy algorithm, each column represents the
number of pages of a certain order (a certain size) that are
available at any given time. For example, for zone DMA (direct
memory access), there are 90 of 2^(0*PAGE_SIZE) chunks of memory.
Similarly, there are 6 of 2^(1*PAGE_SIZE) chunks, and 2 of
2^(2*PAGE_SIZE) chunks of memory available.
The DMA row references the first 16 MB
on a system, the HighMem row references
all memory greater than 4 GB on a system, and the Normal row references all memory in between.
The following is an example of the output typical of /proc/buddyinfo:
Node 0, zone DMA 90 6 2 1 1 ...
Node 0, zone Normal 1650 310 5 0 0 ...
Node 0, zone HighMem 2 0 0 1 1 ...
|
This file shows the parameters passed to the kernel at the time
it is started. A sample /proc/cmdline
file looks like the following:
ro root=/dev/VolGroup00/LogVol00 rhgb quiet 3
|
This tells us that the kernel is mounted read-only (signified by
(ro)), located on the first
logical volume (LogVol00) of
the first volume group (/dev/VolGroup00). LogVol00 is the equivalent of a disk
partition in a non-LVM system (Logical Volume Management), just as
/dev/VolGroup00 is similar in
concept to /dev/hda1, but much more
extensible.
For more information on LVM used in Red Hat Enterprise Linux,
refer to https://www.tldp.org/HOWTO/LVM-HOWTO/index.html.
Next, rhgb signals that the
rhgb package has been installed, and
graphical booting is supported, assuming /etc/inittab shows a default runlevel set to
id:5:initdefault:.
Finally, quiet indicates all
verbose kernel messages are suppressed at boot time.
This virtual file identifies the type of processor used by your
system. The following is an example of the output typical of
/proc/cpuinfo:
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Xeon(TM) CPU 2.40GHz
stepping : 7
cpu MHz : 2392.371
cache size : 512 KB
physical id : 0
siblings : 2
runqueue : 0
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 sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips : 4771.02
|
-
processor — Provides
each processor with an identifying number. On systems that have one
processor, only a 0 is
present.
-
cpu family —
Authoritatively identifies the type of processor in the system. For
an Intel-based system, place the number in front of "86" to
determine the value. This is particularly helpful for those
attempting to identify the architecture of an older system such as
a 586, 486, or 386. Because some RPM packages are compiled for each
of these particular architectures, this value also helps users
determine which packages to install.
-
model name — Displays
the common name of the processor, including its project name.
-
cpu MHz — Shows the
precise speed in megahertz for the processor to the thousandths
decimal place.
-
cache size — Displays
the amount of level 2 memory cache available to the processor.
-
siblings — Displays
the number of sibling CPUs on the same physical CPU for
architectures which use hyper-threading.
-
flags — Defines a
number of different qualities about the processor, such as the
presence of a floating point unit (FPU) and the ability to process
MMX instructions.
This file lists all installed cryptographic ciphers used by the
Linux kernel, including additional details for each. A sample
/proc/crypto file looks like the
following:
name : sha1
module : kernel
type : digest
blocksize : 64
digestsize : 20
name : md5
module : md5
type : digest
blocksize : 64
digestsize : 16
|
This file displays the various character and block devices
currently configured (not including devices whose modules are not
loaded). Below is a sample output from this file:
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
29 fb
36 netlink
128 ptm
136 pts
180 usb
Block devices:
1 ramdisk
3 ide0
9 md
22 ide1
253 device-mapper
254 mdp
|
The output from /proc/devices includes
the major number and name of the device, and is broken into two
major sections: Character
devices and Block
devices.
Character devices are similar to
block devices, except for two basic
differences:
-
Character devices do not require buffering. Block devices have a
buffer available, allowing them to order requests before addressing
them. This is important for devices designed to store information
— such as hard drives — because the ability to order
the information before writing it to the device allows it to be
placed in a more efficient order.
-
Character devices send data with no preconfigured size. Block
devices can send and receive information in blocks of a size
configured per device.
For more information about devices refer to the following
installed documentation:
/usr/share/doc/kernel-doc-<version>/Documentation/devices.txt
|
This file contains a list of the registered ISA DMA channels in
use. A sample /proc/dma files looks like
the following:
This file lists the execution domains
currently supported by the Linux kernel, along with the range of
personalities they support.
Think of execution domains as the "personality" for an operating
system. Because other binary formats, such as Solaris, UnixWare,
and FreeBSD, can be used with Linux, programmers can change the way
the operating system treats system calls from these binaries by
changing the personality of the task. Except for the PER_LINUX execution domain, different
personalities can be implemented as dynamically loadable
modules.
This file contains a list of frame buffer devices, with the
frame buffer device number and the driver that controls it. Typical
output of /proc/fb for systems which
contain frame buffer devices looks similar to the following:
This file displays a list of the file system types currently
supported by the kernel. Sample output from a generic /proc/filesystems file looks similar to the
following:
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
ext3
nodev rpc_pipefs
nodev autofs
|
The first column signifies whether the file system is mounted on
a block device. Those beginning with nodev are not mounted on a device. The
second column lists the names of the file systems supported.
The mount command cycles through the
file systems listed here when one is not specified as an
argument.
This file records the number of interrupts per IRQ on the x86
architecture. A standard /proc/interrupts
looks similar to the following:
CPU0
0: 80448940 XT-PIC timer
1: 174412 XT-PIC keyboard
2: 0 XT-PIC cascade
8: 1 XT-PIC rtc
10: 410964 XT-PIC eth0
12: 60330 XT-PIC PS/2 Mouse
14: 1314121 XT-PIC ide0
15: 5195422 XT-PIC ide1
NMI: 0
ERR: 0
|
For a multi-processor machine, this file may look slightly
different:
CPU0 CPU1
0: 1366814704 0 XT-PIC timer
1: 128 340 IO-APIC-edge keyboard
2: 0 0 XT-PIC cascade
8: 0 1 IO-APIC-edge rtc
12: 5323 5793 IO-APIC-edge PS/2 Mouse
13: 1 0 XT-PIC fpu
16: 11184294 15940594 IO-APIC-level Intel EtherExpress Pro 10/100 Ethernet
20: 8450043 11120093 IO-APIC-level megaraid
30: 10432 10722 IO-APIC-level aic7xxx
31: 23 22 IO-APIC-level aic7xxx
NMI: 0
ERR: 0
|
The first column refers to the IRQ number. Each CPU in the
system has its own column and its own number of interrupts per IRQ.
The next column reports the type of interrupt, and the last column
contains the name of the device that is located at that IRQ.
Each of the types of interrupts seen in this file, which are
architecture-specific, mean something different. For x86 machines,
the following values are common:
-
XT-PIC — This is the
old AT computer interrupts.
-
IO-APIC-edge — The
voltage signal on this interrupt transitions from low to high,
creating an edge, where the interrupt
occurs and is only signaled once. This kind of interrupt, as well
as the IO-APIC-level interrupt,
are only seen on systems with processors from the 586 family and
higher.
-
IO-APIC-level —
Generates interrupts when its voltage signal is high until the
signal is low again.
This file shows you the current map of the system's memory for
each physical device:
00000000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000f0000-000fffff : System ROM
00100000-07ffffff : System RAM
00100000-00291ba8 : Kernel code
00291ba9-002e09cb : Kernel data
e0000000-e3ffffff : VIA Technologies, Inc. VT82C597 [Apollo VP3]
e4000000-e7ffffff : PCI Bus #01
e4000000-e4003fff : Matrox Graphics, Inc. MGA G200 AGP
e5000000-e57fffff : Matrox Graphics, Inc. MGA G200 AGP
e8000000-e8ffffff : PCI Bus #01
e8000000-e8ffffff : Matrox Graphics, Inc. MGA G200 AGP
ea000000-ea00007f : Digital Equipment Corporation DECchip 21140 [FasterNet]
ea000000-ea00007f : tulip
ffff0000-ffffffff : reserved
|
The first column displays the memory registers used by each of
the different types of memory. The second column lists the kind of
memory located within those registers and displays which memory
registers are used by the kernel within the system RAM or, if the
network interface card has multiple Ethernet ports, the memory
registers assigned for each port.
The output of /proc/ioports provides a
list of currently registered port regions used for input or output
communication with a device. This file can be quite long. The
following is a partial listing:
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
02f8-02ff : serial(auto)
0376-0376 : ide1
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial(auto)
0cf8-0cff : PCI conf1
d000-dfff : PCI Bus #01
e000-e00f : VIA Technologies, Inc. Bus Master IDE
e000-e007 : ide0
e008-e00f : ide1
e800-e87f : Digital Equipment Corporation DECchip 21140 [FasterNet]
e800-e87f : tulip
|
The first column gives the I/O port address range reserved for
the device listed in the second column.
This file represents the physical memory of the system and is
stored in the core file format. Unlike most /proc/ files, kcore
displays a size. This value is given in bytes and is equal to the
size of the physical memory (RAM) used plus 4 KB.
The contents of this file are designed to be examined by a
debugger, such as gdb, and is not human
readable.
|
Caution |
|
Do not view the /proc/kcore virtual
file. The contents of the file scramble text output on the
terminal. If this file is accidentally viewed, press [Ctrl]-[C] to stop the
process and then type reset to bring back
the command line prompt.
|
This file is used to hold messages generated by the kernel.
These messages are then picked up by other programs, such as
/sbin/klogd or /bin/dmesg.
This file provides a look at the load average in regard to both
the CPU and IO over time, as well as additional data used by
uptime and other commands. A sample
/proc/loadavg file looks similar to the
following:
0.20 0.18 0.12 1/80 11206
|
The first three columns measure CPU and IO utilization of the
last one, five, and 10 minute periods. The fourth column shows the
number of currently running processes and the total number of
processes. The last column displays the last process ID used.
This file displays the files currently locked by the kernel. The
contents of this file contain internal kernel debugging data and
can vary tremendously, depending on the use of the system. A sample
/proc/locks file for a lightly loaded
system looks similar to the following:
1: POSIX ADVISORY WRITE 3568 fd:00:2531452 0 EOF
2: FLOCK ADVISORY WRITE 3517 fd:00:2531448 0 EOF
3: POSIX ADVISORY WRITE 3452 fd:00:2531442 0 EOF
4: POSIX ADVISORY WRITE 3443 fd:00:2531440 0 EOF
5: POSIX ADVISORY WRITE 3326 fd:00:2531430 0 EOF
6: POSIX ADVISORY WRITE 3175 fd:00:2531425 0 EOF
7: POSIX ADVISORY WRITE 3056 fd:00:2548663 0 EOF
|
Each lock has its own line which starts with a unique number.
The second column refers to the class of lock used, with
FLOCK signifying the
older-style UNIX file locks from a flock
system call and POSIX
representing the newer POSIX locks from the lockf system call.
The third column can have two values: ADVISORY or MANDATORY. ADVISORY means that the lock does not
prevent other people from accessing the data; it only prevents
other attempts to lock it. MANDATORY means that no other access to the
data is permitted while the lock is held. The fourth column reveals
whether the lock is allowing the holder READ or WRITE access to the file. The fifth column
shows the ID of the process holding the lock. The sixth column
shows the ID of the file being locked, in the format of
MAJOR-DEVICE:MINOR-DEVICE:INODE-NUMBER. The seventh and eighth
column shows the start and end of the file's locked region.
This file contains the current information for multiple-disk,
RAID configurations. If the system does not contain such a
configuration, then /proc/mdstat looks
similar to the following:
Personalities :
read_ahead not set
unused devices: <none>
|
This file remains in the same state as seen above unless a
software RAID or md device is present. In
that case, view /proc/mdstat to find the
current status of mdX RAID devices.
The /proc/mdstat file below shows a
system with its md0 configured as a RAID
1 device, while it is currently re-syncing the disks:
Personalities : [linear] [raid1]
read_ahead 1024 sectors
md0: active raid1 sda2[1] sdb2[0] 9940 blocks [2/2] [UU] resync=1% finish=12.3min
algorithm 2 [3/3] [UUU]
unused devices: <none>
|
This is one of the more commonly used files in the /proc/ directory, as it reports a large amount of
valuable information about the systems RAM usage.
The following sample /proc/meminfo
virtual file is from a system with 256 MB of RAM and 512 MB of swap
space:
MemTotal: 255908 kB
MemFree: 69936 kB
Buffers: 15812 kB
Cached: 115124 kB
SwapCached: 0 kB
Active: 92700 kB
Inactive: 63792 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 255908 kB
LowFree: 69936 kB
SwapTotal: 524280 kB
SwapFree: 524280 kB
Dirty: 4 kB
Writeback: 0 kB
Mapped: 42236 kB
Slab: 25912 kB
Committed_AS: 118680 kB
PageTables: 1236 kB
VmallocTotal: 3874808 kB
VmallocUsed: 1416 kB
VmallocChunk: 3872908 kB
HugePages_Total: 0
HugePages_Free: 0
Hugepagesize: 4096 kB
|
Much of the information here is used by the free, top, and ps commands. In fact, the output of the free command is similar in appearance to the
contents and structure of /proc/meminfo.
But by looking directly at /proc/meminfo,
more details are revealed:
-
MemTotal — Total
amount of physical RAM, in kilobytes.
-
MemFree — The amount
of physical RAM, in kilobytes, left unused by the system.
-
Buffers — The amount
of physical RAM, in kilobytes, used for file buffers.
-
Cached — The amount of
physical RAM, in kilobytes, used as cache memory.
-
SwapCached — The
amount of swap, in kilobytes, used as cache memory.
-
Active — The total
amount of buffer or page cache memory, in kilobytes, that is in
active use. This is memory that has been recently used and is
usually not reclaimed for other purposes.
-
Inactive — The total
amount of buffer or page cache memory, in kilobytes, that are free
and available. This is memory that has not been recently used and
can be reclaimed for other purposes.
-
HighTotal and HighFree — The total and free amount
of memory, in kilobytes, that is not directly mapped into kernel
space. The HighTotal value can
vary based on the type of kernel used.
-
LowTotal and LowFree — The total and free amount
of memory, in kilobytes, that is directly mapped into kernel space.
The LowTotal value can vary
based on the type of kernel used.
-
SwapTotal — The total
amount of swap available, in kilobytes.
-
SwapFree — The total
amount of swap free, in kilobytes.
-
Dirty — The total
amount of memory, in kilobytes, waiting to be written back to the
disk.
-
Writeback — The total
amount of memory, in kilobytes, actively being written back to the
disk.
-
Mapped — The total
amount of memory, in kilobytes, which have been used to map
devices, files, or libraries using the mmap command.
-
Slab — The total
amount of memory, in kilobytes, used by the kernel to cache data
structures for its own use.
-
Committed_AS — The
total amount of memory, in kilobytes, estimated to complete the
workload. This value represents the worst case scenario value, and
also includes swap memory.
-
PageTables — The total
amount of memory, in kilobytes, dedicated to the lowest page table
level.
-
VMallocTotal — The
total amount of memory, in kilobytes, of total allocated virtual
address space.
-
VMallocUsed — The
total amount of memory, in kilobytes, of used virtual address
space.
-
VMallocChunk — The
largest contiguous block of memory, in kilobytes, of available
virtual address space.
-
HugePages_Total — The
total number of hugepages for the system. The number is derived by
dividing Hugepagesize by the
megabytes set aside for hugepages specified in /proc/sys/vm/hugetlb_pool. This
statistic only appears on the x86, Itanium, and AMD64
architectures.
-
HugePages_Free — The
total number of hugepages available for the system. This statistic only appears on the x86, Itanium, and
AMD64 architectures.
-
Hugepagesize — The
size for each hugepages unit in kilobytes. By default, the value is
4096 KB on uniprocessor kernels for 32 bit architectures. For SMP,
hugemem kernels, and AMD64, the default is 2048 KB. For Itanium
architectures, the default is 262144 KB. This
statistic only appears on the x86, Itanium, and AMD64
architectures.
This file lists miscellaneous drivers registered on the
miscellaneous major device, which is device number 10:
63 device-mapper
175 agpgart
135 rtc
134 apm_bios
|
The first column is the minor number of each device, while the
second column shows the driver in use.
This file displays a list of all modules loaded into the kernel.
Its contents vary based on the configuration and use of your
system, but it should be organized in a similar manner to this
sample /proc/modules file output:
|
Note |
|
This example has been reformatted into a readable format. Most
of this information can also be viewed via the /sbin/lsmod command.
|
nfs 170109 0 - Live 0x129b0000
lockd 51593 1 nfs, Live 0x128b0000
nls_utf8 1729 0 - Live 0x12830000
vfat 12097 0 - Live 0x12823000
fat 38881 1 vfat, Live 0x1287b000
autofs4 20293 2 - Live 0x1284f000
sunrpc 140453 3 nfs,lockd, Live 0x12954000
3c59x 33257 0 - Live 0x12871000
uhci_hcd 28377 0 - Live 0x12869000
md5 3777 1 - Live 0x1282c000
ipv6 211845 16 - Live 0x128de000
ext3 92585 2 - Live 0x12886000
jbd 65625 1 ext3, Live 0x12857000
dm_mod 46677 3 - Live 0x12833000
|
The first column contains the name of the module.
The second column refers to the memory size of the module, in
bytes.
The third column lists how many instances of the module are
currently loaded. A value of zero represents an unloaded
module.
The fourth column states if the module depends upon another
module to be present in order to function, and lists those other
modules.
The fifth column lists what load state the module is in:
Live, Loading, or
Unloading are the only possible
values.
The sixth column lists the current kernel memory offset for the
loaded module. This information can be useful for debugging
purposes, or for profiling tools such as oprofile.
This file provides a list of all mounts in use by the
system:
rootfs / rootfs rw 0 0
/proc /proc proc rw,nodiratime 0 0
none /dev ramfs rw 0 0
/dev/mapper/VolGroup00-LogVol00 / ext3 rw 0 0
none /dev ramfs rw 0 0
/proc /proc proc rw,nodiratime 0 0
/sys /sys sysfs rw 0 0
none /dev/pts devpts rw 0 0
usbdevfs /proc/bus/usb usbdevfs rw 0 0
/dev/hda1 /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
|
The output found here is similar to the contents of /etc/mtab, except that /proc/mount is more up-to-date.
The first column specifies the device that is mounted, the
second column reveals the mount point, and the third column tells
the file system type, and the fourth column tells you if it is
mounted read-only (ro) or
read-write (rw). The fifth and
sixth columns are dummy values designed to match the format used in
/etc/mtab.
This file refers to the current Memory Type Range Registers
(MTRRs) in use with the system. If the system architecture supports
MTRRs, then the /proc/mtrr file may look
similar to the following:
reg00: base=0x00000000 ( 0MB), size= 256MB: write-back, count=1
reg01: base=0xe8000000 (3712MB), size= 32MB: write-combining, count=1
|
MTRRs are used with the Intel P6 family of processors (Pentium
II and higher) and control processor access to memory ranges. When
using a video card on a PCI or AGP bus, a properly configured
/proc/mtrr file can increase performance
more than 150%.
Most of the time, this value is properly configured by default.
More information on manually configuring this file can be found
locally at the following location:
/usr/share/doc/kernel-doc-<version>/Documentation/mtrr.txt
|
This file contains partition block allocation information. A
sampling of this file from a basic system looks similar to the
following:
major minor #blocks name
3 0 19531250 hda
3 1 104391 hda1
3 2 19422585 hda2
253 0 22708224 dm-0
253 1 524288 dm-1
|
Most of the information here is of little importance to the
user, except for the following columns:
-
major — The major
number of the device with this partition. The major number in the
/proc/partitions, (3), corresponds with the block device
ide0, in /proc/devices.
-
minor — The minor
number of the device with this partition. This serves to separate
the partitions into different physical devices and relates to the
number at the end of the name of the partition.
-
#blocks — Lists the
number of physical disk blocks contained in a particular
partition.
-
name — The name of the
partition.
This file contains a full listing of every PCI device on the
system. Depending on the number of PCI devices, /proc/pci can be rather long. A sampling of this
file from a basic system looks similar to the following:
Bus 0, device 0, function 0:
Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge (rev 3).
Master Capable. Latency=64.
Prefetchable 32 bit memory at 0xe4000000 [0xe7ffffff].
Bus 0, device 1, function 0:
PCI bridge: Intel Corporation 440BX/ZX - 82443BX/ZX AGP bridge (rev 3).
Master Capable. Latency=64. Min Gnt=128.
Bus 0, device 4, function 0:
ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 2).
Bus 0, device 4, function 1:
IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 1).
Master Capable. Latency=32.
I/O at 0xd800 [0xd80f].
Bus 0, device 4, function 2:
USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 1).
IRQ 5.
Master Capable. Latency=32.
I/O at 0xd400 [0xd41f].
Bus 0, device 4, function 3:
Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 2).
IRQ 9.
Bus 0, device 9, function 0:
Ethernet controller: Lite-On Communications Inc LNE100TX (rev 33).
IRQ 5.
Master Capable. Latency=32.
I/O at 0xd000 [0xd0ff].
Non-prefetchable 32 bit memory at 0xe3000000 [0xe30000ff].
Bus 0, device 12, function 0:
VGA compatible controller: S3 Inc. ViRGE/DX or /GX (rev 1).
IRQ 11.
Master Capable. Latency=32. Min Gnt=4.Max Lat=255.
Non-prefetchable 32 bit memory at 0xdc000000 [0xdfffffff].
|
This output shows a list of all PCI devices, sorted in the order
of bus, device, and function. Beyond providing the name and version
of the device, this list also gives detailed IRQ information so an
administrator can quickly look for conflicts.
|
Tip |
|
To get a more readable version of this information, type:
|
This file gives full information about memory usage on the
slab level. Linux kernels greater than
version 2.2 use slab pools to manage
memory above the page level. Commonly used objects have their own
slab pools.
Instead of parsing the highly verbose /proc/slabinfo file manually, the /usr/bin/slabtop program displays kernel slab cache
information in real time. This program allows for custom
configurations, including column sorting and screen refreshing.
A sample screen shot of /usr/bin/slabtop usually looks like the following
example:
Active / Total Objects (% used) : 133629 / 147300 (90.7%)
Active / Total Slabs (% used) : 11492 / 11493 (100.0%)
Active / Total Caches (% used) : 77 / 121 (63.6%)
Active / Total Size (% used) : 41739.83K / 44081.89K (94.7%)
Minimum / Average / Maximum Object : 0.01K / 0.30K / 128.00K
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
44814 43159 96% 0.62K 7469 6 29876K ext3_inode_cache
36900 34614 93% 0.05K 492 75 1968K buffer_head
35213 33124 94% 0.16K 1531 23 6124K dentry_cache
7364 6463 87% 0.27K 526 14 2104K radix_tree_node
2585 1781 68% 0.08K 55 47 220K vm_area_struct
2263 2116 93% 0.12K 73 31 292K size-128
1904 1125 59% 0.03K 16 119 64K size-32
1666 768 46% 0.03K 14 119 56K anon_vma
1512 1482 98% 0.44K 168 9 672K inode_cache
1464 1040 71% 0.06K 24 61 96K size-64
1320 820 62% 0.19K 66 20 264K filp
678 587 86% 0.02K 3 226 12K dm_io
678 587 86% 0.02K 3 226 12K dm_tio
576 574 99% 0.47K 72 8 288K proc_inode_cache
528 514 97% 0.50K 66 8 264K size-512
492 372 75% 0.09K 12 41 48K bio
465 314 67% 0.25K 31 15 124K size-256
452 331 73% 0.02K 2 226 8K biovec-1
420 420 100% 0.19K 21 20 84K skbuff_head_cache
305 256 83% 0.06K 5 61 20K biovec-4
290 4 1% 0.01K 1 290 4K revoke_table
264 264 100% 4.00K 264 1 1056K size-4096
260 256 98% 0.19K 13 20 52K biovec-16
260 256 98% 0.75K 52 5 208K biovec-64
|
Some of the more commonly used statistics in /proc/slabinfo that are included into /usr/bin/slabtop include:
-
OBJS — The total
number of objects (memory blocks), including those in use
(allocated), and some spares not in use.
-
ACTIVE — The number of
objects (memory blocks) that are in use (allocated).
-
USE — Percentage of
total objects that are active. ((ACTIVE/OBJS)(100))
-
OBJ SIZE — The size of
the objects.
-
SLABS — The total
number of slabs.
-
OBJ/SLAB — The number
of objects that fit into a slab.
-
CACHE SIZE — The cache
size of the slab.
-
NAME — The name of the
slab.
For more information on the /usr/bin/slabtop program, refer to the slabtop man page.
This file keeps track of a variety of different statistics about
the system since it was last restarted. The contents of /proc/stat, which can be quite long, usually begins
like the following example:
cpu 259246 7001 60190 34250993 137517 772 0
cpu0 259246 7001 60190 34250993 137517 772 0
intr 354133732 347209999 2272 0 4 4 0 0 3 1 1249247 0 0 80143 0 422626 5169433
ctxt 12547729
btime 1093631447
processes 130523
procs_running 1
procs_blocked 0
preempt 5651840
cpu 209841 1554 21720 118519346 72939 154 27168
cpu0 42536 798 4841 14790880 14778 124 3117
cpu1 24184 569 3875 14794524 30209 29 3130
cpu2 28616 11 2182 14818198 4020 1 3493
cpu3 35350 6 2942 14811519 3045 0 3659
cpu4 18209 135 2263 14820076 12465 0 3373
cpu5 20795 35 1866 14825701 4508 0 3615
cpu6 21607 0 2201 14827053 2325 0 3334
cpu7 18544 0 1550 14831395 1589 0 3447
intr 15239682 14857833 6 0 6 6 0 5 0 1 0 0 0 29 0 2 0 0 0 0 0 0 0 94982 0 286812
ctxt 4209609
btime 1078711415
processes 21905
procs_running 1
procs_blocked 0
|
Some of the more commonly used statistics include:
-
cpu — Measures the
number of jiffies (1/100 of a second for
x86 systems) that the system has been in user mode, user mode with
low priority (nice), system mode, idle task, I/O wait, IRQ
(hardirq), and softirq respectively. The IRQ (hardirq) is the
direct response to a hardware event. The IRQ takes minimal work for
queuing the "heavy" work up for the softirq to execute. The softirq
runs at a lower priority than the IRQ and therefore may be
interrupted more frequently. The total for all CPUs is given at the
top, while each individual CPU is listed below with its own
statistics. The following example is a 4-way Intel Pentium Xeon
configuration with multi-threading enabled, therefore showing four
physical processors and four virtual processors totaling eight
processors.
-
page — The number of
memory pages the system has written in and out to disk.
-
swap — The number of
swap pages the system has brought in and out.
-
intr — The number of
interrupts the system has experienced.
-
btime — The boot time,
measured in the number of seconds since January 1, 1970, otherwise
known as the epoch.
This file measures swap space and its utilization. For a system
with only one swap partition, the output of /proc/swap may look similar to the following:
Filename Type Size Used Priority
/dev/mapper/VolGroup00-LogVol01 partition 524280 0 -1
|
While some of this information can be found in other files in
the /proc/ directory, /proc/swap provides a snapshot of every swap file
name, the type of swap space, the total size, and the amount of
space in use (in kilobytes). The priority column is useful when
multiple swap files are in use. The lower the priority, the more
likely the swap file is to be used.
Using the echo command to write to this
file, a remote root user can execute most System Request Key
commands remotely as if at the local terminal. To echo values to this file, the /proc/sys/kernel/sysrq must be set to a value other
than 0. For more information
about the System Request Key, refer to Section 5.3.9.3
/proc/sys/kernel/.
Although it is possible to write to this file, it cannot be
read, even by the root user.
This file contains information detailing how long the system has
been on since its last restart. The output of /proc/uptime is quite minimal:
The first number is the total number of seconds the system has
been up. The second number is how much of that time the machine has
spent idle, in seconds.
This file specifies the version of the Linux kernel and
gcc in use, as well as the version of Red
Hat Enterprise Linux installed on the system:
Linux version 2.6.8-1.523 ([email protected]) (gcc version 3.4.1 20040714 \
(Red Hat Enterprise Linux 3.4.1-7)) #1 Mon Aug 16 13:27:03 EDT 2004
|
This information is used for a variety of purposes, including
the version data presented when a user logs in.
|
|
|