本篇內(nèi)容主要講解“l(fā)inux tmpfs指的是什么”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“l(fā)inux tmpfs指的是什么”吧!
我們提供的服務(wù)有:做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、通遼ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的通遼網(wǎng)站制作公司
在linux中,tmpfs是指臨時(shí)文件系統(tǒng),是一種基于內(nèi)存的文件系統(tǒng),可以使用用戶的內(nèi)存或swap分區(qū)來(lái)存儲(chǔ)文件;簡(jiǎn)單來(lái)說(shuō),tmpfs主要存儲(chǔ)暫存的文件。tmpfs系統(tǒng)的優(yōu)勢(shì):1、動(dòng)態(tài)文件系統(tǒng)的大??;2、擁有閃電般的速度。
tmpfs(臨時(shí)文件系統(tǒng))是Linux/Unix系統(tǒng)上的一種基于內(nèi)存的文件系統(tǒng)。tmpfs可以使用您的內(nèi)存或swap分區(qū)來(lái)存儲(chǔ)文件。由此可見,tmpfs主要存儲(chǔ) 暫存的文件。
tmpfs和虛擬磁盤ramdisk比較類似像,但不完全相同,和ramdisk一樣,tmpfs可以使用RAM,但它也可以使用swap分區(qū)來(lái)存儲(chǔ),而且傳統(tǒng)的ramdisk是個(gè)塊設(shè)備,要用mkfs來(lái)格式化它,才能真正地使用它;而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
我們通過(guò)df可以看到tmpfs是掛載到/dev/下的shm目錄,tmpfs是什么呢? 其實(shí)是一個(gè)臨時(shí)文件系統(tǒng),駐留在內(nèi)存中,所以/dev/shm/這個(gè)目錄不在硬盤上,而是在內(nèi)存里。因?yàn)槭窃趦?nèi)存里,所以讀寫非???,可以提供較高的訪問(wèn)速度。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ù)器其他程序來(lái)使用的。但是因?yàn)閿?shù)據(jù)是在內(nèi)存里,所以斷電后文件會(huì)丟失,內(nèi)存數(shù)據(jù)不會(huì)和硬盤中數(shù)據(jù)一樣可以永久保存。了解了tmpfs這個(gè)特性可以用來(lái)提高服務(wù)器性能,把一些對(duì)讀寫性能要求較高,但是數(shù)據(jù)又可以丟失的這樣的數(shù)據(jù)保存在/dev/shm中,來(lái)提高訪問(wèn)速度。
有時(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大小,永久生效。
最后在說(shuō)下tmpfs的一些應(yīng)用,tmpfs用途還是較廣的,Linux中可以把一些程序的臨時(shí)文件放置在tmpfs中,利用tmpfs比硬盤速度快的特點(diǎn)來(lái)提升系統(tǒng)性能。比如可以用來(lái)放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指的是什么”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!