您好,登錄后才能下訂單哦!
本篇內容主要講解“linux tmpfs指的是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“linux tmpfs指的是什么”吧!
在linux中,tmpfs是指臨時文件系統,是一種基于內存的文件系統,可以使用用戶的內存或swap分區來存儲文件;簡單來說,tmpfs主要存儲暫存的文件。tmpfs系統的優勢:1、動態文件系統的大小;2、擁有閃電般的速度。
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的大小了,當然,調整的大小不能大于你機器內存大小,否則,你只能換機器了,又或是優化你的應用程序。
[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指的是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。