]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man5/proc.5
Import of man-pages 1.70
[thirdparty/man-pages.git] / man5 / proc.5
CommitLineData
fea681da
MK
1.\" Copyright (C) 1994, 1995 by Daniel Quinlan (quinlan@yggdrasil.com)
2.\" with networking additions from Alan Cox (A.Cox@swansea.ac.uk)
3.\" and scsi additions from Michael Neuffer (neuffer@mail.uni-mainz.de)
4.\" and sysctl additions from Andries Brouwer (aeb@cwi.nl)
5.\" and System V IPC (as well as various other) additions from
6.\" Michael Kerrisk (mtk16@ext.canterbury.ac.nz)
7.\"
8.\" This is free documentation; you can redistribute it and/or
9.\" modify it under the terms of the GNU General Public License as
10.\" published by the Free Software Foundation; either version 2 of
11.\" the License, or (at your option) any later version.
12.\"
13.\" The GNU General Public License's references to "object code"
14.\" and "executables" are to be interpreted as the output of any
15.\" document formatting or typesetting system, including
16.\" intermediate and printed output.
17.\"
18.\" This manual is distributed in the hope that it will be useful,
19.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
20.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21.\" GNU General Public License for more details.
22.\"
23.\" You should have received a copy of the GNU General Public
24.\" License along with this manual; if not, write to the Free
25.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
26.\" USA.
27.\"
28.\" Modified 1995-05-17 by faith@cs.unc.edu
29.\" Minor changes by aeb and Marty Leisner (leisner@sdsp.mc.xerox.com).
30.\" Modified 1996-04-13, 1996-07-22 by aeb@cwi.nl
31.\" Modified 2001-12-16 by rwhron@earthlink.net
32.\" Modified 2002-07-13 by jbelton@shaw.ca
33.\" Modified 2002-07-22, 2003-05-27, 2004-04-06, 2004-05-25
34.\" by Michael Kerrisk <mtk16@ext.canterbury.ac.nz>
35.\"
36.TH PROC 5 2004-05-25 "" "Linux Programmer's Manual"
37.SH NAME
38proc \- process information pseudo-filesystem
39
40.SH DESCRIPTION
41The
42.I proc
43filesystem is a pseudo-filesystem which is used as an interface to
44kernel data structures. It is commonly mounted at
45.IR /proc .
46Most of it is read-only, but some files allow kernel variables to be
47changed.
48.LP
49The following outline gives a quick tour through the /proc hierarchy.
50.PD 1
51.TP
52.I /proc/[number]
53There is a numerical subdirectory for each running process; the
54subdirectory is named by the process ID.
55Each such subdirectory contains the following
56pseudo-files and directories.
57.TP
58.I /proc/[number]/cmdline
59This holds the complete command line for the process, unless the whole
60process has been swapped out or the process is a zombie. In
61either of these latter cases, there is nothing in this file: i.e. a
62read on this file will return 0 characters.
63The command line arguments appear in this file as a set of
64null-separated strings, with a further null byte after the last string.
65.TP
66.I /proc/[number]/cwd
67This is a link to the current working directory of the process. To find
68out
69the cwd of process 20, for instance, you can do this:
70
71.br
72.nf
73.ft CW
74cd /proc/20/cwd; /bin/pwd
75.fi
76.ft
77
78Note that the pwd command is often a shell builtin, and might
79not work properly. In bash, you may use pwd -P.
80.TP
81.I /proc/[number]/environ
82This file contains the environment for the process.
83The entries are separated by null characters,
84and there may be a null character at the end.
85Thus, to print out the environment of process 1, you would do:
86
87.br
88.nf
89.ft CW
90(cat /proc/1/environ; echo) | tr "\\000" "\\n"
91.fi
92.ft P
93
94(For a reason why one should want to do this, see
95.BR lilo (8).)
96.TP
97.I /proc/[number]/exe
98Under Linux 2.2 and later, this file is a symbolic link
99containing the actual path name of the executed command.
100This symbolic link can be dereferenced normally - attempting to open
101it will open the executable. You can even type
102.I /proc/[number]/exe
103to run another copy of the same process as [number].
104
105Under Linux 2.0 and earlier
106.I /proc/[number]/exe
107is a pointer to the binary which was executed,
108and appears as a symbolic link. A
109.BR readlink (2)
110call on this file under Linux 2.0 returns a string in the format:
111
112[device]:inode
113
114For example, [0301]:1502 would be inode 1502 on device major 03 (IDE,
115MFM, etc. drives) minor 01 (first partition on the first drive).
116
117.BR find (1)
118with the -inum option can be used to locate the file.
119.TP
120.I /proc/[number]/fd
121This is a subdirectory containing one entry for each file which the
122process has open, named by its file descriptor, and which is a
123symbolic link to the actual file. Thus, 0 is
124standard input, 1 standard output, 2 standard error, etc.
125
126Programs that will take a filename, but will not take the standard
127input, and which write to a file, but will not send their output to
128standard output, can be effectively foiled this way, assuming that -i
129is the flag designating an input file and -o is the flag designating
130an output file:
131.br
132.nf
133
134\f(CWfoobar -i /proc/self/fd/0 -o /proc/self/fd/1 ...\fR
135
136.fi
137.br
138and you have a working filter.
139.\" The following is not true in my tests (MTK):
140.\" Note that this will not work for
141.\" programs that seek on their files, as the files in the fd directory
142.\" are not seekable.
143
144/proc/self/fd/N is approximately the same as /dev/fd/N in some UNIX
145and UNIX-like systems. Most Linux MAKEDEV scripts symbolically link
146/dev/fd to /proc/self/fd, in fact.
147.TP
148.I /proc/[number]/maps
149A file containing the currently mapped memory regions and their access
150permissions.
151
152The format is:
153
154.nf
155.ft CW
156.in 8n
157address perms offset dev inode pathname
15808048000-08056000 r-xp 00000000 03:0c 64593 /usr/sbin/gpm
15908056000-08058000 rw-p 0000d000 03:0c 64593 /usr/sbin/gpm
16008058000-0805b000 rwxp 00000000 00:00 0
16140000000-40013000 r-xp 00000000 03:0c 4165 /lib/ld-2.2.4.so
16240013000-40015000 rw-p 00012000 03:0c 4165 /lib/ld-2.2.4.so
1634001f000-40135000 r-xp 00000000 03:0c 45494 /lib/libc-2.2.4.so
16440135000-4013e000 rw-p 00115000 03:0c 45494 /lib/libc-2.2.4.so
1654013e000-40142000 rw-p 00000000 00:00 0
166bffff000-c0000000 rwxp 00000000 00:00 0
167.ft
168.fi
169.in
170
171where address is the address space in the process that it occupies,
172perms is a set of permissions:
173
174.nf
175.in +5
176r = read
177w = write
178x = execute
179s = shared
180p = private (copy on write)
181.fi
182.in
183
184offset is the offset into the file/whatever, dev is the device
185(major:minor), and inode is the inode on that device. 0 indicates
186that no inode is associated with the memory region, as the case would
187be with bss.
188
189Under Linux 2.0 there is no field giving pathname.
190.TP
191.I /proc/[number]/mem
192This file can be used to access the pages of a process's memory through
193.BR open (2),
194.BR read (2),
195and
196.BR fseek (3).
197.TP
198.I /proc/[number]/root
199Unix and Linux support the idea of a per-process root of the
200filesystem, set by the
201.BR chroot (2)
202system call. This file is a symbolic link that points to the process's
203root directory, and behaves as exe, fd/*, etc. do.
204.TP
205.I /proc/[number]/stat
206Status information about the process. This is used by
207.BR ps (1).
208It is defined in
209.IR /usr/src/linux/fs/proc/array.c "."
210
211The fields, in order, with their proper
212.BR scanf (3)
213format specifiers, are:
214.RS
215.TP
216\fIpid\fP %d
217The process id.
218.TP
219\fIcomm\fP %s
220The filename of the executable, in parentheses. This is visible
221whether or not the executable is swapped out.
222.TP
223\fIstate\fP %c
224One character from the string "RSDZTW" where R is running, S is
225sleeping in an interruptible wait, D is waiting in uninterruptible
226disk sleep, Z is zombie, T is traced or stopped (on a signal),
227and W is paging.
228.TP
229\fIppid\fP %d
230The PID of the parent.
231.TP
232\fIpgrp\fP %d
233The process group ID of the process.
234.TP
235\fIsession\fP %d
236The session ID of the process.
237.TP
238.\" tty_nr needs better explanation.
239\fItty_nr\fP %d
240The tty the process uses.
241.TP
242\fItpgid\fP %d
243.\" This field and following, up to and including wchan added 0.99.1
244The process group ID of the process which currently owns the tty that
245the process is connected to.
246.TP
247\fIflags\fP %lu
248The kernel flags word of the process. For bit meanings,
249see the PF_* defines in
250.IR <linux/sched.h> .
251Details depend on the kernel version.
252.TP
253\fIminflt\fP %lu
254The number of minor faults the process has made which have not
255required loading a memory page from disk.
256.TP
257\fIcminflt\fP %lu
258The number of minor faults that the process's
259waited-for children have made.
260.TP
261\fImajflt\fP %lu
262The number of major faults the process has made which have
263required loading a memory page from disk.
264.TP
265\fIcmajflt\fP %lu
266The number of major faults that the process's
267waited-for children have made.
268.TP
269\fIutime\fP %lu
270The number of jiffies that this process has been scheduled in user
271mode.
272.TP
273\fIstime\fP %lu
274The number of jiffies that this process has been scheduled in kernel
275mode.
276.TP
277\fIcutime\fP %ld
278The number of jiffies that this process's
279waited-for children have been scheduled in user mode. (See also
280.BR times (2).)
281.TP
282\fIcstime\fP %ld
283The number of jiffies that this process's
284waited-for children have been scheduled in kernel mode.
285.TP
286\fIpriority\fP %ld
287The standard nice value, plus fifteen. The value is never negative in
288the kernel.
289.TP
290\fInice\fP %ld
291The nice value ranges from 19 (nicest) to -19 (not nice to others).
292.TP
293.\" .TP
294.\" \fIcounter\fP %ld
295.\" The current maximum size in jiffies of the process's next timeslice,
296.\" or what is currently left of its current timeslice, if it is the
297.\" currently running process.
298.\" .TP
299.\" \fItimeout\fP %u
300.\" The time in jiffies of the process's next timeout.
301\fI0\fP %ld
302This value is hard coded to 0 as a placeholder for a removed field.
303.TP
304\fIitrealvalue\fP %ld
305The time in jiffies before the next SIGALRM is sent to the process
306due to an interval timer.
307.TP
308\fIstarttime\fP %lu
309The time in jiffies the process started after system boot.
310.TP
311\fIvsize\fP %lu
312Virtual memory size in bytes.
313.TP
314\fIrss\fP %ld
315Resident Set Size: number of pages the process has in real memory,
316minus 3 for administrative purposes. This is just the pages which
317count towards text, data, or stack space. This does not include pages
318which have not been demand-loaded in, or which are swapped out.
319.TP
320\fIrlim\fP %lu
321Current limit in bytes on the rss of the process (usually
3224294967295 on i386).
323.TP
324\fIstartcode\fP %lu
325The address above which program text can run.
326.TP
327\fIendcode\fP %lu
328The address below which program text can run.
329.TP
330\fIstartstack\fP %lu
331The address of the start of the stack.
332.TP
333\fIkstkesp\fP %lu
334The current value of esp (stack pointer), as found in the
335kernel stack page for the process.
336.TP
337\fIkstkeip\fP %lu
338The current EIP (instruction pointer).
339.TP
340\fIsignal\fP %lu
341The bitmap of pending signals (usually 0).
342.TP
343\fIblocked\fP %lu
344The bitmap of blocked signals (usually 0, 2 for shells).
345.TP
346\fIsigignore\fP %lu
347The bitmap of ignored signals.
348.TP
349\fIsigcatch\fP %lu
350The bitmap of catched signals.
351.TP
352\fIwchan\fP %lu
353This is the "channel" in which the process is waiting. It is the
354address of a system call, and can be looked up in a namelist if you
355need a textual name. (If you have an up-to-date /etc/psdatabase, then
356try \fIps -l\fP to see the WCHAN field in action.)
357.TP
358\fInswap\fP %lu
359Number of pages swapped - not maintained.
360.TP
361\fIcnswap\fP %lu
362Cumulative \fInswap\fP for child processes.
363.TP
364\fIexit_signal\fP %d
365Signal to be sent to parent when we die.
366.TP
367\fIprocessor\fP %d
368CPU number last executed on.
369.RE
370.TP
371.I /proc/[number]/statm
372Provides information about memory status in pages. The columns are:
373 size total program size
374 resident resident set size
375 share shared pages
376 trs text (code)
377 drs data/stack
378 lrs library
379 dt dirty pages
380.TP
381.I /proc/[number]/status
382Provides much of the information in
383.I /proc/[number]/stat
384and
385.I /proc/[number]/statm
386in a format that's easier for humans to parse.
387.TP
388.I /proc/apm
389Advanced power management version and battery information
390when CONFIG_APM is defined at kernel compilation time.
391.TP
392.I /proc/bus
393Contains subdirectories for installed busses.
394.TP
395.I /proc/bus/pccard
396Subdirectory for pcmcia devices when CONFIG_PCMCIA is set
397at kernel compilation time.
398.TP
399.I /proc/bus/pccard/drivers
400.TP
401.I /proc/bus/pci
402Contains various bus subdirectories and pseudo-files containing
403information about pci busses, installed devices, and device
404drivers. Some of these files are not ASCII.
405.TP
406.I /proc/bus/pci/devices
407Information about pci devices. They may be accessed through
408.BR lspci (8)
409and
410.BR setpci (8).
411.TP
412.I /proc/cmdline
413Arguments passed to the Linux kernel at boot time. Often done via
414a boot manager such as
415.BR lilo (1).
416.TP
417.I /proc/cpuinfo
418This is a collection of CPU and system architecture dependent items,
419for each supported architecture a different list.
420Two common entries are \fIprocessor\fP which gives CPU number and
421\fIbogomips\fP; a system constant that is calculated
422during kernel initialization. SMP machines have information for
423each CPU.
424.TP
425.I /proc/devices
426Text listing of major numbers and device groups. This can be used by
427MAKEDEV scripts for consistency with the kernel.
428.TP
429.IR /proc/diskstats " (since Linux 2.5.69)"
430This file contains disk I/O statistics for each disk device.
431See the kernel source file
432.I Documentation/iostats.txt
433for further information.
434.TP
435.I /proc/dma
436This is a list of the registered \fIISA\fP DMA (direct memory access)
437channels in use.
438.TP
439.I /proc/driver
440Empty subdirectory.
441.TP
442.I /proc/execdomains
443List of the execution domains (ABI personalities).
444.TP
445.I /proc/fb
446Frame buffer information when CONFIG_FB is defined during kernel
447compilation.
448.TP
449.I /proc/filesystems
450A text listing of the filesystems which were compiled into the kernel.
451Incidentally, this is used by
452.BR mount (1)
453to cycle through different filesystems when none is specified.
454.TP
455.I /proc/fs
456Empty subdirectory.
457.TP
458.I /proc/ide
459This directory
460exists on systems with the ide bus. There are directories for each
461ide channel and attached device. Files include:
462
463.nf
464cache buffer size in KB
465capacity number of sectors
466driver driver version
467geometry physical and logical geometry
468identify in hexidecimal
469media media type
470model manufacturer's model number
471settings drive settings
472smart_thresholds in hexidecimal
473smart_values in hexidecimal
474.fi
475
476The
477.BR hdparm (8)
478utility provides access to this information in a friendly format.
479.TP
480.I /proc/interrupts
481This is used to record the number of interrupts per each IRQ on (at
482least) the i386 architechure. Very easy to read formatting, done in
483ASCII.
484.TP
485.I /proc/iomem
486I/O memory map in Linux 2.4.
487.TP
488.I /proc/ioports
489This is a list of currently registered Input-Output port regions that
490are in use.
491.TP
492.IR /proc/kallsyms " (since Linux 2.5.71)"
493This holds the kernel exported symbol definitions used by the
494.BR modules (X)
495tools to dynamically link and bind loadable modules.
496In Linux 2.5.47 and earlier, a similar file with slightly different syntax
497was named
498.IR ksyms .
499.TP
500.I /proc/kcore
501This file represents the physical memory of the system and is stored
502in the ELF core file format. With this pseudo-file, and an unstripped
503kernel (/usr/src/linux/vmlinux) binary, GDB can be used to
504examine the current state of any kernel data structures.
505
506The total length of the file is the size of physical memory (RAM) plus
5074KB.
508.TP
509.I /proc/kmsg
510This file can be used instead of the
511.BR syslog (2)
512system call to read kernel messages. A process must have superuser
513privileges to read this file, and only one process should read this
514file. This file should not be read if a syslog process is running
515which uses the
516.BR syslog (2)
517system call facility to log kernel messages.
518
519Information in this file is retrieved with the
520.BR dmesg (8)
521program.
522.TP
523.IR /proc/ksyms " (Linux 1.1.23-2.5.47)"
524See
525.IR /proc/kallsyms .
526.TP
527.I /proc/loadavg
528The load average numbers give the number of jobs in the run queue (state
529R)
530or waiting for disk I/O (state D) averaged over 1, 5, and 15 minutes.
531They are the same as the load average numbers given by
532.BR uptime (1)
533and other programs.
534.TP
535.I /proc/locks
536This file shows current file locks
537.RB ( flock "(2) and " fcntl (2))
538and leases
539.RB ( fcntl (2)).
540.TP
541.I /proc/malloc
542This file is only present if CONFIGDEBUGMALLOC was defined during
543compilation.
544.TP
545.I /proc/meminfo
546This is used by
547.BR free (1)
548to report the amount of free and used memory (both physical and swap)
549on the system as well as the shared memory and buffers used by the
550kernel.
551
552It is in the same format as
553.BR free (1),
554except in bytes rather than KB.
555.TP
556.I /proc/mounts
557This is a list of all the file systems currently mounted on the system.
558The format of this file is documented in
559.IR fstab (5).
560.TP
561.I /proc/modules
562A text list of the modules that have been loaded by the system.
563See also
564.BR lsmod (8).
565.TP
566.I /proc/mtrr
567Memory Type Range Registers.
568See
569.I /usr/src/linux/Documentation/mtrr.txt
570for details.
571.TP
572.I /proc/net
573various net pseudo-files, all of which give the status of some part of
574the networking layer. These files contain ASCII structures and are,
575therefore, readable with cat. However, the standard
576.BR netstat (8)
577suite provides much cleaner access to these files.
578.TP
579.I /proc/net/arp
580This holds an ASCII readable dump of the kernel ARP table used for
581address resolutions. It will show both dynamically learned and
582pre-programmed ARP entries. The format is:
583
584.nf
585.ft CW
586.in 8n
587IP address HW type Flags HW address Mask Device
588192.168.0.50 0x1 0x2 00:50:BF:25:68:F3 * eth0
589192.168.0.250 0x1 0xc 00:00:00:00:00:00 * eth0
590.ft
591.fi
592.in
593
594Here 'IP address' is the IPv4 address of the machine and the 'HW type'
595is the hardware type of the address from RFC 826. The flags are the internal
596flags of the ARP structure (as defined in /usr/include/linux/if_arp.h) and
597the 'HW address' is the data link layer mapping for that IP address if
598it is known.
599.TP
600.I /proc/net/dev
601The dev pseudo-file contains network device status information. This gives
602the number of received and sent packets, the number of errors and
603collisions
604and other basic statistics. These are used by the
605.BR ifconfig (8)
606program to report device status. The format is:
607
608.nf
609.ft CW
610.in 1n
611Inter-| Receive | Transmit
612 face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
613 lo: 2776770 11307 0 0 0 0 0 0 2776770 11307 0 0 0 0 0 0
614 eth0: 1215645 2751 0 0 0 0 0 0 1782404 4324 0 0 0 427 0 0
615 ppp0: 1622270 5552 1 0 0 0 0 0 354130 5669 0 0 0 0 0 0
616 tap0: 7714 81 0 0 0 0 0 0 7714 81 0 0 0 0 0 0
617.in
618.ft
619.fi
620.\" .TP
621.\" .I /proc/net/ipx
622.\" No information.
623.\" .TP
624.\" .I /proc/net/ipx_route
625.\" No information.
626.TP
627.I /proc/net/dev_mcast
628Defined in
629.IR /usr/src/linux/net/core/dev_mcast.c :
630.nf
631.in +5
632indx ifterface_name dmi_u dmi_g dmi_address
6332 eth0 1 0 01005e000001
6343 eth1 1 0 01005e000001
6354 eth2 1 0 01005e000001
636.in
637.fi
638.TP
639.I /proc/net/igmp
640Internet Group Management Protocol. Defined in
641.IR /usr/src/linux/net/core/igmp.c .
642.TP
643.I /proc/net/rarp
644This file uses the same format as the
645.I arp
646file and contains the current reverse mapping database used to provide
647.BR rarp (8)
648reverse address lookup services. If RARP is not configured into the
649kernel,
650this file will not be present.
651.TP
652.I /proc/net/raw
653Holds a dump of the RAW socket table. Much of the information is not of
654use
655apart from debugging. The 'sl' value is the kernel hash slot for the
656socket,
657the 'local address' is the local address and protocol number pair."St" is
658the internal status of the socket. The "tx_queue" and "rx_queue" are the
659outgoing and incoming data queue in terms of kernel memory usage.
660The "tr", "tm->when", and "rexmits" fields are not used by RAW.
661The uid field holds the creator euid of the socket.
662.\" .TP
663.\" .I /proc/net/route
664.\" No information, but looks similar to
665.\" .BR route (8).
666.TP
667.I /proc/net/snmp
668This file holds the ASCII data needed for the IP, ICMP, TCP, and UDP
669management
670information bases for an snmp agent.
671.TP
672.I /proc/net/tcp
673Holds a dump of the TCP socket table. Much of the information is not
674of use apart from debugging. The "sl" value is the kernel hash slot
675for the socket, the "local address" is the local address and port number pair.
676The "remote address" is the remote address and port number pair
677(if connected). 'St' is the internal status of the socket.
678The 'tx_queue' and 'rx_queue' are the
679outgoing and incoming data queue in terms of kernel memory usage.
680The "tr", "tm->when", and "rexmits" fields hold internal information of
681the kernel socket state and are only useful for debugging. The uid field
682holds the creator euid of the socket.
683.TP
684.I /proc/net/udp
685Holds a dump of the UDP socket table. Much of the information is not of
686use apart from debugging. The "sl" value is the kernel hash slot for the
687socket, the "local address" is the local address and port number pair.
688The "remote address" is the remote address and port number pair
689(if connected). "St" is the internal status of the socket.
690The "tx_queue" and "rx_queue" are the outgoing and incoming data queue
691in terms of kernel memory usage. The "tr", "tm->when", and "rexmits" fields
692are not used by UDP. The uid field holds the creator euid of the socket.
693The format is:
694
695.nf
696.ft CW
697.in 1n
698sl local_address rem_address st tx_queue rx_queue tr rexmits tm->when uid
699 1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0
700 1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0
701 1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0
702.in
703.ft
704.fi
705.TP
706.I /proc/net/unix
707Lists the UNIX domain sockets present within the system and their
708status. The format is:
709.nf
710.sp .5
711.ft CW
712Num RefCount Protocol Flags Type St Path
713 0: 00000002 00000000 00000000 0001 03
714 1: 00000001 00000000 00010000 0001 01 /dev/printer
715.ft
716.sp .5
717.fi
718
719Here 'Num' is the kernel table slot number, 'RefCount' is the number
720of users of the socket, 'Protocol' is currently always 0, 'Flags'
721represent the internal kernel flags holding the status of the
722socket. Currently, type is always '1' (Unix domain datagram sockets are
723not yet supported in the kernel). 'St' is the internal state of the
724socket and Path is the bound path (if any) of the socket.
725.TP
726.I /proc/partitions
727Contains major and minor numbers of each partition as well as number
728of blocks and partition name.
729.TP
730.I /proc/pci
731This is a listing of all PCI devices found during kernel initialization
732and their configuration.
733.TP
734.I /proc/scsi
735A directory with the scsi midlevel pseudo-file and various SCSI lowlevel
736driver
737directories, which contain a file for each SCSI host in this system, all
738of
739which give the status of some part of the SCSI IO subsystem.
740These files contain ASCII structures and are, therefore, readable with
741cat.
742
743You can also write to some of the files to reconfigure the subsystem or
744switch
745certain features on or off.
746.TP
747.I /proc/scsi/scsi
748This is a listing of all SCSI devices known to the kernel. The listing is
749similar to the one seen during bootup.
750scsi currently supports only the \fIadd-single-device\fP command which
751allows
752root to add a hotplugged device to the list of known devices.
753
754An
755.B echo 'scsi add-single-device 1 0 5 0' > /proc/scsi/scsi
756will cause
757host scsi1 to scan on SCSI channel 0 for a device on ID 5 LUN 0. If there
758is already a device known on this address or the address is invalid, an
759error will be returned.
760.TP
761.I /proc/scsi/[drivername]
762\fI[drivername]\fP can currently be NCR53c7xx, aha152x, aha1542, aha1740,
763aic7xxx, buslogic, eata_dma, eata_pio, fdomain, in2000, pas16, qlogic,
764scsi_debug, seagate, t128, u15-24f, ultrastore, or wd7000.
765These directories show up for all drivers that registered at least one
766SCSI
767HBA. Every directory contains one file per registered host. Every
768host-file is named after the number the host was assigned during
769initialization.
770
771Reading these files will usually show driver and host configuration,
772statistics etc.
773
774Writing to these files allows different things on different hosts.
775For example, with the \fIlatency\fP and \fInolatency\fP commands,
776root can switch on and off command latency measurement code in the
777eata_dma driver. With the \fIlockup\fP and \fIunlock\fP commands,
778root can control bus lockups simulated by the scsi_debug driver.
779.TP
780.I /proc/self
781This directory refers to the process accessing the /proc filesystem,
782and is identical to the /proc directory named by the process ID of the
783same process.
784.TP
785.I /proc/slabinfo
786Information about kernel caches. The columns are:
787.nf
788cache-name
789num-active-objs
790total-objs
791object-size
792num-active-slabs
793total-slabs
794num-pages-per-slab
795.fi
796See
797.BR slabinfo (5)
798for details.
799.TP
800.I /proc/stat
801kernel/system statistics. Varies with architecture. Common
802entries include:
803.RS
804.TP
805\fIcpu 3357 0 4313 1362393\fP
806The number of jiffies (1/100ths of a second) that the system spent in
807user mode, user mode with low priority (nice), system mode, and the
808idle task, respectively. The last value should be 100 times the
809second entry in the uptime pseudo-file.
810.TP
811\fIpage 5741 1808\fP
812The number of pages the system paged in and the number that were paged
813out (from disk).
814.TP
815\fIswap 1 0\fP
816The number of swap pages that have been brought in and out.
817.TP
818\fIintr 1462898\fP
819The number of interrupts received from the system boot.
820.TP
821\fIdisk_io: (2,0):(31,30,5764,1,2) (3,0):\fP...
822(major,minor):(noinfo, read_io_ops, blks_read, write_io_ops, blks_written)
823.TP
824\fIctxt 115315\fP
825The number of context switches that the system underwent.
826.TP
827\fIbtime 769041601\fP
828boot time, in seconds since the epoch (January 1, 1970).
829.TP
830\fIprocesses 86031\fP
831Number of forks since boot.
832.RE
833.TP
834.I /proc/swaps
835Swap areas in use. See also
836.BR swapon (8).
837.TP
838.I /proc/sys
839This directory (present since 1.3.57) contains a number of files
840and subdirectories corresponding to kernel variables.
841These variables can be read and sometimes modified using
842the \fIproc\fP file system, and the
843.BR sysctl (2)
844system call. Presently, there are subdirectories
845.IR abi ", " debug ", " dev ", " fs ", " kernel ", " net ", " proc ", "
846.IR rxrpc ", " sunrpc " and " vm
847that each contain more files and subdirectories.
848.TP
849.I /proc/sys/abi
850This directory may contain files with application binary information.
851On some systems, it is not present.
852.TP
853.I /proc/sys/debug
854This directory may be empty.
855.TP
856.I /proc/sys/dev
857This directory contains device specific information (eg dev/cdrom/info).
858On
859some systems, it may be empty.
860.TP
861.I /proc/sys/fs
862This contains the subdirectory
863.IR binfmt_misc
864and files
865.IR dentry-state ", " dir-notify-enable ", " dquot-nr ", " file-max ", "
866.IR file-nr ", " inode-max ", " inode-nr ", " inode-state ", "
867.IR lease-break-time ", " leases-enable ", " overflowgid ", " overflowuid
868.IR super-max " and " super-nr
869with function fairly clear from the name.
870.TP
871.I /proc/sys/fs/binfmt_misc
872Documentation for files in this directory can in the kernel sources in
873.IR Documentation/binfmt_misc.txt .
874.TP
875.I /proc/sys/fs/dentry-state
876This file contains six numbers,
877.IR nr_dentry ", " nr_unused ", " age_limit " (age in seconds), "
878want_pages
879(pages requested by system) and two dummy values.
880nr_dentry seems to be 0 all the time.
881nr_unused seems to be the number of unused dentries.
882age_limit is the age in seconds after which dcache entries
883can be reclaimed when memory is short and want_pages is
884nonzero when the kernel has called shrink_dcache_pages() and the
885dcache isn't pruned yet.
886.TP
887.I /proc/sys/fs/dir-notify-enable
888This file can be used to disable or enable the
889.I dnotify
890interface described in
891.BR fcntl (2)
892on a system-wide basis.
893A value of 0 in this file disables the interface,
894and a value of 1 enables it.
895.TP
896.I /proc/sys/fs/dquot-max
897This file shows the maximum number of cached disk quota entries.
898On some (2.4) systems, it is not present.
899If the number of free cached disk quota entries is very low and
900you have some awesome number of simultaneous system users,
901you might want to raise the limit.
902.TP
903.I /proc/sys/fs/dquot-nr
904This file shows the number of allocated disk quota
905entries and the number of free disk quota entries.
906.TP
907.I /proc/sys/fs/file-max
908This file defines
909a system-wide limit on the number of open files for all processes.
910(See also
911.BR setrlimit (2),
912which can be used by a process to set the per-process limit,
913.BR RLIMIT_NOFILE ,
914on the number of files it may open.)
915If you get lots
916of error messages about running out of file handles,
917try increasing this value:
918.br
919
920.br
921.nf
922.ft CW
923echo 100000 > /proc/sys/fs/file-max
924.fi
925.ft
926
927The kernel constant
928.I NR_OPEN
929imposes an upper limit on the value that may be placed in
930.IR file-max .
931
932If you increase
933.IR /proc/sys/fs/file-max ","
934be sure to increase
935.I /proc/sys/fs/inode-max
936to 3-4 times the new
937value of
938.IR /proc/sys/fs/file-max ","
939or you will run out of inodes.
940.TP
941.I /proc/sys/fs/file-nr
942This (read-only) file
943gives the number of files presently opened.
944It contains three numbers: The number of allocated
945file handles, the number of free file handles and the maximum
946number of file handles. The kernel allocates file handles dynamically,
947but it
948doesn't free them again. If the number of allocated files is close to the
949
950maximum, you should consider increasing the maximum.
951When the number of free file handles is
952large, you've encountered a peak in your usage of file
953handles and you probably don't need to increase the maximum.
954.TP
955.I /proc/sys/fs/inode-max
956This file contains the maximum number of in-memory inodes.
957On some (2.4) systems, it may not be
958present. This value should be 3-4 times larger
959than the value in file-max, since stdin, stdout and network sockets also
960need an inode to handle them. When you regularly run
961out of inodes, you need to increase this value.
962.TP
963.I /proc/sys/fs/inode-nr
964This file contains the first two values from inode-state.
965.TP
966.I /proc/sys/fs/inode-state
967This file
968contains seven numbers: nr_inodes, nr_free_inodes, preshrink and four
969dummy
970values.
971nr_inodes is the number of inodes the system has
972allocated. This can be slightly more than inode-max because
973Linux allocates them one pageful at a time.
974nr_free_inodes represents the number of free inodes.
975preshrink is nonzero when the nr_inodes > inode-max and the
976system needs to prune the inode list instead of allocating
977more.
978.TP
979.I /proc/sys/fs/lease-break-time
980This file
981specifies the grace period that the kernel grants to a process
982holding a file lease
983.RB ( fcntl (2))
984after it has sent a signal to that process notifying it
985that another process is waiting to open the file.
986If the lease holder does not remove or downgrade the lease within
987this grace period, the kernel forcibly breaks the lease.
988.TP
989.I /proc/sys/fs/leases-enable
990This file can be used to enable or disable file leases
991.RB ( fcntl (2))
992on a system-wide basis.
993If this file contains the value 0, leases are disabled.
994A non-zero value enables leases.
995.TP
996.IR /proc/sys/fs/overflowgid " and " /proc/sys/fs/overflowuid
997These files
998allow you to change the value of the fixed UID and GID.
999The default is 65534.
1000Some filesystems only support 16-bit UIDs and GIDs, although in Linux
1001UIDs and GIDs are 32 bits. When one of these filesystems is mounted
1002with writes enabled, any UID or GID that would exceed 65535 is translated
1003to the overflow value before being written to disk.
1004.TP
1005.I /proc/sys/fs/super-max
1006This file
1007controls the maximum number of superblocks, and
1008thus the maximum number of mounted filesystems the kernel
1009can have. You only need to increase super-max if you need to
1010mount more filesystems than the current value in super-max
1011allows you to.
1012.TP
1013.I /proc/sys/fs/super-nr
1014This file
1015contains the number of filesystems currently mounted.
1016.TP
1017.I /proc/sys/kernel
1018This directory contains files
1019.IR acct ", " cad_pid ", " cap-bound ", "
1020.IR core_pattern ", " core_uses_pid ", "
1021.IR ctrl-alt-del ", " dentry-state ", " domainname ", "
1022.IR hotplug ", " hostname ", "
1023.IR htab-reclaim " (PowerPC only), "
1024.IR java-appletviewer " (binfmt_java, obsolete), "
1025.IR java-interpreter " (binfmt_java, obsolete), " l2cr " (PowerPC only), "
1026.IR modprobe ", " msgmax ", " msgmnb ", "
1027.IR msgmni ", " osrelease ", " ostype ", " overflowgid ", " overflowuid ,
1028.IR panic ", " panic_on_oops ", " pid_max ", "
1029.IR powersave-nap " (PowerPC only), " printk ", " pty ", " random ", "
1030.IR real-root-dev ", " reboot-cmd " (SPARC only), " rtsig-max ", "
1031.IR rtsig-nr ", " sem ", " sg-big-buff ", "
1032.IR shmall ", " shmmax ", " shmmni ", " sysrq ", " tainted ", " threads-max ,
1033.IR version " and " zero-paged " (PowerPC only) "
1034with function fairly clear from the name.
1035.TP
1036.I /proc/sys/kernel/acct
1037This file
1038contains three numbers: highwater, lowwater and frequency.
1039If BSD-style process accounting is enabled these values control
1040its behaviour. If free space on filesystem where the log lives
1041goes below lowwater percent accounting suspends. If free space gets
1042above highwater percent accounting resumes. Frequency determines
1043how often the kernel checks the amount of free space (value is in
1044seconds). Default values are 4, 2 and 30.
1045That is, suspend accounting if <= 2% of space is free; resume it
1046if >= 4% of space is free; consider information about amount of free space
1047valid for 30 seconds.
1048.TP
1049.I /proc/sys/kernel/cap-bound
1050This file holds the value of the kernel
1051.IR "capability bounding set"
1052(expressed as a signed decimal number).
1053This set is ANDed against the capabilities permitted to a process
1054during exec.
1055.TP
1056.I /proc/sys/kernel/core_pattern
1057This file
1058(new in Linux 2.5) provides finer control over the form of
1059a core filename than the obsolete
1060.IR /proc/sys/kernel/core_uses_pid
1061file described below.
1062The name for a core file is controlled by defining a template in
1063.IR /proc/sys/kernel/core_pattern .
1064The template can contain % specifiers which are substituted
1065by the following values when a core file is created:
1066.nf
1067
1068 %% A single % character
1069 %p PID of dumped process
1070 %u real UID of dumped process
1071 %g real GID of dumped process
1072 %s number of signal causing dump
1073 %t time of dump (secs since 0:00h, 1 Jan 1970)
1074 %h hostname (same as the 'nodename'
1075 returned by \fBuname\fP(2))
1076 %e executable filename
1077
1078.fi
1079A single % at the end of the template is dropped from the
1080core filename, as is the combination of a % followed by any
1081character other than those listed above.
1082All other characters in the template become a literal
1083part of the core filename.
1084The maximum size of the resulting core filename is 64 bytes.
1085The default value in this file is "core".
1086For backward compatibility, if
1087.I /proc/sys/kernel/core_pattern
1088does not include "%p" and
1089.I /proc/sys/kernel/core_uses_pid
1090is non-zero, then .PID will be appended to the core filename.
1091.TP
1092.I /proc/sys/kernel/core_uses_pid
1093This file
1094can be used control the naming of a core dump file on Linux 2.4.
1095If this file contains the value 0, then a core dump file is simply named
1096.IR core .
1097If this file contains a non-zero value, then the core dump file includes
1098the process ID in a name of the form
1099.IR core.PID .
1100.TP
1101.I /proc/sys/kernel/ctrl-alt-del
1102This file
1103controls the handling of Ctrl-Alt-Del from the keyboard.
1104When the value in this file is 0, Ctrl-Alt-Del is trapped and
1105sent to the
1106.BR init (1)
1107program to handle a graceful restart.
1108When the value is > 0, Linux's reaction to a Vulcan
1109Nerve Pinch (tm) will be an immediate reboot, without even
1110syncing its dirty buffers.
1111Note: when a program (like dosemu) has the keyboard in 'raw'
1112mode, the ctrl-alt-del is intercepted by the program before it
1113ever reaches the kernel tty layer, and it's up to the program
1114to decide what to do with it.
1115.TP
1116.I /proc/sys/kernel/hotplug
1117This file
1118contains the path for the hotplug policy agent.
1119The default value in this file "/sbin/hotplug".
1120.TP
1121.IR /proc/sys/kernel/domainname " and " /proc/sys/kernel/hostname
1122can be used to set the NIS/YP domainname and the
1123hostname of your box in exactly the same way as the commands
1124domainname and hostname, i.e.:
1125.br
1126
1127.br
1128# echo "darkstar" > /proc/sys/kernel/hostname
1129.br
1130# echo "mydomain" > /proc/sys/kernel/domainname
1131.br
1132
1133.br
1134has the same effect as
1135.br
1136
1137.br
1138# hostname "darkstar"
1139.br
1140# domainname "mydomain"
1141.br
1142
1143.br
1144Note, however, that the classic darkstar.frop.org has the
1145hostname "darkstar" and DNS (Internet Domain Name Server)
1146domainname "frop.org", not to be confused with the NIS (Network
1147Information Service) or YP (Yellow Pages) domainname. These two
1148domain names are in general different. For a detailed discussion
1149see the
1150.BR hostname (1)
1151man page.
1152.TP
1153.I /proc/sys/kernel/htab-reclaim
1154(PowerPC only) If this file is set to a non-zero value,
1155the PowerPC htab
1156(see kernel file Documentation/powerpc/ppc_htab.txt) is pruned
1157each time the system hits the idle loop.
1158.TP
1159.I /proc/sys/kernel/l2cr
1160(PowerPC only) This file
1161contains a flag that controls the L2 cache of G3 processor
1162boards. If 0, the cache is disabled. Enabled if nonzero.
1163.TP
1164.I /proc/sys/kernel/modprobe
1165This file
1166is described by the kernel source file Documentation/kmod.txt.
1167.TP
1168.I /proc/sys/kernel/msgmax
1169This file defines
1170a system-wide limit specifying the maximum number of bytes in
1171a single message written on a System V message queue.
1172.TP
1173.I /proc/sys/kernel/msgmni
1174This file defines the system-wide limit on the number of
1175message queue identifiers.
1176(This file is only present in Linux 2.4 onwards.)
1177.TP
1178.I /proc/sys/kernel/msgmnb
1179This file defines a system-wide paramter used to initialise the
1180.I msg_qbytes
1181setting for subsequenly created message queues.
1182The
1183.I msg_qbytes
1184setting specifies the maximum number of bytes that may be written to the
1185message queue.
1186.TP
1187.IR /proc/sys/kernel/ostype " and " /proc/sys/kernel/osrelease
1188These files
1189give substrings of
1190.IR /proc/version .
1191.TP
1192.IR /proc/sys/kernel/overflowgid " and " /proc/sys/kernel/overflowuid
1193These files duplicate the files
1194.I /proc/sys/fs/overflowgid
1195and
1196.IR /proc/sys/fs/overflowuid .
1197.TP
1198.I /proc/sys/kernel/panic
1199gives read/write access to the kernel variable
1200.IR panic_timeout .
1201If this is zero, the kernel will loop on a panic; if nonzero
1202it indicates that the kernel should autoreboot after this number
1203of seconds. When you use the
1204software watchdog device driver, the recommended setting is 60.
1205.TP
1206.I /proc/sys/kernel/panic_on_oops
1207This file (new in Linux 2.5) controls the kernel's behaviour when an oops
1208or
1209BUG is encountered. If this file contains 0, then the system
1210tries to continue operation. If it contains 1, then the system
1211delays a few seconds (to give klogd time to record the oops output)
1212and then panics.
1213If the
1214.I /proc/sys/kernel/panic
1215file is also non-zero then the machine will be rebooted.
1216.TP
1217.I /proc/sys/kernel/pid_max
1218This file
1219(new in Linux 2.5)
1220specifies the value at which PIDs wrap around
1221(i.e., the value in this file is one greater than the maximum PID).
1222The default value for this file, 32768,
1223results in the same range of PIDs as on earlier kernels.
1224The value in this file can be set to any value up to 2^22
1225(PID_MAX_LIMIT, approximately 4 million).
1226.TP
1227.IR /proc/sys/kernel/powersave-nap " (PowerPC only)"
1228This file
1229contains a flag. If set, Linux-PPC will use the 'nap' mode of
1230powersaving,
1231otherwise the 'doze' mode will be used.
1232.TP
1233.I /proc/sys/kernel/printk
1234The four values in this file
1235are console_loglevel, default_message_loglevel, minimum_console_level and
1236default_console_loglevel.
1237These values influence printk() behavior when printing or
1238logging error messages. See
1239.BR syslog (2)
1240for more info on the different loglevels.
1241Messages with a higher priority than
1242console_loglevel will be printed to the console.
1243Messages without an explicit priority
1244will be printed with priority default_message_level.
1245minimum_console_loglevel is the minimum (highest) value to which
1246console_loglevel can be set.
1247default_console_loglevel is the default value for console_loglevel.
1248.TP
1249.IR /proc/sys/kernel/pty " (since Linux 2.6.4)"
1250This directory
1251contains two files relating to the number of Unix 98
1252pseudo-terminals (see
1253.BR pts (4))
1254on the system.
1255.TP
1256.I /proc/sys/kernel/pty/max
1257This file defines the maximum number of pseudo-terminals.
1258.TP
1259.I /proc/sys/kernel/pty/nr
1260This read-only file
1261indicates how many pseudo-terminals are currently in use.
1262.TP
1263.\" FIXME say more about random
1264.I /proc/sys/kernel/random
1265This directory
1266contains various parameters controlling the operation of the file
1267.IR /dev/random .
1268.TP
1269.I /proc/sys/kernel/real-root-dev
1270This file
1271is documented in the kernel source file Documentation/initrd.txt.
1272.TP
1273.IR /proc/sys/kernel/reboot-cmd " (Sparc only) "
1274This file seems to be a way to give an argument to the SPARC
1275ROM/Flash boot loader. Maybe to tell it what to do after
1276rebooting?
1277.TP
1278.I /proc/sys/kernel/rtsig-max
1279This file can be used to tune the maximum number
1280of POSIX realtime (queued) signals that can be outstanding
1281in the system.
1282.TP
1283.I /proc/sys/kernel/rtsig-nr
1284This file shows the number POSIX realtime signals currently queued.
1285.TP
1286.IR /proc/sys/kernel/sem " (since Linux 2.4)"
1287This file contains 4 numbers defining limits for System V IPC semaphores.
1288These fields are, in order:
1289.RS
1290.IP SEMMSL 8
1291The maximum semaphores per semaphore set.
1292.IP SEMMNS 8
1293A system-wide limit on the number of semaphores in all semaphore sets.
1294.IP SEMOPM 8
1295The maximum number of operations that may be specified in a
1296.BR semop (2)
1297call.
1298.IP SEMMNI 8
1299A system-wide limit on the maximum number of semaphore identifiers.
1300.RE
1301.TP
1302.I /proc/sys/kernel/sg-big-buff
1303This file
1304shows the size of the generic SCSI device (sg) buffer.
1305You can't tune it just yet, but you could change it on
1306compile time by editing include/scsi/sg.h and changing
1307the value of SG_BIG_BUFF. However, there shouldn't be any reason to
1308change
1309this value.
1310.TP
1311.I /proc/sys/kernel/shmall
1312This file
1313contains the system-wide limit on the total number of pages of
1314System V shared memory.
1315.TP
1316.I /proc/sys/kernel/shmmax
1317This file
1318can be used to query and set the run time limit
1319on the maximum (System V IPC) shared memory segment size that can be
1320created.
1321Shared memory segments up to 1Gb are now supported in the
1322kernel. This value defaults to SHMMAX.
1323.TP
1324.I /proc/sys/kernel/shmmni
1325(available in Linux 2.4 and onwards)
1326This file
1327specifies the system-wide maximum number of System V shared memory
1328segments that can be created.
1329.TP
1330.I /proc/sys/kernel/version
1331contains a string like:
1332.br
1333
1334.br
1335#5 Wed Feb 25 21:49:24 MET 1998.TP
1336.br
1337
1338.br
1339The '#5' means that
1340this is the fifth kernel built from this source base and the
1341date behind it indicates the time the kernel was built.
1342.TP
1343.IR /proc/sys/kernel/zero-paged " (PowerPC only) "
1344This file
1345contains a flag. When enabled (non-zero), Linux-PPC will pre-zero pages in
1346the idle loop, possibly speeding up get_free_pages.
1347.TP
1348.I /proc/sys/net
1349This directory contains networking stuff.
1350.TP
1351.I /proc/sys/proc
1352This directory may be empty.
1353.TP
1354.I /proc/sys/sunrpc
1355This directory supports Sun remote procedure call for network file system
1356(NFS). On some systems, it is not present.
1357.TP
1358.I /proc/sys/vm
1359This directory contains files for memory management tuning, buffer and
1360cache
1361management.
1362.TP
1363.I /proc/sys/vm/overcommit_memory
1364This file contains the kernel virtual memory accounting mode. Values are:
1365.br
13660: heuristic overcommit (this is the default)
1367.br
13681: always overcommit, never check
1369.br
13702: always check, never overcommit
1371.br
1372In mode 0, calls of
1373.BR mmap (2)
1374with MAP_NORESERVE set are not checked, and the default check is very weak,
1375leading to the risk of getting a process "OOM-killed".
1376Under Linux 2.4 any nonzero value implies mode 1.
1377In mode 2 (available since Linux 2.6), the total virtual address space
1378on the system is limited to (SS + RAM*(r/100)),
1379where SS is the size of the swap space, and RAM
1380is the size of the physical memory, and r is the contents of the file
1381.IR /proc/sys/vm/overcommit_ratio .
1382.TP
1383.I /proc/sys/vm/overcommit_ratio
1384See the description of
1385.IR /proc/sys/vm/overcommit_memory .
1386.TP
1387.I /proc/sysvipc
1388Subdirectory containing the pseudo-files
1389.IR msg ", " sem " and " shm "."
1390These files list the System V Interprocess Communication (IPC) objects
1391(respectively: message queues, semaphores, and shared memory)
1392that currently exist on the system,
1393providing similar information to that available via
1394.BR ipcs (1).
1395These files have headers and are formatted (one IPC object per line)
1396for easy understanding.
1397.BR ipc (5)
1398provides further background on the information shown by these files.
1399.TP
1400.I /proc/tty
1401Subdirectory containing the psuedo-files and subdirectories for
1402tty drivers and line disciplines.
1403.TP
1404.I /proc/uptime
1405This file contains two numbers: the uptime of the system (seconds),
1406and the amount of time spent in idle process (seconds).
1407.TP
1408.I /proc/version
1409This string identifies the kernel version that is currently running.
1410It includes the contents of /proc/sys/ostype, /proc/sys/osrelease and
1411/proc/sys/version. For example:
1412.nf
1413.in -2
1414.ft CW
1415Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994
1416.ft
1417.in +2
1418.fi
1419.TP
1420.IR /proc/vmstat " (since Linux 2.6)"
1421This file displays various virtual memory statistics.
1422
1423.RE
1424.RE
1425.SH "SEE ALSO"
1426.BR cat (1),
1427.BR find (1),
1428.BR free (1),
1429.BR mount (1),
1430.BR ps (1),
1431.BR tr (1),
1432.BR uptime (1),
1433.BR chroot (2),
1434.BR mmap (2),
1435.BR readlink (2),
1436.BR syslog (2),
1437.BR slabinfo (5),
1438.BR hier (7),
1439.BR arp (8),
1440.BR dmesg (8),
1441.BR hdparm (8),
1442.BR ifconfig (8),
1443.BR init (8),
1444.BR lsmod (8),
1445.BR lspci (8),
1446.BR netstat (8),
1447.BR procinfo (8),
1448.BR route (8)
1449.br
1450.I /usr/src/linux/Documentation/filesystems/proc.txt
1451.SH CAVEATS
1452Note that many strings (i.e., the environment and command line) are in
1453the internal format, with sub-fields terminated by NUL bytes, so you
1454may find that things are more readable if you use \fIod -c\fP or \fItr
1455"\\000" "\\n"\fP to read them.
1456Alternatively, \fIecho `cat <file>`\fP works well.
1457
1458This manual page is incomplete, possibly inaccurate, and is the kind
1459of thing that needs to be updated very often.
1460.SH ACKNOWLEDGEMENTS
1461The material on /proc/sys/fs and /proc/sys/kernel is closely based on
1462kernel source documentation files written by Rik van Riel.