佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 在Linux上使用文件系統(tǒng)tmpfs的技巧

在Linux上使用文件系統(tǒng)tmpfs的技巧

熱門標(biāo)簽:家政服務(wù)網(wǎng)絡(luò) 百度競價點擊價格的計算公式 電話機器人搭建 外呼系統(tǒng) 美團 解決方案 服務(wù)器配置 硅谷的囚徒呼叫中心

  tmpfs是一種基于內(nèi)存的文件系統(tǒng),安裝后即可使用,下面小編將針對Linux tmpfs的用途及大小的調(diào)整做個詳細(xì)介紹,有興趣的朋友可以來了解下。

  tmpfs介紹

  tmpfs是一種虛擬內(nèi)存文件系統(tǒng),而不是塊設(shè)備。是基于內(nèi)存的文件系統(tǒng),創(chuàng)建時不需要使用mkfs等初始化

  它最大的特點就是它的存儲空間在VM(virtual memory),VM是由linux內(nèi)核里面的vm子系統(tǒng)管理的。

  linux下面VM的大小由RM(Real Memory)和swap組成,RM的大小就是物理內(nèi)存的大小,而Swap的大小是由自己決定的。

  Swap是通過硬盤虛擬出來的內(nèi)存空間,因此它的讀寫速度相對RM(Real Memory)要慢許多,當(dāng)一個進程申請一定數(shù)量的內(nèi)存時,如內(nèi)核的vm子系統(tǒng)發(fā)現(xiàn)沒有足夠的RM時,就會把RM里面的一些不常用的數(shù)據(jù)交換到Swap里面,如果需要重新使用這些數(shù)據(jù)再把它們從Swap交換到RM里面。如果有足夠大的物理內(nèi)存,可以不劃分Swap分區(qū)。

  VM由RM+Swap兩部分組成,因此tmpfs最大的存儲空間可達(dá)(The size of RM + The size of Swap)。 但是對于tmpfs本身而言,它并不知道自己使用的空間是RM還是Swap,這一切都是由內(nèi)核的vm子系統(tǒng)管理的。

  tmpfs默認(rèn)的大小是RM的一半,假如你的物理內(nèi)存是1024M,那么tmpfs默認(rèn)的大小就是512M

  一般情況下,是配置的小于物理內(nèi)存大小的。

  tmpfs配置的大小并不會真正的占用這塊內(nèi)存,如果/dev/shm/下沒有任何文件,它占用的內(nèi)存實際上就是0字節(jié);如果它最大為1G,里頭放有100M文件,那剩余的900M仍然可為其它應(yīng)用程序所使用,但它所占用的100M內(nèi)存,是不會被系統(tǒng)回收重新劃分的。

  當(dāng)刪除tmpfs中文件,tmpfs 文件系統(tǒng)驅(qū)動程序會動態(tài)地減小文件系統(tǒng)并釋放 VM 資源。

  #########################

  tmpfs的用途

  例如:

  Oracle 中的Automatic Memory Management特性就使用了/dev/shm。

  LINUX中可以把一些程序的臨時文件放置在tmpfs中,利用tmpfs比硬盤速度快的特點提升系統(tǒng)性能。

  調(diào)整tmpfs大小大致有以下三種方法:

  1.直接掛載到需要的目錄--比如系統(tǒng)的臨時目錄-可以根據(jù)實際需要掛載某個程序的臨時文件的目錄

 ?。踨oot@bys3 ~]# mount -t tmpfs -o size=20m tmpfs /tmp

 ?。踨oot@bys3 ~]# df -h

  Filesystem Size Used Avail Use% Mounted on

  /dev/sda2 16G 10G 4.7G 69% /

  /dev/sda1 99M 21M 74M 22% /boot

  tmpfs 502M 0 502M 0% /dev/shm

  tmpfs 20M 0 20M 0% /tmp

  由于沒有掛載之前/tmp目錄下的文件也許正在被使用,因此掛載之后系統(tǒng)也許有的程序不能正常工作。可以寫入/etc/fstab,這樣重啟后也有效。

  2./etc/fstab文件來修改/dev/shm的容量(增加size=100M選項即可),修改后,重新掛載即可:

 ?。踨oot@bys3 ~]# cat /etc/fstab

  LABEL=/ / ext3 defaults 1 1

  LABEL=/boot /boot ext3 defaults 1 2

  tmpfs /dev/shm tmpfs defaults,size=600M 0 0

  tmpfs /tmp tmpfs defaults,size=25M 0 0

  devpts /dev/pts devpts gid=5,mode=620 0 0

  sysfs /sys sysfs defaults 0 0

  proc /proc proc defaults 0 0

  LABEL=SWAP-sda3 swap swap defaults 0 0

  /dev/sda5 swap swap defaults 0 0

  [root@bys3 ~]# mount -a --測試/etc/fstab無錯誤,重啟OS系統(tǒng)

 ?。踥racle@bys3 ~]$ df -h --重啟后的信息如下,tmpfs文件系統(tǒng)的對應(yīng)條目已經(jīng)改變?yōu)榕渲玫?/p>

  Filesystem Size Used Avail Use% Mounted on

  /dev/sda2 16G 10G 4.7G 69% /

  /dev/sda1 99M 21M 74M 22% /boot

  tmpfs 600M 0 600M 0% /dev/shm

  tmpfs 25M 0 25M 0% /tmp

  3./dev/shm建一個tmp目前,并與/tmp綁定。 --這方法有點煩瑣,不如方法1方便快捷。

 ?。踨oot@bys3 ~]# mkdir /dev/shm/tmp

 ?。踨oot@bys3 ~]# chmod 1777 /dev/shm/tmp

  [root@bys3 ~]# mount --bind /dev/shm/tmp /tmp -注意mount --bind 這里bind前是兩個-

 ?。踨oot@bys3 ~]# ls -ld /tmp

  drwxrwxrwt 2 root root 40 Dec 8 12:15 /tmp

 ?。踨oot@bys3 ~]# df -h

  Filesystem Size Used Avail Use% Mounted on

  /dev/sda2 16G 10G 4.7G 69% /

  /dev/sda1 99M 21M 74M 22% /boot

  tmpfs 600M 0 600M 0% /dev/shm

  tmpfs 600M 0 600M 0% /tmp ----可以看到/tmp使用到了 /dev/shm的空間。

  上面就是Linux使用tmpfs的方法介紹了,本文除了介紹tmpfs的用途外,還介紹了調(diào)整tmpfs大小的三大方法,因為tmpfs不是塊設(shè)備,需安裝使用。

標(biāo)簽:防城港 撫州 烏蘭察布 臨沂 韶關(guān) 邢臺 南昌 北海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在Linux上使用文件系統(tǒng)tmpfs的技巧》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    密云县| 怀远县| 乳源| 义乌市| 尼勒克县| 云林县| 陇南市| 海丰县| 长泰县| 青龙| 东乡县| 无棣县| 靖宇县| 津市市| 赤水市| 温宿县| 侯马市| 义马市| 石阡县| 乌恰县| 东乡族自治县| 鄯善县| 高唐县| 兴宁市| 抚远县| 绥化市| 宝应县| 黔东| 双牌县| 东乌珠穆沁旗| 额济纳旗| 和顺县| 阿合奇县| 安顺市| 广宗县| 江永县| 衢州市| 合川市| 日喀则市| 西藏| 永仁县|