Provided by: manpages_4.15-1_all bug

NAME

       sysfs - a filesystem for exporting kernel objects

DESCRIPTION

       The  sysfs  filesystem  is  a pseudo-filesystem which provides an interface to kernel data
       structures.  (More precisely, the files and directories in sysfs provide  a  view  of  the
       kobject  structures  defined internally within the kernel.)  The files under sysfs provide
       information about devices, kernel modules, filesystems, and other kernel components.

       The sysfs filesystem is commonly mounted at /sys.  Typically, it is mounted  automatically
       by the system, but it can also be mounted manually using a command such as:

           mount -t sysfs sysfs /sys

       Many  of  the  files  in  the sysfs filesystem are read-only, but some files are writable,
       allowing kernel variables to be changed.  To avoid redundancy, symbolic links are  heavily
       used to connect entries across the filesystem tree.

   Files and directories
       The following list describes some of the files and directories under the /sys hierarchy.

       /sys/block
              This  subdirectory  contains  one symbolic link for each block device that has been
              discovered on the system.  The symbolic links point  to  corresponding  directories
              under /sys/devices.

       /sys/bus
              This  directory  contains one subdirectory for each of the bus types in the kernel.
              Inside each of these directories are two subdirectories:

              devices
                     This subdirectory contains symbolic links to entries  in  /sys/devices  that
                     correspond to the devices discovered on this bus.

              drivers
                     This  subdirectory  contains one subdirectory for each device driver that is
                     loaded on this bus.

       /sys/class
              This subdirectory contains a single layer of further subdirectories for each of the
              device  classes  that  have been registered on the system (e.g., terminals, network
              devices, block devices, graphics devices, sound devices, and so on).   Inside  each
              of  these  subdirectories are symbolic links for each of the devices in this class.
              These symbolic links refer to entries in the /sys/devices directory.

       /sys/class/net
              Each of the entries in this directory is a symbolic link representing  one  of  the
              real or virtual networking devices that are visible in the network namespace of the
              process that is accessing the directory.  Each of these symbolic  links  refers  to
              entries in the /sys/devices directory.

       /sys/dev
              This  directory  contains  two  subdirectories  block/  and  char/,  corresponding,
              respectively, to the block and character devices on the  system.   Inside  each  of
              these  subdirectories  are symbolic links with names of the form major-ID:minor-ID,
              where the ID values correspond to the major and minor  ID  of  a  specific  device.
              Each  symbolic link points to the sysfs directory for a device.  The symbolic links
              inside /sys/dev thus provide an easy way to look up the sysfs interface  using  the
              device IDs returned by a call to stat(2) (or similar).

              The following shell session shows an example from /sys/dev:

                  $ stat -c "%t %T" /dev/null
                  1 3
                  $ readlink /sys/dev/char/1\:3
                  ../../devices/virtual/mem/null
                  $ ls -Fd /sys/devices/virtual/mem/null
                  /sys/devices/virtual/mem/null/
                  $ ls -d1 /sys/devices/virtual/mem/null/*
                  /sys/devices/virtual/mem/null/dev
                  /sys/devices/virtual/mem/null/power/
                  /sys/devices/virtual/mem/null/subsystem@
                  /sys/devices/virtual/mem/null/uevent

       /sys/devices
              This  is a directory that contains a filesystem representation of the kernel device
              tree, which is a hierarchy of device structures within the kernel.

       /sys/firmware
              This subdirectory  contains  interfaces  for  viewing  and  manipulating  firmware-
              specific objects and attributes.

       /sys/fs
              This  directory  contains  subdirectories  for some filesystems.  A filesystem will
              have a subdirectory here only if it chose to explicitly create the subdirectory.

       /sys/fs/cgroup
              This directory conventionally is used as a mount point for  a  tmpfs(5)  filesystem
              containing mount points for cgroups(7) filesystems.

       /sys/hypervisor
              [To be documented]

       /sys/kernel
              This   subdirectory   contains   various  files  and  subdirectories  that  provide
              information about the running kernel.

       /sys/kernel/cgroup/
              For information about the files in this directory, see cgroups(7).

       /sys/kernel/debug/tracing
              Mount point for the tracefs filesystem used by the kernel's ftrace facility.   (For
              information on ftrace, see the kernel source file Documentation/trace/ftrace.txt.)

       /sys/kernel/mm
              This   subdirectory   contains   various  files  and  subdirectories  that  provide
              information about the kernel's memory management subsystem.

       /sys/kernel/mm/hugepages
              This subdirectory contains one subdirectory for each of the huge  page  sizes  that
              the  system  supports.   The  subdirectory name indicates the huge page size (e.g.,
              hugepages-2048kB).  Within each of these subdirectories is a set of files that  can
              be  used to view and (in some cases) change settings associated with that huge page
              size.     For    further    information,    see    the    kernel    source     file
              Documentation/vm/hugetlbpage.txt.

       /sys/module
              This subdirectory contains one subdirectory for each module that is loaded into the
              kernel.  The name of each directory is the name of the  module.   In  each  of  the
              subdirectories, there may be following files:

              coresize
                     [to be documented]

              initsize
                     [to be documented]

              initstate
                     [to be documented]

              refcnt [to be documented]

              srcversion
                     [to be documented]

              taint  [to be documented]

              uevent [to be documented]

              version
                     [to be documented]

              In each of the subdirectories, there may be following subdirectories:

              drivers
                     [To be documented]

              holders
                     [To be documented]

              notes  [To be documented]

              parameters
                     This  directory  contains one file for each module parameter, with each file
                     containing the value of the corresponding parameter.  Some  of  these  files
                     are writable, allowing the

              sections
                     This  subdirectories  contains files with information about module sections.
                     This information is mainly used for debugging.

              [To be documented]

       /sys/power
              [To be documented]

VERSIONS

       The sysfs filesystem first appeared in Linux 2.6.0.

CONFORMING TO

       The sysfs filesystem is Linux-specific.

NOTES

       This manual page is incomplete, possibly inaccurate, and is the kind of thing  that  needs
       to be updated very often.

SEE ALSO

       proc(5), udev(7)

       P. Mochel. (2005).  The sysfs filesystem.  Proceedings of the 2005 Ottawa Linux Symposium.

       The  kernel  source  file  Documentation/filesystems/sysfs.txt  and various other files in
       Documentation/ABI and Documentation/*/sysfs.txt

COLOPHON

       This page is part of release 4.15 of the Linux man-pages project.  A  description  of  the
       project,  information  about  reporting  bugs, and the latest version of this page, can be
       found at https://www.kernel.org/doc/man-pages/.