Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


TMPFS(5) Linux Programmer's Manual TMPFS(5)


     tmpfs - a virtual memory filesystem


     The  tmpfs  facility  allows the creation of filesystems whose contents
     reside in virtual memory.  Since the files on  such  filesystems  typi-
     cally reside in RAM, file access is extremely fast.
     The filesystem is automatically created when mounting a filesystem with
     the type tmpfs via a command such as the following:
         $ sudo mount -t tmpfs -o size=10M tmpfs /mnt/mytmpfs
     A tmpfs filesystem has the following properties:
  • The filesystem can employ swap space when physical memory pressure

demands it.

  • The filesystem consumes only as much physical memory and swap space

as is required to store the current contents of the filesystem.

  • During a remount operation (mount -o remount), the filesystem size

can be changed (without losing the existing contents of the filesys-

     If a tmpfs filesystem is unmounted, its contents are discarded  (lost).
 Mount options
     The tmpfs filesystem supports the following mount options:
            Specify  an upper limit on the size of the filesystem.  The size
            is given in bytes, and rounded up to entire pages.
            The size may have a k, m, or g suffix for  Ki,  Mi,  Gi  (binary
            kilo (kibi), binary mega (mebi) and binary giga (gibi)).
            The  size  may  also have a % suffix to limit this instance to a
            percentage of physical RAM.
            The default, when neither size nor nr_blocks  is  specified,  is
            The same as size, but in blocks of PAGE_CACHE_SIZE.
            Blocks  may be specified with k, m, or g suffixes like size, but
            not a % suffix.
            The maximum number of inodes for this instance.  The default  is
            half  of the number of your physical RAM pages, or (on a machine
            with highmem) the number  of  lowmem  RAM  pages,  whichever  is
            Inodes  may be specified with k, m, or g suffixes like size, but
            not a % suffix.
            Set initial permissions of the root directory.
     gid=gid (since Linux 2.5.7)
            Set the initial group ID of the root directory.
     uid=uid (since Linux 2.5.7)
            Set the initial user ID of the root directory.
     huge=huge_option (since Linux 4.7.0)
            Set the huge table memory allocation policy  for  all  files  in
            this instance (if CONFIG_TRANSPARENT_HUGE_PAGECACHE is enabled).
            The huge_option value is one of the following:
            never  Do not allocate huge pages.  This is the default.
            always Attempt to allocate huge pages every time a new  page  is
                   Only  allocate  huge  page  if  it  will  be fully within
                   i_size.  Also respect fadvise(2)/madvise(2) hints
            advise Only  allocate  huge  pages  if   requested   with   fad-
            deny   For use in emergencies, to force the huge option off from
                   all mounts.
            force  Force the huge option on for all mounts; useful for test-
     mpol=mpol_option (since Linux 2.6.15)
            Set  the  NUMA  memory  allocation  policy for all files in this
            instance (if CONFIG_NUMA is enabled).
            The mpol_option value is one of the following:
                   Use the process allocation policy (see set_mempolicy(2)).
                   Preferably allocate memory from the given node.
                   Allocate memory only from nodes in nodelist.
                   Allocate from each node in turn.
                   Allocate from each node of in turn.
            local  Preferably allocate memory from the local node.
            In the above, nodelist is a comma-separated list of decimal num-
            bers and ranges that specify NUMA nodes.  A range is a  pair  of
            hyphen-separated  decimal numbers, the smallest and largest node
            numbers in the range.  For example, mpol=bind:0-3,5,7,9-15.


     The tmpfs facility was added in Linux 2.4, as a successor to the  older
     ramfs  facility,  which did not provide limit checking or allow for the
     use of swap space.


     In order for user-space tools and applications to create tmpfs filesys-
     tems, the kernel must be configured with the CONFIG_TMPFS option.
     The  tmpfs  filesystem supports extended attributes (see xattr(7)), but
     user extended attributes are not permitted.
     An internal shared memory filesystem is used for System V shared memory
     (shmget(2))  and shared anonymous mappings (mmap(2) with the MAP_SHARED
     and MAP_ANONYMOUS flags).  This filesystem is available  regardless  of
     whether the kernel was configured with the CONFIG_TMPFS option.
     A  tmpfs  filesystem mounted at /dev/shm is used for the implementation
     of  POSIX  shared  memory  (shm_overview(7))   and   POSIX   semaphores
     The  amount of memory consumed by all tmpfs filesystems is shown in the
     Shmem field of /proc/meminfo and  in  the  shared  field  displayed  by
     The tmpfs facility was formerly called shmfs.


     df(1),  du(1), memfd_create(2), mmap(2), set_mempolicy(2), shm_open(3),
     The kernel source files Documentation/filesystems/tmpfs.txt  and  Docu-


     This  page  is  part of release 4.16 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

Linux 2018-02-09 TMPFS(5)

/data/webs/external/dokuwiki/data/pages/man/tmpfs.txt · Last modified: 2019/05/17 09:32 by

Was this page helpful?-11+1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki