1PROC(5)                    Linux Programmer's Manual                   PROC(5)
2
3
4

NAME

6       proc - process information pseudo-filesystem
7
8

DESCRIPTION

10       The  proc  filesystem is a pseudo-filesystem which is used as an inter‐
11       face to kernel data structures. It is commonly mounted at /proc.   Most
12       of  it  is  read-only,  but  some  files  allow  kernel variables to be
13       changed.
14
15       The following outline gives a quick tour through the /proc hierarchy.
16
17       /proc/[number]
18              There is a numerical subdirectory for each running process;  the
19              subdirectory is named by the process ID.  Each such subdirectory
20              contains the following pseudo-files and directories.
21
22       /proc/[number]/auxv (since 2.6.0-test7)
23              This contains the contents of the  ELF  interpreter  information
24              passed  to the process at exec time.  The format is one unsigned
25              long ID plus one unsigned long value for each entry.   The  last
26              entry contains two zeros.
27
28       /proc/[number]/cmdline
29              This holds the complete command line for the process, unless the
30              whole process has been swapped out or the process is  a  zombie.
31              In  either of these latter cases, there is nothing in this file:
32              i.e. a read on this file will return 0 characters.  The  command
33              line  arguments  appear  in this file as a set of null-separated
34              strings, with a further null byte after the last string.
35
36       /proc/[number]/cwd
37              This is a symbolic link to the current working directory of  the
38              process.   To  find out the cwd of process 20, for instance, you
39              can do this:
40
41              cd /proc/20/cwd; /bin/pwd
42
43              Note that the pwd command is often a shell  builtin,  and  might
44              not work properly. In bash, you may use pwd -P.
45
46              In  a  multithreaded process, the contents of this symbolic link
47              are not available if the  main  thread  has  already  terminated
48              (typically by calling pthread_exit(3).
49
50       /proc/[number]/environ
51              This file contains the environment for the process.  The entries
52              are separated by null bytes ('\0'), and  there  may  be  a  null
53              bytes at the end.  Thus, to print out the environment of process
54              1, you would do:
55
56              (cat /proc/1/environ; echo) | tr "\000" "\n"
57
58              (For a reason why one should want to do this, see lilo(8).)
59
60       /proc/[number]/exe
61              Under Linux 2.2 and later, this file is a symbolic link contain‐
62              ing  the actual pathname of the executed command.  This symbolic
63              link can be dereferenced normally; attempting to  open  it  will
64              open  the  executable.   You can even type /proc/[number]/exe to
65              run another copy of the same  executable  as  is  being  run  by
66              process  [number].   In a multithreaded process, the contents of
67              this symbolic link are not available  if  the  main  thread  has
68              already terminated (typically by calling pthread_exit(3)).
69
70              Under  Linux  2.0 and earlier /proc/[number]/exe is a pointer to
71              the binary which was executed, and appears as a symbolic link. A
72              readlink(2)  call  on this file under Linux 2.0 returns a string
73              in the format:
74
75              [device]:inode
76
77              For example, [0301]:1502 would be inode 1502 on device major  03
78              (IDE,  MFM,  etc. drives) minor 01 (first partition on the first
79              drive).
80
81              find(1) with the -inum option can be used to locate the file.
82
83       /proc/[number]/fd
84              This is a subdirectory containing one entry for each file  which
85              the process has open, named by its file descriptor, and which is
86              a symbolic link to the actual file.  Thus, 0 is standard  input,
87              1 standard output, 2 standard error, etc.
88
89              In  a  multithreaded process, the contents of this directory are
90              not available if the main thread has already  terminated  (typi‐
91              cally by calling pthread_exit(3)).
92
93              Programs  that will take a filename, but will not take the stan‐
94              dard input, and which write to a file, but will not  send  their
95              output  to  standard output, can be effectively foiled this way,
96              assuming that -i is the flag designating an input file and -o is
97              the flag designating an output file:
98
99              foobar -i /proc/self/fd/0 -o /proc/self/fd/1 ...
100
101              and you have a working filter.
102
103              /proc/self/fd/N  is  approximately the same as /dev/fd/N in some
104              UNIX and UNIX-like systems.  Most Linux MAKEDEV scripts symboli‐
105              cally link /dev/fd to /proc/self/fd, in fact.
106
107       /proc/[number]/maps
108              A  file containing the currently mapped memory regions and their
109              access permissions.
110
111              The format is:
112
113        address           perms offset  dev   inode      pathname
114        08048000-08056000 r-xp 00000000 03:0c 64593      /usr/sbin/gpm
115        08056000-08058000 rw-p 0000d000 03:0c 64593      /usr/sbin/gpm
116        08058000-0805b000 rwxp 00000000 00:00 0
117        40000000-40013000 r-xp 00000000 03:0c 4165       /lib/ld-2.2.4.so
118        40013000-40015000 rw-p 00012000 03:0c 4165       /lib/ld-2.2.4.so
119        4001f000-40135000 r-xp 00000000 03:0c 45494      /lib/libc-2.2.4.so
120        40135000-4013e000 rw-p 00115000 03:0c 45494      /lib/libc-2.2.4.so
121        4013e000-40142000 rw-p 00000000 00:00 0
122        bffff000-c0000000 rwxp 00000000 00:00 0
123
124              where address is the address space in the process that it  occu‐
125              pies, perms is a set of permissions:
126
127                   r = read
128                   w = write
129                   x = execute
130                   s = shared
131                   p = private (copy on write)
132
133              offset  is  the offset into the file/whatever, dev is the device
134              (major:minor), and inode is the inode on that device.   0  indi‐
135              cates that no inode is associated with the memory region, as the
136              case would be with bss.
137
138              Under Linux 2.0 there is no field giving pathname.
139
140       /proc/[number]/mem
141              This file can be used to access the pages of a process's  memory
142              through open(2), read(2), and lseek(2).
143
144       /proc/[number]/root
145              Unix  and  Linux  support  the idea of a per-process root of the
146              filesystem, set by the chroot(2) system call.  This  file  is  a
147              symbolic  link  that points to the process's root directory, and
148              behaves as exe, fd/*, etc. do.
149
150              In a multithreaded process, the contents of this  symbolic  link
151              are  not  available  if  the  main thread has already terminated
152              (typically by calling pthread_exit(3)).
153
154       /proc/[number]/smaps (since Linux 2.6.14)
155              This file shows memory consumption for  each  of  the  process's
156              mappings.   For  each  of mappings there is a series of lines as
157              follows:
158
159                08048000-080bc000 r-xp 00000000 03:02 13130      /bin/bash
160                Size:               464 kB
161                Rss:                424 kB
162                Shared_Clean:       424 kB
163                Shared_Dirty:         0 kB
164                Private_Clean:        0 kB
165                Private_Dirty:        0 kB
166
167              The first of these lines shows the same information as  is  dis‐
168              played  for  the  mapping in /proc/[number]/maps.  The remaining
169              lines show the size of the mapping, the amount  of  the  mapping
170              that  is  currently  resident in RAM, the number clean and dirty
171              shared pages in the mapping, and the number clean and dirty pri‐
172              vate pages in the mapping.
173
174              This file is only present if the CONFIG_MMU kernel configuration
175              option is enabled.
176
177       /proc/[number]/stat
178              Status information about the process.  This is  used  by  ps(1).
179              It is defined in /usr/src/linux/fs/proc/array.c.
180
181              The  fields,  in order, with their proper scanf(3) format speci‐
182              fiers, are:
183
184              pid %d The process ID.
185
186              comm %s
187                     The filename of the executable, in parentheses.  This  is
188                     visible whether or not the executable is swapped out.
189
190              state %c
191                     One  character  from  the string "RSDZTW" where R is run‐
192                     ning, S is sleeping in an interruptible wait, D is  wait‐
193                     ing  in  uninterruptible  disk  sleep,  Z is zombie, T is
194                     traced or stopped (on a signal), and W is paging.
195
196              ppid %d
197                     The PID of the parent.
198
199              pgrp %d
200                     The process group ID of the process.
201
202              session %d
203                     The session ID of the process.
204
205              tty_nr %d
206                     The tty the process uses.
207
208              tpgid %d
209                     The process group ID of the process which currently  owns
210                     the tty that the process is connected to.
211
212              flags %lu
213                     The  kernel  flags word of the process. For bit meanings,
214                     see the PF_* defines in <linux/sched.h>.  Details  depend
215                     on the kernel version.
216
217              minflt %lu
218                     The  number  of  minor  faults the process has made which
219                     have not required loading a memory page from disk.
220
221              cminflt %lu
222                     The number of minor faults that the process's  waited-for
223                     children have made.
224
225              majflt %lu
226                     The  number  of  major  faults the process has made which
227                     have required loading a memory page from disk.
228
229              cmajflt %lu
230                     The number of major faults that the process's  waited-for
231                     children have made.
232
233              utime %lu
234                     The  number  of jiffies that this process has been sched‐
235                     uled in user mode.
236
237              stime %lu
238                     The number of jiffies that this process has  been  sched‐
239                     uled in kernel mode.
240
241              cutime %ld
242                     The  number  of  jiffies  that  this process's waited-for
243                     children have been scheduled  in  user  mode.  (See  also
244                     times(2).)
245
246              cstime %ld
247                     The  number  of  jiffies  that  this process's waited-for
248                     children have been scheduled in kernel mode.
249
250              priority %ld
251                     The standard nice value,  plus  fifteen.   The  value  is
252                     never negative in the kernel.
253
254              nice %ld
255                     The  nice  value ranges from 19 (nicest) to -19 (not nice
256                     to others).
257
258              0 %ld  This value is hard coded to 0  as  a  placeholder  for  a
259                     removed field.
260
261              itrealvalue %ld
262                     The  time  in  jiffies before the next SIGALRM is sent to
263                     the process due to an interval timer.
264
265              starttime %lu
266                     The time in jiffies  the  process  started  after  system
267                     boot.
268
269              vsize %lu
270                     Virtual memory size in bytes.
271
272              rss %ld
273                     Resident  Set  Size:  number  of pages the process has in
274                     real memory, minus 3 for administrative purposes. This is
275                     just  the  pages which count towards text, data, or stack
276                     space.  This does not include pages which have  not  been
277                     demand-loaded in, or which are swapped out.
278
279              rlim %lu
280                     Current limit in bytes on the rss of the process (usually
281                     4294967295 on i386).
282
283              startcode %lu
284                     The address above which program text can run.
285
286              endcode %lu
287                     The address below which program text can run.
288
289              startstack %lu
290                     The address of the start of the stack.
291
292              kstkesp %lu
293                     The current value of esp (stack pointer), as found in the
294                     kernel stack page for the process.
295
296              kstkeip %lu
297                     The current EIP (instruction pointer).
298
299              signal %lu
300                     The bitmap of pending signals.
301
302              blocked %lu
303                     The bitmap of blocked signals.
304
305              sigignore %lu
306                     The bitmap of ignored signals.
307
308              sigcatch %lu
309                     The bitmap of caught signals.
310
311              wchan %lu
312                     This  is  the  "channel" in which the process is waiting.
313                     It is the address of a system call, and can be looked  up
314                     in  a  namelist if you need a textual name.  (If you have
315                     an up-to-date /etc/psdatabase, then try ps -l to see  the
316                     WCHAN field in action.)
317
318              nswap %lu
319                     Number of pages swapped (not maintained).
320
321              cnswap %lu
322                     Cumulative nswap for child processes (not maintained).
323
324              exit_signal %d
325                     Signal to be sent to parent when we die.
326
327              processor %d
328                     CPU number last executed on.
329
330              rt_priority %lu (since kernel 2.5.19)
331                     Real-time   scheduling   priority   (see  sched_setsched‐
332                     uler(2)).
333
334              policy %lu (since kernel 2.5.19)
335                     Scheduling policy (see sched_setscheduler(2)).
336
337              delayacct_blkio_ticks (since kernel 2.6.18)
338                     Aggregated block I/O  delays  (measured  in  clock  ticks
339                     (centiseconds)).
340
341       /proc/[number]/statm
342              Provides  information about memory status in pages.  The columns
343              are:
344               size       total program size
345               resident   resident set size
346               share      shared pages
347               text       text (code)
348               lib        library
349               data       data/stack
350               dt         dirty pages (unused in Linux 2.6)
351
352       /proc/[number]/status
353              Provides much of  the  information  in  /proc/[number]/stat  and
354              /proc/[number]/statm  in  a  format  that's easier for humans to
355              parse.
356
357       /proc/[number]/task (since kernel 2.6.0-test6)
358              This is a directory that  contains  one  subdirectory  for  each
359              thread  in  the  process.   The name of each subdirectory is the
360              numerical thread ID of the thread (see gettid(2)).  Within  each
361              of  these  subdirectories, there is a set of files with the same
362              names and contents as under the /proc/[number] directories.  For
363              attributes that are shared by all threads, the contents for each
364              of the files under the task/[thread-ID] subdirectories  will  be
365              the  same as in the corresponding file in the parent /proc/[num‐
366              ber] directory (e.g., in a multithreaded  process,  all  of  the
367              task/[thread-ID]/cwd  files  will  have  the  same  value as the
368              /proc/[number]/cwd file in the parent directory,  since  all  of
369              the  threads  in  a  process  share  a  working directory).  For
370              attributes that are distinct for each thread, the  corresponding
371              files  under  task/[thread-ID]  may have different values (e.g.,
372              various fields in each of the task/[thread-ID]/status files  may
373              be different for each thread).
374
375              In  a  multithreaded  process,  the  contents of the /proc/[num‐
376              ber]/task directory are not available if  the  main  thread  has
377              already terminated (typically by calling pthread_exit(3)).
378
379       /proc/apm
380              Advanced  power  management version and battery information when
381              CONFIG_APM is defined at kernel compilation time.
382
383       /proc/bus
384              Contains subdirectories for installed busses.
385
386       /proc/bus/pccard
387              Subdirectory for pcmcia devices when  CONFIG_PCMCIA  is  set  at
388              kernel compilation time.
389
390       /proc/bus/pccard/drivers
391
392       /proc/bus/pci
393              Contains  various bus subdirectories and pseudo-files containing
394              information about pci  busses,  installed  devices,  and  device
395              drivers.  Some of these files are not ASCII.
396
397       /proc/bus/pci/devices
398              Information  about  pci  devices.   They may be accessed through
399              lspci(8) and setpci(8).
400
401       /proc/cmdline
402              Arguments passed to the Linux kernel at boot time.   Often  done
403              via a boot manager such as lilo(1).
404
405       /proc/cpuinfo
406              This  is  a  collection of CPU and system architecture dependent
407              items, for each supported architecture a  different  list.   Two
408              common   entries  are  processor  which  gives  CPU  number  and
409              bogomips; a system constant that  is  calculated  during  kernel
410              initialization.  SMP machines have information for each CPU.
411
412       /proc/devices
413              Text  listing  of  major numbers and device groups.  This can be
414              used by MAKEDEV scripts for consistency with the kernel.
415
416       /proc/diskstats (since Linux 2.5.69)
417              This file contains disk I/O statistics  for  each  disk  device.
418              See the kernel source file Documentation/iostats.txt for further
419              information.
420
421       /proc/dma
422              This is a list of the registered ISA DMA (direct memory  access)
423              channels in use.
424
425       /proc/driver
426              Empty subdirectory.
427
428       /proc/execdomains
429              List of the execution domains (ABI personalities).
430
431       /proc/fb
432              Frame buffer information when CONFIG_FB is defined during kernel
433              compilation.
434
435       /proc/filesystems
436              A text listing of the filesystems which were compiled  into  the
437              kernel.  Incidentally, this is used by mount(1) to cycle through
438              different filesystems when none is specified.
439
440       /proc/fs
441              Empty subdirectory.
442
443       /proc/ide
444              This directory exists on systems with the ide  bus.   There  are
445              directories  for  each  ide  channel and attached device.  Files
446              include:
447
448              cache              buffer size in KB
449              capacity           number of sectors
450              driver             driver version
451              geometry           physical and logical geometry
452              identify           in hexadecimal
453              media              media type
454              model              manufacturer's model number
455              settings           drive settings
456              smart_thresholds   in hexadecimal
457              smart_values       in hexadecimal
458
459              The hdparm(8) utility provides access to this information  in  a
460              friendly format.
461
462       /proc/interrupts
463              This  is used to record the number of interrupts per each IRQ on
464              (at least) the i386 architecture.  Very easy to read formatting,
465              done in ASCII.
466
467       /proc/iomem
468              I/O memory map in Linux 2.4.
469
470       /proc/ioports
471              This is a list of currently registered Input-Output port regions
472              that are in use.
473
474       /proc/kallsyms (since Linux 2.5.71)
475              This holds the kernel exported symbol definitions  used  by  the
476              modules(X)  tools to dynamically link and bind loadable modules.
477              In Linux 2.5.47 and earlier, a similar file with  slightly  dif‐
478              ferent syntax was named ksyms.
479
480       /proc/kcore
481              This  file  represents  the physical memory of the system and is
482              stored in the ELF core file format.  With this pseudo-file,  and
483              an unstripped kernel (/usr/src/linux/vmlinux) binary, GDB can be
484              used to examine the current state of any kernel data structures.
485
486              The total length of the file is  the  size  of  physical  memory
487              (RAM) plus 4KB.
488
489       /proc/kmsg
490              This  file  can  be used instead of the syslog(2) system call to
491              read kernel messages.  A process must have superuser  privileges
492              to  read  this file, and only one process should read this file.
493              This file should not be read if  a  syslog  process  is  running
494              which uses the syslog(2) system call facility to log kernel mes‐
495              sages.
496
497              Information in this file is retrieved with the dmesg(8) program.
498
499       /proc/ksyms (Linux 1.1.23-2.5.47)
500              See /proc/kallsyms.
501
502       /proc/loadavg
503              The first three fields in this file  are  load  average  figures
504              giving  the number of jobs in the run queue (state R) or waiting
505              for disk I/O (state D) averaged over 1, 5, and 15 minutes.  They
506              are  the same as the load average numbers given by uptime(1) and
507              other programs.  The fourth field consists of two numbers  sepa‐
508              rated  by a slash (/).  The first of these is the number of cur‐
509              rently  executing   kernel   scheduling   entities   (processes,
510              threads); this will be less than or equal to the number of CPUs.
511              The value after the slash is the  number  of  kernel  scheduling
512              entities that currently exist on the system.  The fifth field is
513              the PID of the process that was most  recently  created  on  the
514              system.
515
516       /proc/locks
517              This  file  shows current file locks (flock(2) and fcntl(2)) and
518              leases (fcntl(2)).
519
520       /proc/malloc
521              This file is only present if CONFIGDEBUGMALLOC was defined  dur‐
522              ing compilation.
523
524       /proc/meminfo
525              This  is  used  by free(1) to report the amount of free and used
526              memory (both physical and swap) on the system  as  well  as  the
527              shared memory and buffers used by the kernel.
528
529              It is in the same format as free(1), except in bytes rather than
530              KB.
531
532       /proc/mounts
533              This is a list of all the file systems currently mounted on  the
534              system.   The  format  of  this  file is documented in fstab(5).
535              Since kernel version 2.6.15, this file is pollable: after  open‐
536              ing  the  file  for reading, a change in this file (i.e., a file
537              system mount or unmount)  causes  select(2)  to  mark  the  file
538              descriptor  as  readable, and poll(2) and epoll_wait(2) mark the
539              file as having an error condition.
540
541       /proc/modules
542              A text list of the modules that have been loaded by the  system.
543              See also lsmod(8).
544
545       /proc/mtrr
546              Memory  Type  Range  Registers.   See  /usr/src/linux/Documenta‐
547              tion/mtrr.txt for details.
548
549       /proc/net
550              various net pseudo-files, all of which give the status  of  some
551              part  of the networking layer.  These files contain ASCII struc‐
552              tures and are, therefore, readable with cat.  However, the stan‐
553              dard  netstat(8)  suite  provides  much  cleaner access to these
554              files.
555
556       /proc/net/arp
557              This holds an ASCII readable dump of the kernel ARP  table  used
558              for  address  resolutions. It will show both dynamically learned
559              and pre-programmed ARP entries.  The format is:
560
561        IP address     HW type   Flags     HW address          Mask   Device
562        192.168.0.50   0x1       0x2       00:50:BF:25:68:F3   *      eth0
563        192.168.0.250  0x1       0xc       00:00:00:00:00:00   *      eth0
564
565              Here 'IP address' is the IPv4 address of the machine and the 'HW
566              type'  is  the  hardware  type of the address from RFC 826.  The
567              flags are the internal flags of the ARP structure (as defined in
568              /usr/include/linux/if_arp.h)  and  the  'HW address' is the data
569              link layer mapping for that IP address if it is known.
570
571       /proc/net/dev
572              The dev pseudo-file contains network device status  information.
573              This  gives  the number of received and sent packets, the number
574              of errors and collisions and other basic statistics.  These  are
575              used  by  the  ifconfig(8) program to report device status.  The
576              format is:
577
578 Inter-|   Receive                                                |  Transmit
579  face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
580     lo: 2776770   11307    0    0    0     0          0         0  2776770   11307    0    0    0     0       0          0
581   eth0: 1215645    2751    0    0    0     0          0         0  1782404    4324    0    0    0   427       0          0
582   ppp0: 1622270    5552    1    0    0     0          0         0   354130    5669    0    0    0     0       0          0
583   tap0:    7714      81    0    0    0     0          0         0     7714      81    0    0    0     0       0          0
584
585       /proc/net/dev_mcast
586              Defined in /usr/src/linux/net/core/dev_mcast.c:
587                   indx interface_name  dmi_u dmi_g dmi_address
588                   2    eth0            1     0     01005e000001
589                   3    eth1            1     0     01005e000001
590                   4    eth2            1     0     01005e000001
591
592       /proc/net/igmp
593              Internet    Group    Management    Protocol.      Defined     in
594              /usr/src/linux/net/core/igmp.c.
595
596       /proc/net/rarp
597              This  file uses the same format as the arp file and contains the
598              current reverse mapping database used to provide rarp(8) reverse
599              address lookup services. If RARP is not configured into the ker‐
600              nel, this file will not be present.
601
602       /proc/net/raw
603              Holds a dump of the RAW socket table. Much of the information is
604              not  of  use  apart from debugging. The 'sl' value is the kernel
605              hash slot for the socket,  the  'local  address'  is  the  local
606              address  and protocol number pair."St" is the internal status of
607              the socket. The "tx_queue" and "rx_queue" are the  outgoing  and
608              incoming  data queue in terms of kernel memory usage.  The "tr",
609              "tm->when", and "rexmits" fields are not used by RAW.  The "uid"
610              field holds the effective UID of the creator of the socket.
611
612       /proc/net/snmp
613              This file holds the ASCII data needed for the IP, ICMP, TCP, and
614              UDP management information bases for an snmp agent.
615
616       /proc/net/tcp
617              Holds a dump of the TCP socket table. Much of the information is
618              not  of  use  apart from debugging. The "sl" value is the kernel
619              hash slot for the socket,  the  "local  address"  is  the  local
620              address  and  port  number  pair.   The  "remote address" is the
621              remote address and port number pair (if connected). 'St' is  the
622              internal  status  of  the socket.  The 'tx_queue' and 'rx_queue'
623              are the outgoing and incoming data queue in terms of kernel mem‐
624              ory  usage.   The  "tr",  "tm->when",  and "rexmits" fields hold
625              internal information of the kernel socket  state  and  are  only
626              useful  for  debugging.  The "uid" field holds the effective UID
627              of the creator of the socket.
628
629       /proc/net/udp
630              Holds a dump of the UDP socket table. Much of the information is
631              not  of  use  apart from debugging. The "sl" value is the kernel
632              hash slot for the socket,  the  "local  address"  is  the  local
633              address  and  port  number  pair.   The  "remote address" is the
634              remote address and port number pair (if connected). "St" is  the
635              internal  status  of  the socket.  The "tx_queue" and "rx_queue"
636              are the outgoing and incoming data queue in terms of kernel mem‐
637              ory  usage.  The  "tr", "tm->when", and "rexmits" fields are not
638              used by UDP.  The "uid" field holds the  effective  UID  of  the
639              creator of the socket.  The format is:
640
641 sl  local_address rem_address   st tx_queue rx_queue tr rexmits  tm->when uid
642  1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0
643  1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0
644  1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0
645
646       /proc/net/unix
647              Lists  the  UNIX  domain  sockets  present within the system and
648              their status.  The format is:
649              Num RefCount Protocol Flags    Type St Path
650               0: 00000002 00000000 00000000 0001 03
651               1: 00000001 00000000 00010000 0001 01 /dev/printer
652
653              Here 'Num' is the kernel table slot number,  'RefCount'  is  the
654              number of users of the socket, 'Protocol' is currently always 0,
655              'Flags' represent the internal kernel flags holding  the  status
656              of  the socket. Currently, type is always '1' (Unix domain data‐
657              gram sockets are not yet supported in the kernel). 'St'  is  the
658              internal state of the socket and Path is the bound path (if any)
659              of the socket.
660
661       /proc/partitions
662              Contains major and minor numbers of each partition  as  well  as
663              number of blocks and partition name.
664
665       /proc/pci
666              This  is  a  listing of all PCI devices found during kernel ini‐
667              tialization and their configuration.
668
669       /proc/scsi
670              A directory with the scsi mid-level pseudo-file and various SCSI
671              lowlevel  driver directories, which contain a file for each SCSI
672              host in this system, all of which give the status of  some  part
673              of  the SCSI IO subsystem.  These files contain ASCII structures
674              and are, therefore, readable with cat.
675
676              You can also write to some of the files to reconfigure the  sub‐
677              system or switch certain features on or off.
678
679       /proc/scsi/scsi
680              This  is  a listing of all SCSI devices known to the kernel. The
681              listing is similar to the one seen  during  bootup.   scsi  cur‐
682              rently  supports only the add-single-device command which allows
683              root to add a hotplugged device to the list of known devices.
684
685              An echo 'scsi add-single-device 1 0 5 0' > /proc/scsi/scsi  will
686              cause  host scsi1 to scan on SCSI channel 0 for a device on ID 5
687              LUN 0. If there is already a device known on this address or the
688              address is invalid, an error will be returned.
689
690       /proc/scsi/[drivername]
691              [drivername]  can  currently  be  NCR53c7xx,  aha152x,  aha1542,
692              aha1740, aic7xxx, buslogic, eata_dma, eata_pio, fdomain, in2000,
693              pas16,  qlogic,  scsi_debug, seagate, t128, u15-24f, ultrastore,
694              or wd7000.  These directories show up for all drivers that  reg‐
695              istered at least one SCSI HBA. Every directory contains one file
696              per registered host. Every host-file is named after  the  number
697              the host was assigned during initialization.
698
699              Reading these files will usually show driver and host configura‐
700              tion, statistics etc.
701
702              Writing to these files  allows  different  things  on  different
703              hosts.   For  example,  with the latency and nolatency commands,
704              root can switch on and off command latency measurement  code  in
705              the  eata_dma  driver. With the lockup and unlock commands, root
706              can control bus lockups simulated by the scsi_debug driver.
707
708       /proc/self
709              This  directory  refers  to  the  process  accessing  the  /proc
710              filesystem, and is identical to the /proc directory named by the
711              process ID of the same process.
712
713       /proc/slabinfo
714              Information about kernel caches.  The columns are:
715              cache-name
716              num-active-objs
717              total-objs
718              object-size
719              num-active-slabs
720              total-slabs
721              num-pages-per-slab
722              See slabinfo(5) for details.
723
724       /proc/stat
725              kernel/system statistics.   Varies  with  architecture.   Common
726              entries include:
727
728              cpu  3357 0 4313 1362393
729                     The   amount  of  time,  measured  in  units  of  USER_HZ
730                     (1/100ths of a second on most  architectures),  that  the
731                     system  spent  in  user mode, user mode with low priority
732                     (nice), system mode, and  the  idle  task,  respectively.
733                     The  last  value should be USER_HZ times the second entry
734                     in the uptime pseudo-file.
735
736                     In Linux 2.6 this line includes three additional columns:
737                     iowait - time waiting for I/O to complete (since 2.5.41);
738                     irq -  time  servicing  interrupts  (since  2.6.0-test4);
739                     softirq - time servicing softirqs (since 2.6.0-test4).
740
741              page 5741 1808
742                     The  number  of  pages the system paged in and the number
743                     that were paged out (from disk).
744
745              swap 1 0
746                     The number of swap pages that have been  brought  in  and
747                     out.
748
749              intr 1462898
750                     This  line shows counts of interrupts serviced since boot
751                     time, for each of the possible  system  interrupts.   The
752                     first  column  is  the  total of all interrupts serviced;
753                     each subsequent column is  the  total  for  a  particular
754                     interrupt.
755
756              disk_io: (2,0):(31,30,5764,1,2) (3,0):...
757                     (major,minor):(noinfo,       read_io_ops,      blks_read,
758                     write_io_ops, blks_written)
759                     (Linux 2.4 only)
760
761              ctxt 115315
762                     The number of context switches that the system underwent.
763
764              btime 769041601
765                     boot time, in seconds since the epoch (January 1, 1970).
766
767              processes 86031
768                     Number of forks since boot.
769
770              procs_running 6
771                     Number of processes in  runnable  state.   (Linux  2.5.45
772                     onwards.)
773
774              procs_blocked 2
775                     Number  of processes blocked waiting for I/O to complete.
776                     (Linux 2.5.45 onwards.)
777
778       /proc/swaps
779              Swap areas in use.  See also swapon(8).
780
781       /proc/sys
782              This directory (present since 1.3.57) contains a number of files
783              and  subdirectories  corresponding  to  kernel variables.  These
784              variables can be read and sometimes modified using the proc file
785              system, and the sysctl(2) system call. Presently, there are sub‐
786              directories abi, debug, dev, fs, kernel, net, proc, rxrpc,  sun‐
787              rpc and vm that each contain more files and subdirectories.
788
789       /proc/sys/abi
790              This  directory may contain files with application binary infor‐
791              mation.  On some systems, it is not present.
792
793       /proc/sys/debug
794              This directory may be empty.
795
796       /proc/sys/dev
797              This  directory  contains  device   specific   information   (eg
798              dev/cdrom/info).  On some systems, it may be empty.
799
800       /proc/sys/fs
801              This  contains  the  subdirectories  binfmt_misc,  inotify,  and
802              mqueue, and  files  dentry-state,  dir-notify-enable,  dquot-nr,
803              file-max,  file-nr,  inode-max,  inode-nr,  inode-state,  lease-
804              break-time,     leases-enable,     overflowgid,     overflowuid,
805              suid_dumpable, super-max, and super-nr.
806
807       /proc/sys/fs/binfmt_misc
808              Documentation  for  files  in this directory can be found in the
809              kernel sources in Documentation/binfmt_misc.txt.
810
811       /proc/sys/fs/dentry-state
812              This file contains six numbers, nr_dentry, nr_unused,  age_limit
813              (age in seconds), want_pages (pages requested by system) and two
814              dummy values.  nr_dentry seems to be 0 all the time.   nr_unused
815              seems to be the number of unused dentries.  age_limit is the age
816              in seconds after which dcache entries can be reclaimed when mem‐
817              ory  is  short  and  want_pages  is non-zero when the kernel has
818              called shrink_dcache_pages() and the dcache isn't pruned yet.
819
820       /proc/sys/fs/dir-notify-enable
821              This file can be used to disable or enable the dnotify interface
822              described  in  fcntl(2) on a system-wide basis.  A value of 0 in
823              this file disables the interface, and a value of 1 enables it.
824
825       /proc/sys/fs/dquot-max
826              This file shows the maximum number of cached disk quota entries.
827              On some (2.4) systems, it is not present.  If the number of free
828              cached disk quota entries is very low and you have some  awesome
829              number of simultaneous system users, you might want to raise the
830              limit.
831
832       /proc/sys/fs/dquot-nr
833              This file shows the number of allocated disk quota  entries  and
834              the number of free disk quota entries.
835
836       /proc/sys/fs/file-max
837              This  file  defines  a  system-wide  limit on the number of open
838              files for all processes.  (See also setrlimit(2), which  can  be
839              used  by  a process to set the per-process limit, RLIMIT_NOFILE,
840              on the number of files it may open.)  If you get lots  of  error
841              messages  about running out of file handles, try increasing this
842              value:
843
844              echo 100000 > /proc/sys/fs/file-max
845
846              The kernel constant NR_OPEN imposes an upper limit on the  value
847              that may be placed in file-max.
848
849              If  you  increase  /proc/sys/fs/file-max,  be  sure  to increase
850              /proc/sys/fs/inode-max  to  3-4   times   the   new   value   of
851              /proc/sys/fs/file-max, or you will run out of inodes.
852
853       /proc/sys/fs/file-nr
854              This  (read-only)  file  gives  the  number  of  files presently
855              opened.  It contains three numbers: The number of allocated file
856              handles,  the number of free file handles and the maximum number
857              of file handles.  The kernel allocates file handles dynamically,
858              but  it  doesn't  free  them  again.  If the number of allocated
859              files is close to the
860
861              maximum, you should consider increasing the maximum.   When  the
862              number  of free file handles is large, you've encountered a peak
863              in your usage of file handles and you  probably  don't  need  to
864              increase the maximum.
865
866       /proc/sys/fs/inode-max
867              This  file  contains the maximum number of in-memory inodes.  On
868              some (2.4) systems, it may not be present. This value should  be
869              3-4 times larger than the value in file-max, since stdin, stdout
870              and network sockets also need an inode to handle them. When  you
871              regularly run out of inodes, you need to increase this value.
872
873       /proc/sys/fs/inode-nr
874              This file contains the first two values from inode-state.
875
876       /proc/sys/fs/inode-state
877              This  file  contains  seven  numbers: nr_inodes, nr_free_inodes,
878              preshrink and four dummy values.  nr_inodes  is  the  number  of
879              inodes the system has allocated.  This can be slightly more than
880              inode-max because Linux allocates them one page full at a  time.
881              nr_free_inodes  represents the number of free inodes.  preshrink
882              is non-zero when the nr_inodes > inode-max and the system  needs
883              to prune the inode list instead of allocating more.
884
885       /proc/sys/fs/inotify (since Linux 2.6.13)
886              This     directory     contains     files     max_queued_events,
887              max_user_instances, and max_user_watches, that can  be  used  to
888              limit the amount of kernel memory consumed by the inotify inter‐
889              face.  For further details, see inotify(7).
890
891       /proc/sys/fs/lease-break-time
892              This file specifies the grace period that the kernel grants to a
893              process holding a file lease (fcntl(2)) after it has sent a sig‐
894              nal to that process notifying it that another process is waiting
895              to  open the file.  If the lease holder does not remove or down‐
896              grade the lease within this grace period,  the  kernel  forcibly
897              breaks the lease.
898
899       /proc/sys/fs/leases-enable
900              This  file  can  be  used  to  enable  or  disable  file  leases
901              (fcntl(2)) on a system-wide basis.  If this  file  contains  the
902              value 0, leases are disabled.  A non-zero value enables leases.
903
904       /proc/sys/fs/mqueue (since Linux 2.6.6)
905              This   directory   contains   files  msg_max,  msgsize_max,  and
906              queues_max, controlling the  resources  used  by  POSIX  message
907              queues.  See mq_overview(7) for details.
908
909       /proc/sys/fs/overflowgid and /proc/sys/fs/overflowuid
910              These  files  allow you to change the value of the fixed UID and
911              GID.  The default  is  65534.   Some  filesystems  only  support
912              16-bit  UIDs  and  GIDs,  although in Linux UIDs and GIDs are 32
913              bits. When one of  these  filesystems  is  mounted  with  writes
914              enabled, any UID or GID that would exceed 65535 is translated to
915              the overflow value before being written to disk.
916
917       /proc/sys/fs/suid_dumpable (since Linux 2.6.13)
918              The value in this file determines whether core  dump  files  are
919              produced  for  set-user-ID  or otherwise protected/tainted bina‐
920              ries.  Three different integer values can be specified:
921
922              0 (default) This provides the traditional (pre-Linux 2.6.13) be‐
923              haviour.   A  core dump will not be produced for a process which
924              has changed credentials (by calling  seteuid(2),  setgid(2),  or
925              similar,  or by executing a set-user-ID or set-group-ID program)
926              or whose binary does not have read permission enabled.
927
928              1 ("debug") All processes dump core  when  possible.   The  core
929              dump  is owned by the file system user ID of the dumping process
930              and no security is applied.  This is intended for system  debug‐
931              ging situations only.  Ptrace is unchecked.
932
933              2 ("suidsafe")  Any  binary  which  normally would not be dumped
934              (see "0" above) is dumped readable by root  only.   This  allows
935              the  user  to remove the core dump file but not to read it.  For
936              security reasons core dumps in this mode will not overwrite  one
937              another  or other files.  This mode is appropriate when adminis‐
938              trators are attempting to debug problems in  a  normal  environ‐
939              ment.
940
941       /proc/sys/fs/super-max
942              This  file  controls the maximum number of superblocks, and thus
943              the maximum number of mounted filesystems the kernel  can  have.
944              You  only  need  to increase super-max if you need to mount more
945              filesystems than the current value in super-max allows you to.
946
947       /proc/sys/fs/super-nr
948              This file contains the number of filesystems currently mounted.
949
950       /proc/sys/kernel
951              This  directory  contains  files   acct,   cad_pid,   cap-bound,
952              core_pattern, core_uses_pid, ctrl-alt-del, dentry-state, domain‐
953              name, hotplug,  hostname,  htab-reclaim  (PowerPC  only),  java-
954              appletviewer     (binfmt_java,    obsolete),    java-interpreter
955              (binfmt_java, obsolete), l2cr (PowerPC only), modprobe,  msgmax,
956              msgmnb,  msgmni,  osrelease,  ostype,  overflowgid, overflowuid,
957              panic, panic_on_oops,  pid_max,  powersave-nap  (PowerPC  only),
958              printk,  pty,  random,  real-root-dev,  reboot-cmd (SPARC only),
959              rtsig-max, rtsig-nr, sem, sg-big-buff, shmall,  shmmax,  shmmni,
960              sysrq,  tainted,  threads-max,  version, and zero-paged (PowerPC
961              only).
962
963       /proc/sys/kernel/acct
964              This file contains three numbers: highwater, lowwater  and  fre‐
965              quency.  If BSD-style process accounting is enabled these values
966              control its behaviour. If free space on filesystem where the log
967              lives  goes  below lowwater percent accounting suspends. If free
968              space gets above highwater  percent  accounting  resumes.   Fre‐
969              quency determines how often the kernel checks the amount of free
970              space (value is in seconds). Default values are  4,  2  and  30.
971              That is, suspend accounting if <= 2% of space is free; resume it
972              if >= 4% of space is free; consider information about amount  of
973              free space valid for 30 seconds.
974
975       /proc/sys/kernel/cap-bound
976              This  file holds the value of the kernel capability bounding set
977              (expressed as a signed  decimal  number).   This  set  is  ANDed
978              against the capabilities permitted to a process during exec().
979
980       /proc/sys/kernel/core_pattern
981              See core(5).  /proc/sys/kernel/core_uses_pid See core(5).
982
983       /proc/sys/kernel/ctrl-alt-del
984              This  file  controls  the handling of Ctrl-Alt-Del from the key‐
985              board.  When the value  in  this  file  is  0,  Ctrl-Alt-Del  is
986              trapped  and  sent  to  the init(1) program to handle a graceful
987              restart.  When the value is > 0, Linux's reaction  to  a  Vulcan
988              Nerve Pinch (tm) will be an immediate reboot, without even sync‐
989              ing its dirty buffers.  Note: when a program (like  dosemu)  has
990              the  keyboard  in 'raw' mode, the ctrl-alt-del is intercepted by
991              the program before it ever reaches the  kernel  tty  layer,  and
992              it's up to the program to decide what to do with it.
993
994       /proc/sys/kernel/hotplug
995              This  file  contains the path for the hotplug policy agent.  The
996              default value in this file "/sbin/hotplug".
997
998       /proc/sys/kernel/domainname and /proc/sys/kernel/hostname
999              can be used to set the NIS/YP domainname  and  the  hostname  of
1000              your  box in exactly the same way as the commands domainname and
1001              hostname, i.e.:
1002
1003              # echo "darkstar" > /proc/sys/kernel/hostname
1004              # echo "mydomain" > /proc/sys/kernel/domainname
1005
1006              has the same effect as
1007
1008              # hostname "darkstar"
1009              # domainname "mydomain"
1010
1011              Note, however, that the classic darkstar.frop.org has the  host‐
1012              name "darkstar" and DNS (Internet Domain Name Server) domainname
1013              "frop.org", not to be confused with the NIS (Network Information
1014              Service) or YP (Yellow Pages) domainname. These two domain names
1015              are in general different. For  a  detailed  discussion  see  the
1016              hostname(1) man page.
1017
1018       /proc/sys/kernel/htab-reclaim
1019              (PowerPC only) If this file is set to a non-zero value, the Pow‐
1020              erPC htab (see kernel  file  Documentation/powerpc/ppc_htab.txt)
1021              is pruned each time the system hits the idle loop.
1022
1023       /proc/sys/kernel/l2cr
1024              (PowerPC  only)  This  file contains a flag that controls the L2
1025              cache of G3 processor boards.  If  0,  the  cache  is  disabled.
1026              Enabled if non-zero.
1027
1028       /proc/sys/kernel/modprobe
1029              This  file  is  described  by  the kernel source file Documenta‐
1030              tion/kmod.txt.
1031
1032       /proc/sys/kernel/msgmax
1033              This file defines a system-wide  limit  specifying  the  maximum
1034              number  of  bytes in a single message written on a System V mes‐
1035              sage queue.
1036
1037       /proc/sys/kernel/msgmni
1038              This file defines the system-wide limit on the number of message
1039              queue  identifiers.   (This  file  is  only present in Linux 2.4
1040              onwards.)
1041
1042       /proc/sys/kernel/msgmnb
1043              This file defines a system-wide parameter used to initialise the
1044              msg_qbytes setting for subsequently created message queues.  The
1045              msg_qbytes setting specifies the maximum number  of  bytes  that
1046              may be written to the message queue.
1047
1048       /proc/sys/kernel/ostype and /proc/sys/kernel/osrelease
1049              These files give substrings of /proc/version.
1050
1051       /proc/sys/kernel/overflowgid and /proc/sys/kernel/overflowuid
1052              These  files  duplicate  the  files /proc/sys/fs/overflowgid and
1053              /proc/sys/fs/overflowuid.
1054
1055       /proc/sys/kernel/panic
1056              gives read/write access to the  kernel  variable  panic_timeout.
1057              If this is zero, the kernel will loop on a panic; if non-zero it
1058              indicates that the kernel should autoreboot after this number of
1059              seconds.   When you use the software watchdog device driver, the
1060              recommended setting is 60.
1061
1062       /proc/sys/kernel/panic_on_oops
1063              This file (new in Linux 2.5)  controls  the  kernel's  behaviour
1064              when  an  oops  or BUG is encountered.  If this file contains 0,
1065              then the system tries to continue operation.  If it contains  1,
1066              then  the  system  delays  a  few seconds (to give klogd time to
1067              record the oops output) and then panics.  If the  /proc/sys/ker‐
1068              nel/panic  file  is  also  non-zero  then  the  machine  will be
1069              rebooted.
1070
1071       /proc/sys/kernel/pid_max
1072              This file (new in Linux 2.5) specifies the value at  which  PIDs
1073              wrap  around  (i.e.,  the value in this file is one greater than
1074              the maximum PID).  The  default  value  for  this  file,  32768,
1075              results  in  the  same  range of PIDs as on earlier kernels.  On
1076              32-bit platforms, 32768 is the maximum value  for  pid_max.   On
1077              64-bit  systems,  pid_max  can  be  set  to any value up to 2^22
1078              (PID_MAX_LIMIT, approximately 4 million).
1079
1080       /proc/sys/kernel/powersave-nap (PowerPC only)
1081              This file contains a flag.  If set, Linux-PPC will use the 'nap'
1082              mode of powersaving, otherwise the 'doze' mode will be used.
1083
1084       /proc/sys/kernel/printk
1085              The  four values in this file are console_loglevel, default_mes‐
1086              sage_loglevel,    minimum_console_level     and     default_con‐
1087              sole_loglevel.   These  values  influence printk() behavior when
1088              printing or logging error messages. See syslog(2) for more  info
1089              on  the  different  loglevels.   Messages with a higher priority
1090              than console_loglevel will be printed to the console.   Messages
1091              without  an  explicit  priority  will  be  printed with priority
1092              default_message_level.  minimum_console_loglevel is the  minimum
1093              (highest)   value   to   which   console_loglevel  can  be  set.
1094              default_console_loglevel  is  the   default   value   for   con‐
1095              sole_loglevel.
1096
1097       /proc/sys/kernel/pty (since Linux 2.6.4)
1098              This directory contains two files relating to the number of Unix
1099              98 pseudo-terminals (see pts(4)) on the system.
1100
1101       /proc/sys/kernel/pty/max
1102              This file defines the maximum number of pseudo-terminals.
1103
1104       /proc/sys/kernel/pty/nr
1105              This read-only file indicates how many pseudo-terminals are cur‐
1106              rently in use.
1107
1108       /proc/sys/kernel/random
1109              This directory contains various parameters controlling the oper‐
1110              ation of the file /dev/random.  See random(4) for further infor‐
1111              mation.
1112
1113       /proc/sys/kernel/real-root-dev
1114              This  file  is  documented  in the kernel source file Documenta‐
1115              tion/initrd.txt.
1116
1117       /proc/sys/kernel/reboot-cmd (Sparc only)
1118              This file seems to be a way to give an  argument  to  the  SPARC
1119              ROM/Flash boot loader. Maybe to tell it what to do after reboot‐
1120              ing?
1121
1122       /proc/sys/kernel/rtsig-max
1123              (Only in kernels up to and including  2.6.7;  see  setrlimit(2))
1124              This  file can be used to tune the maximum number of POSIX real‐
1125              time (queued) signals that can be outstanding in the system.
1126
1127       /proc/sys/kernel/rtsig-nr
1128              (Only in kernels up to and including 2.6.7.)   This  file  shows
1129              the number POSIX realtime signals currently queued.
1130
1131       /proc/sys/kernel/sem (since Linux 2.4)
1132              This  file  contains  4 numbers defining limits for System V IPC
1133              semaphores.  These fields are, in order:
1134
1135              SEMMSL  The maximum semaphores per semaphore set.
1136
1137              SEMMNS  A system-wide limit on the number of semaphores  in  all
1138                      semaphore sets.
1139
1140              SEMOPM  The  maximum  number of operations that may be specified
1141                      in a semop(2) call.
1142
1143              SEMMNI  A system-wide limit on the maximum number  of  semaphore
1144                      identifiers.
1145
1146       /proc/sys/kernel/sg-big-buff
1147              This file shows the size of the generic SCSI device (sg) buffer.
1148              You can't tune it just yet, but you could change it  on  compile
1149              time  by  editing  include/scsi/sg.h  and  changing the value of
1150              SG_BIG_BUFF.  However, there shouldn't be any reason  to  change
1151              this value.
1152
1153       /proc/sys/kernel/shmall
1154              This  file contains the system-wide limit on the total number of
1155              pages of System V shared memory.
1156
1157       /proc/sys/kernel/shmmax
1158              This file can be used to query and set the run time limit on the
1159              maximum  (System  V  IPC) shared memory segment size that can be
1160              created.  Shared memory segments up to 1Gb are now supported  in
1161              the kernel.  This value defaults to SHMMAX.
1162
1163       /proc/sys/kernel/shmmni
1164              (available  in  Linux  2.4  and onwards) This file specifies the
1165              system-wide maximum number of System V  shared  memory  segments
1166              that can be created.
1167
1168       /proc/sys/kernel/version
1169              contains a string like:
1170
1171              #5 Wed Feb 25 21:49:24 MET 1998.TP
1172
1173              The  '#5'  means  that  this is the fifth kernel built from this
1174              source base and the date behind it indicates the time the kernel
1175              was built.
1176
1177       /proc/sys/kernel/zero-paged (PowerPC only)
1178              This  file  contains  a flag. When enabled (non-zero), Linux-PPC
1179              will pre-zero pages in  the  idle  loop,  possibly  speeding  up
1180              get_free_pages.
1181
1182       /proc/sys/net
1183              This directory contains networking stuff.  Explanations for some
1184              of the files under this directory can be  found  in  tcp(7)  and
1185              ip(7).
1186
1187       /proc/sys/proc
1188              This directory may be empty.
1189
1190       /proc/sys/sunrpc
1191              This  directory  supports  Sun remote procedure call for network
1192              file system (NFS).  On some systems, it is not present.
1193
1194       /proc/sys/vm
1195              This directory contains files for memory management tuning, buf‐
1196              fer and cache management.
1197
1198       /proc/sys/vm/drop_caches (since Linux 2.6.16)
1199              Writing  to  this  file  causes the kernel to drop clean caches,
1200              dentries and inodes from memory, causing that memory  to  become
1201              free.
1202
1203              To  free  pagecache,  use  echo 1 > /proc/sys/vm/drop_caches; to
1204              free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;
1205              to   free   pagecache,   dentries  and  inodes,  use  echo  3  >
1206              /proc/sys/vm/drop_caches.
1207
1208              Because this is a non-destructive operation  and  dirty  objects
1209              are not freeable, the user should run sync(8) first.
1210
1211       /proc/sys/vm/legacy_va_layout (since Linux 2.6.9)
1212              If  non-zero, this disable the new 32-bit memory-mapping layout;
1213              the kernel will use the legacy (2.4) layout for all processes.
1214
1215       /proc/sys/vm/overcommit_memory
1216              This file contains the kernel virtual  memory  accounting  mode.
1217              Values are:
1218              0: heuristic overcommit (this is the default)
1219              1: always overcommit, never check
1220              2: always check, never overcommit
1221              In  mode  0,  calls  of  mmap(2)  with MAP_NORESERVE set are not
1222              checked, and the default check is very weak, leading to the risk
1223              of getting a process "OOM-killed".  Under Linux 2.4 any non-zero
1224              value implies mode 1.  In mode 2 (available  since  Linux  2.6),
1225              the  total virtual address space on the system is limited to (SS
1226              + RAM*(r/100)), where SS is the size of the swap space, and  RAM
1227              is the size of the physical memory, and r is the contents of the
1228              file /proc/sys/vm/overcommit_ratio.
1229
1230       /proc/sys/vm/overcommit_ratio
1231              See the description of /proc/sys/vm/overcommit_memory.
1232
1233       /proc/sysvipc
1234              Subdirectory containing  the  pseudo-files  msg,  sem  and  shm.
1235              These  files  list the System V Interprocess Communication (IPC)
1236              objects (respectively: message queues,  semaphores,  and  shared
1237              memory)  that  currently  exist on the system, providing similar
1238              information to that available via  ipcs(1).   These  files  have
1239              headers  and  are  formatted  (one IPC object per line) for easy
1240              understanding.  svipc(7)  provides  further  background  on  the
1241              information shown by these files.
1242
1243       /proc/tty
1244              Subdirectory  containing the pseudo-files and subdirectories for
1245              tty drivers and line disciplines.
1246
1247       /proc/uptime
1248              This file contains two numbers: the uptime of the  system  (sec‐
1249              onds), and the amount of time spent in idle process (seconds).
1250
1251       /proc/version
1252              This string identifies the kernel version that is currently run‐
1253              ning.    It   includes   the   contents   of   /proc/sys/ostype,
1254              /proc/sys/osrelease and /proc/sys/version.  For example:
1255            Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994
1256
1257       /proc/vmstat (since Linux 2.6)
1258              This file displays various virtual memory statistics.
1259
1260
1261       /proc/zoneinfo (since Linux 2.6.13)
1262              This  file display information about memory zones.  This is use‐
1263              ful for analysing virtual memory behaviour.
1264

SEE ALSO

1266       cat(1), find(1), free(1), mount(1), ps(1), tr(1), uptime(1), chroot(2),
1267       mmap(2),   readlink(2),   syslog(2),   slabinfo(5),   hier(7),  arp(8),
1268       dmesg(8), hdparm(8), ifconfig(8),  init(8),  lsmod(8),  lspci(8),  net‐
1269       stat(8), procinfo(8), route(8)
1270       /usr/src/linux/Documentation/filesystems/proc.txt
1271

CAVEATS

1273       Note  that many strings (i.e., the environment and command line) are in
1274       the internal format, with sub-fields terminated by null  bytes  ('\0'),
1275       so  you  may  find that things are more readable if you use od -c or tr
1276       "\000" "\n" to read them.  Alternatively, echo `cat <file>` works well.
1277
1278       This manual page is incomplete, possibly inaccurate, and is the kind of
1279       thing that needs to be updated very often.
1280

ACKNOWLEDGEMENTS

1282       The  material  on /proc/sys/fs and /proc/sys/kernel is closely based on
1283       kernel source documentation files written by Rik van Riel.
1284
1285
1286
1287                                  2005-05-12                           PROC(5)
Impressum