共計 2381 個字符,預計需要花費 6 分鐘才能閱讀完成。
本篇內容主要講解“linux tmpfs 指的是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“linux tmpfs 指的是什么”吧!
在 linux 中,tmpfs 是指臨時文件系統,是一種基于內存的文件系統,可以使用用戶的內存或 swap 分區來存儲文件;簡單來說,tmpfs 主要存儲暫存的文件。tmpfs 系統的優勢:1、動態文件系統的大小;2、擁有閃電般的速度。
Tmpfs 是什么
tmpfs(臨時文件系統)是 Linux/Unix 系統上的一種基于內存的文件系統。tmpfs 可以使用您的內存或 swap 分區來存儲文件。由此可見,tmpfs 主要存儲 暫存的文件。
tmpfs 和虛擬磁盤 ramdisk 比較類似像,但不完全相同,和 ramdisk 一樣,tmpfs 可以使用 RAM,但它也可以使用 swap 分區來存儲,而且傳統的 ramdisk 是個塊設備,要用 mkfs 來格式化它,才能真正地使用它;而 tmpfs 是一個文件系統,并不是塊設備,只是安裝它,就可以使用了。tmpfs 是最好的基于 RAM 的文件系統。
優勢 :
1、動態文件系統的大小。
2、tmpfs 的另一個主要的好處是它閃電般的速度。因為典型的 tmpfs 文件系統會完全駐留在內存 RAM 中,讀寫幾乎可以是瞬間的。同時它也有一個缺點 tmpfs 數據在重新啟動之后不會保留,因為虛擬內存本質上就是易失的。所以有必要做一些腳本做諸如加載,綁定的操作。
注意:tmpfs 不具備持久性,重啟后數據不保留,請務必注意。
在平常工作中,我們經常需要查看 Linux 服務器磁盤掛載使用情況,可以使用 df 命令,不知大家注意到沒有,我們使用此命令除了會查看到系統盤以及數據盤掛載情況,還會看到一個 tmpfs 也在掛載。
[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
同時可以注意到,這個 tmpfs 大小是 499M, 大小和內存相比,約為內存的一半。
[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
我們通過 df 可以看到 tmpfs 是掛載到 /dev/ 下的 shm 目錄,tmpfs 是什么呢? 其實是一個臨時文件系統,駐留在內存中,所以 /dev/shm/ 這個目錄不在硬盤上,而是在內存里。因為是在內存里,所以讀寫非常快,可以提供較高的訪問速度。linux 下,tmpfs 默認最大為內存的一半大小,使用 df - h 命令剛才已經看到了,但是這個 df 查看到的掛載內存大小的數值,如果沒有使用,是沒有去真正占用的,只有真正在 tmpfs 存儲數據了,才會去占用。比如,tmpfs 大小是 499M, 用了 10M 大小,內存里就會使用真正使用 10M,剩余的 489M 是可以繼續被服務器其他程序來使用的。但是因為數據是在內存里,所以斷電后文件會丟失,內存數據不會和硬盤中數據一樣可以永久保存。了解了 tmpfs 這個特性可以用來提高服務器性能,把一些對讀寫性能要求較高,但是數據又可以丟失的這樣的數據保存在 /dev/shm 中,來提高訪問速度。
Tmpfs 大小調整
有時候,當應用程序使用到 Tmpfs 時,而在部署的時候如果沒有對應用程序占用的內存做足夠的評估時,就有可能把 Tmpfs 用滿,這個時候就需要調整 Tmpfs 的大小了,當然,調整的大小不能大于你機器內存大小,否則,你只能換機器了,又或是優化你的應用程序。
[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
這種修改是臨時修改,重啟后會恢復正常,恢復為內存一半大小。
永久修改可以
vim /etc/fstab
把 tmpfs 這一行改為:
tmpfs /dev/shm tmpfs defaults,size=777M 0 0
這樣設置后重啟會自動掛載為 777M 大小,永久生效。
實際應用:
最后在說下 tmpfs 的一些應用,tmpfs 用途還是較廣的,Linux 中可以把一些程序的臨時文件放置在 tmpfs 中,利用 tmpfs 比硬盤速度快的特點來提升系統性能。比如可以用來放 squid 程序的緩存文件。當然,還有其他的用途,我們應該想到,tmpfs 的掛載點既然能當作普通磁盤使用,也就能當作 nfs 的共享目錄使用。但是用 tmpfs 做 nfsd 共享需要考慮網卡速度和 tmpfs 讀寫速度二者孰為瓶頸,如果網卡速度是瓶頸,那么直接用 nfs 創建一個普通磁盤目錄即可。因為 tmpfs 重啟后丟失,使用 tmpfs 做 nfs 前,須先從磁盤或用 rsync 從其他服務器拷貝到 tmpfs 里。更新文件時,先更新磁盤上的文件,或更新 rsync 的源。然后設置定時進程,每分鐘從磁盤或 rsync 里將程序同步到 tmpfs 即可。
tmpfs 的其他應用希望本文對大家使用 tmpfs 有所幫助,另外,請務必注意,重啟后數據會丟失!
到此,相信大家對“linux tmpfs 指的是什么”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!