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.
#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.
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
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
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.
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
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
After setting like this, it will be automatically mounted to a size of 777M after restarting, which will take effect permanently.
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!