What is linux tmpfs

青灯夜游
Release: 2023-04-10 17:35:15
Original
5142 people have browsed it

In Linux, tmpfs refers to the temporary file system, which is a memory-based file system that can use the user's memory or swap partition to store files; simply put, tmpfs mainly stores temporary files. The advantages of the tmpfs system: 1. Dynamic file system size; 2. Lightning speed.

What is linux tmpfs

#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.

What is Tmpfs

tmpfs (temporary file system) is a memory-based file system on Linux/Unix systems. tmpfs can use your memory or swap partition to store files. It can be seen that tmpfs mainly stores temporary files.

Tmpfs is similar to the virtual disk ramdisk, but not exactly the same. Like ramdisk, tmpfs can use RAM, but it can also use swap partitions for storage, and the traditional ramdisk is a block device, so you need to use mkfs You have to format it before you can actually use it; tmpfs is a file system, not a block device, you just install it and you can use it. tmpfs is the best RAM based file system.

Advantages:

1. The size of the dynamic file system.

2. Another major benefit of tmpfs is its lightning speed. Because a typical tmpfs file system will reside entirely in RAM, reads and writes can be almost instantaneous. At the same time, it also has the disadvantage that tmpfs data will not be retained after reboot, because virtual memory is volatile in nature. So it is necessary to make some scripts to perform operations such as loading and binding.

Note: tmpfs does not have persistence, the data will not be retained after restarting, please be careful.

In daily work, we often need to check the Linux server disk mounting status. You can use the df command. I wonder if you have noticed that when we use this command, we will not only check the system disk and data disk mounting status. , you will also see that a tmpfs is also mounted.

[root@test ~]# df -hT
 
Filesystem     Type   Size  Used Avail Use% Mounted on
 
/dev/vda1      ext4    40G  1.1G   37G   3% /
 
tmpfs          tmpfs  499M     0  499M   0% /dev/shm
Copy after login

At the same time, you can notice that the size of this tmpfs is 499M, which is about half of the memory.

[root@test~]# free -m
 
             total       used       free     shared    buffers     cached
 
Mem:           996        124        872          0          7         57
 
-/+ buffers/cache:         59        936
 
Swap:            0          0          0Swap:      2064376          0    2064376
Copy after login

We can see through df that tmpfs is mounted to the shm directory under /dev/. What is tmpfs? It is actually a temporary file system that resides in memory, so /dev/shm/ This directory is not on the hard disk, but in memory. Because it is in memory, reading and writing are very fast and can provide high access speed. Under Linux, the default maximum size of tmpfs is half of the memory. You have just seen it using the df -h command. However, the value of the mounted memory size viewed by df is not actually occupied if it is not used. It is only actually used in tmpfs. Only when data is stored will it be occupied. For example, if the tmpfs size is 499M, if 10M is used, 10M will be actually used in the memory, and the remaining 489M can continue to be used by other programs on the server. However, because the data is in the memory, the files will be lost after a power outage, and the memory data will not be permanently saved like the data in the hard disk. Understanding the characteristics of tmpfs can be used to improve server performance, and save some data that requires high read and write performance, but the data can be lost, in /dev/shm to improve access speed.

Tmpfs sizing

Sometimes, when an application uses Tmpfs, if the memory occupied by the application is not adequately evaluated during deployment, , it is possible that Tmpfs is full. At this time, you need to adjust the size of Tmpfs. Of course, the adjusted size cannot be larger than the memory size of your machine. Otherwise, you can only change the machine or optimize your application.

[root@test]# mount -o remount,size=777M tmpfs /dev/shm
 
[root@test]# df -hT
 
Filesystem     Type   Size  Used Avail Use% Mounted on
 
/dev/vda1      ext4    40G  1.1G   37G   3% /
 
tmpfs          tmpfs  777M     0  777M   0% /dev/shm
Copy after login

This modification is a temporary modification and will return to normal after restarting, returning to half the size of the memory.

Permanent modification can be done

vim  /etc/fstab 
 
把tmpfs这一行改为:
 
tmpfs                   /dev/shm                tmpfs   defaults,size=777M     0 0
Copy after login

After setting like this, it will be automatically mounted to a size of 777M after restarting, which will take effect permanently.

Practical application:

Finally, let’s talk about some applications of tmpfs. tmpfs has a wide range of uses. In Linux, temporary files of some programs can be placed in tmpfs. , taking advantage of the fact that tmpfs is faster than the hard disk to improve system performance. For example, it can be used to store the cache files of the Squid program. Of course, there are other uses. We should think that since the mount point of tmpfs can be used as an ordinary disk, it can also be used as a shared directory of nfs. However, when using tmpfs for nfsd sharing, you need to consider which is the bottleneck, the network card speed or the tmpfs read and write speed. If the network card speed is the bottleneck, then just use nfs to create an ordinary disk directory. Because tmpfs is lost after restarting, before using tmpfs for nfs, you must first copy it from the disk or use rsync from other servers to tmpfs. When updating a file, first update the file on disk, or update the source of rsync. Then set up a scheduled process to synchronize the program to tmpfs from disk or rsync every minute.

Other applications of tmpfs I hope this article will help everyone use tmpfs. In addition, please be sure to note that data will be lost after restarting!

Related recommendations: "Linux Video Tutorial"

The above is the detailed content of What is linux tmpfs. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template