溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux tmpfs指的是什么

發(fā)布時(shí)間:2023-04-19 10:34:15 來源:億速云 閱讀:171 作者:iii 欄目:建站服務(wù)器

本篇內(nèi)容主要講解“l(fā)inux tmpfs指的是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“l(fā)inux tmpfs指的是什么”吧!

在linux中,tmpfs是指臨時(shí)文件系統(tǒng),是一種基于內(nèi)存的文件系統(tǒng),可以使用用戶的內(nèi)存或swap分區(qū)來存儲(chǔ)文件;簡(jiǎn)單來說,tmpfs主要存儲(chǔ)暫存的文件。tmpfs系統(tǒng)的優(yōu)勢(shì):1、動(dòng)態(tài)文件系統(tǒng)的大??;2、擁有閃電般的速度。

Tmpfs是什么

tmpfs(臨時(shí)文件系統(tǒng))是Linux/Unix系統(tǒng)上的一種基于內(nèi)存的文件系統(tǒng)。tmpfs可以使用您的內(nèi)存或swap分區(qū)來存儲(chǔ)文件。由此可見,tmpfs主要存儲(chǔ) 暫存的文件。

tmpfs和虛擬磁盤ramdisk比較類似像,但不完全相同,和ramdisk一樣,tmpfs可以使用RAM,但它也可以使用swap分區(qū)來存儲(chǔ),而且傳統(tǒng)的ramdisk是個(gè)塊設(shè)備,要用mkfs來格式化它,才能真正地使用它;而tmpfs是一個(gè)文件系統(tǒng),并不是塊設(shè)備,只是安裝它,就可以使用了。tmpfs是最好的基于RAM的文件系統(tǒng)。

優(yōu)勢(shì) :

1、 動(dòng)態(tài)文件系統(tǒng)的大小。

2、tmpfs 的另一個(gè)主要的好處是它閃電般的速度。因?yàn)榈湫偷膖mpfs文件系統(tǒng)會(huì)完全駐留在內(nèi)存 RAM 中,讀寫幾乎可以是瞬間的。同時(shí)它也有一個(gè)缺點(diǎn)tmpfs數(shù)據(jù)在重新啟動(dòng)之后不會(huì)保留,因?yàn)樘摂M內(nèi)存本質(zhì)上就是易失的。所以有必要做一些腳本做諸如加載,綁定的操作。

注意:tmpfs不具備持久性,重啟后數(shù)據(jù)不保留,請(qǐng)務(wù)必注意。

在平常工作中,我們經(jīng)常需要查看Linux服務(wù)器磁盤掛載使用情況,可以使用df命令,不知大家注意到?jīng)]有,我們使用此命令除了會(huì)查看到系統(tǒng)盤以及數(shù)據(jù)盤掛載情況,還會(huì)看到一個(gè)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

同時(shí)可以注意到,這個(gè)tmpfs大小是499M, 大小和內(nèi)存相比,約為內(nèi)存的一半。

[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是什么呢? 其實(shí)是一個(gè)臨時(shí)文件系統(tǒng),駐留在內(nèi)存中,所以/dev/shm/這個(gè)目錄不在硬盤上,而是在內(nèi)存里。因?yàn)槭窃趦?nèi)存里,所以讀寫非???,可以提供較高的訪問速度。linux下,tmpfs默認(rèn)最大為內(nèi)存的一半大小,使用df -h命令剛才已經(jīng)看到了,但是這個(gè)df查看到的掛載內(nèi)存大小的數(shù)值,如果沒有使用,是沒有去真正占用的,只有真正在tmpfs存儲(chǔ)數(shù)據(jù)了,才會(huì)去占用。比如,tmpfs大小是499M,用了10M大小,內(nèi)存里就會(huì)使用真正使用10M,剩余的489M是可以繼續(xù)被服務(wù)器其他程序來使用的。但是因?yàn)閿?shù)據(jù)是在內(nèi)存里,所以斷電后文件會(huì)丟失,內(nèi)存數(shù)據(jù)不會(huì)和硬盤中數(shù)據(jù)一樣可以永久保存。了解了tmpfs這個(gè)特性可以用來提高服務(wù)器性能,把一些對(duì)讀寫性能要求較高,但是數(shù)據(jù)又可以丟失的這樣的數(shù)據(jù)保存在/dev/shm中,來提高訪問速度。

Tmpfs大小調(diào)整

有時(shí)候,當(dāng)應(yīng)用程序使用到Tmpfs時(shí),而在部署的時(shí)候如果沒有對(duì)應(yīng)用程序占用的內(nèi)存做足夠的評(píng)估時(shí),就有可能把Tmpfs用滿,這個(gè)時(shí)候就需要調(diào)整Tmpfs的大小了,當(dāng)然,調(diào)整的大小不能大于你機(jī)器內(nèi)存大小,否則,你只能換機(jī)器了,又或是優(yōu)化你的應(yīng)用程序。

[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

這種修改是臨時(shí)修改,重啟后會(huì)恢復(fù)正常,恢復(fù)為內(nèi)存一半大小。

永久修改可以

vim  /etc/fstab 
 
把tmpfs這一行改為:
 
tmpfs                   /dev/shm                tmpfs   defaults,size=777M     0 0

這樣設(shè)置后重啟會(huì)自動(dòng)掛載為777M大小,永久生效。

實(shí)際應(yīng)用:

最后在說下tmpfs的一些應(yīng)用,tmpfs用途還是較廣的,Linux中可以把一些程序的臨時(shí)文件放置在tmpfs中,利用tmpfs比硬盤速度快的特點(diǎn)來提升系統(tǒng)性能。比如可以用來放squid程序的緩存文件。當(dāng)然,還有其他的用途,我們應(yīng)該想到,tmpfs的掛載點(diǎn)既然能當(dāng)作普通磁盤使用,也就能當(dāng)作nfs的共享目錄使用。但是用tmpfs做nfsd共享需要考慮網(wǎng)卡速度和tmpfs讀寫速度二者孰為瓶頸,如果網(wǎng)卡速度是瓶頸,那么直接用nfs創(chuàng)建一個(gè)普通磁盤目錄即可。因?yàn)閠mpfs重啟后丟失,使用tmpfs做nfs前,須先從磁盤或用rsync從其他服務(wù)器拷貝到tmpfs里。更新文件時(shí),先更新磁盤上的文件,或更新rsync的源。然后設(shè)置定時(shí)進(jìn)程,每分鐘從磁盤或rsync里將程序同步到tmpfs即可。

tmpfs的其他應(yīng)用希望本文對(duì)大家使用tmpfs有所幫助,另外,請(qǐng)務(wù)必注意,重啟后數(shù)據(jù)會(huì)丟失!

到此,相信大家對(duì)“l(fā)inux tmpfs指的是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI