437 lines
6.1 KiB
HTML
437 lines
6.1 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>The /proc filesystem</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
|
REL="HOME"
|
|
TITLE="Linux System Administrators Guide"
|
|
HREF="index.html"><LINK
|
|
REL="UP"
|
|
TITLE="Overview of the Directory Tree"
|
|
HREF="dir-tree-overview.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="The /var filesystem"
|
|
HREF="var-fs.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Hardware, Devices, and Tools"
|
|
HREF="device-list.html"></HEAD
|
|
><BODY
|
|
CLASS="SECT1"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
SUMMARY="Header navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>Linux System Administrators Guide: </TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="var-fs.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
>Chapter 3. Overview of the Directory Tree</TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="device-list.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="PROC-FS"
|
|
></A
|
|
>3.7. The <TT
|
|
CLASS="FILENAME"
|
|
>/proc</TT
|
|
> filesystem</H1
|
|
><P
|
|
>The <TT
|
|
CLASS="FILENAME"
|
|
>/proc</TT
|
|
> filesystem contains a
|
|
illusionary filesystem. It does not exist on a disk. Instead, the
|
|
kernel creates it in memory. It is used to provide information
|
|
about the system (originally about processes, hence the name). Some
|
|
of the more important files and directories are explained below.
|
|
The <TT
|
|
CLASS="FILENAME"
|
|
>/proc</TT
|
|
> filesystem is described in more
|
|
detail in the <TT
|
|
CLASS="FILENAME"
|
|
>proc</TT
|
|
> manual page.
|
|
|
|
<DIV
|
|
CLASS="GLOSSLIST"
|
|
><DL
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/1</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>A directory with information about
|
|
process number 1. Each process has a directory below
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/proc</TT
|
|
> with the name being its process
|
|
identification number. </P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/cpuinfo</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>Information about the processor,
|
|
such as its type, make, model, and performance.
|
|
</P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/devices</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>List of device drivers configured into the
|
|
currently running kernel. </P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/dma</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>Shows which DMA channels are being used
|
|
at the moment. </P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/filesystems</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>Filesystems configured into the kernel.
|
|
</P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/interrupts</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>Shows which interrupts are
|
|
in use, and how many of each there have been.
|
|
</P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/ioports</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>Which I/O ports are in use at the moment.
|
|
</P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/kcore</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>An image of the physical memory of
|
|
the system. This is exactly the same size as your
|
|
physical memory, but does not really take up that much
|
|
memory; it is generated on the fly as programs access it.
|
|
(Remember: unless you copy it elsewhere, nothing under
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/proc</TT
|
|
> takes up any disk space
|
|
at all.) </P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/kmsg</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>Messages output by the kernel.
|
|
These are also routed to <B
|
|
CLASS="COMMAND"
|
|
>syslog</B
|
|
>.
|
|
</P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/ksyms</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>Symbol table for the kernel.
|
|
</P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/loadavg</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>The `load average' of the system; three
|
|
meaningless indicators of how much work the system has
|
|
to do at the moment. </P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/meminfo</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>Information about memory usage, both
|
|
physical and swap. </P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/modules</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>Which kernel modules are loaded at
|
|
the moment. </P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/net</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>Status information about network
|
|
protocols. </P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/self</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>A symbolic link to the process
|
|
directory of the program that is looking at
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/proc</TT
|
|
>. When two processes look at
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/proc</TT
|
|
>, they get different links.
|
|
This is mainly a convenience to make it easier
|
|
for programs to get at their process directory.
|
|
</P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/stat</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>Various statistics about the system, such
|
|
as the number of page faults since the system was booted.
|
|
</P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/uptime</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>The time the system has been up.
|
|
</P
|
|
></DD
|
|
><DT
|
|
><B
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/proc/version</TT
|
|
></B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>The kernel version.
|
|
</P
|
|
></DD
|
|
></DL
|
|
></DIV
|
|
></P
|
|
><P
|
|
>Note that while the above files tend to be easily readable
|
|
text files, they can sometimes be formatted in a way that is not
|
|
easily digestible. There are many commands that do little more than
|
|
read the above files and format them for easier understanding. For
|
|
example, the <B
|
|
CLASS="COMMAND"
|
|
>free</B
|
|
>program reads
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/proc/meminfo</TT
|
|
> converts the amounts given in
|
|
bytes to kilobytes (and adds a little more information, as
|
|
well).</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Footer navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="var-fs.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
ACCESSKEY="H"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="device-list.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>The <TT
|
|
CLASS="FILENAME"
|
|
>/var</TT
|
|
> filesystem</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="dir-tree-overview.html"
|
|
ACCESSKEY="U"
|
|
>Up</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Hardware, Devices, and Tools</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |