Linux中ramdisk,tmpfs,ramfs的介紹與分析

來源:互聯網
上載者:User

測試手段:

1

dd if=/dev/zero of=tmp bs=1M count=10

用dd命令測試瞬間寫的能力。

新增利用iozone命令測試記憶體盤效能:

1

iozone -a -i 1 -i 0 -c -g 5M -n 1M

測試項包括寫入,重複寫入,讀出,重複讀出

橫座標是測試的時候寫入讀出的快檔案大小,縱座標是每秒的寫入讀出的位元組數

RamDisk有三種實現方式:
在Linux中可以將一部分記憶體mount為分區來使用,通常稱之為RamDisk,分為:Ramdisk, ramfs, tmpfs.

① 第一種就是傳統意義上的,可以格式化,然後載入。
這在Linux核心2.0/2.2就已經支援,其不足之處是大小固定,之後不能改變。為了能夠使用Ramdisk,我們在編譯核心時須將block device中的Ramdisk支援選上,它下面還有兩個選項,一個是設定Ramdisk的大小,預設是4096k;另一個是initrd的支援。
如果對Ramdisk的支援已經編譯進核心,我們就可以使用它了:
首先查看一下可用的RamDisk,使用ls /dev/ram*
首先建立一個目錄,比如test,運行mkdir/mnt/test;
然後對/dev/ram0 建立檔案系統,運行mke2fs/dev/ram0;
最後掛載 /dev/ram0,運行mount/dev/ram0 /mnt/test,就可以象對普通硬碟一樣對它進行操作了。

 裝載後寫入速度在700M/S-800M/S之間,如果umount再載入,只要不重啟linux,那檔案依然會儲存在/dev/ramX中。

② 另兩種則是核心2.4才支援的,通過Ramfs或者Tmpfs來實現:
它們不需經過格式化,用起來靈活,其大小隨所需要的空間而增加或減少。Ramfs顧名思義是記憶體檔案系統,它處於虛擬檔案系統(VFS)層,而不像ramdisk那樣基於虛擬在記憶體中的其他檔案系統(ex2fs)。因而,它無需格式化,可以建立多個,只要記憶體足夠,在建立時可以指定其最大能使用的記憶體大小。如果你的Linux已經將Ramfs編譯進核心,你就可以很容易地使用Ramfs了。建立一個目錄,載入Ramfs到該目錄即可:

1

# mkdir /testRam

2

# mount -t ramfs none /testRAM

預設情況下,Ramfs被限制最多可使用記憶體大小的一半。可以通過maxsize(以kbyte為單位)選項來改變。

1

# mount -t ramfs none /testRAM -o maxsize=2000

 (建立了一個限定最大使用記憶體為2M的ramdisk)

寫入速度在900M/S-1100M/S之間,umount後再載入資料消失。

③ Tmpfs是一個虛擬記憶體檔案系統,它不同於傳統的用塊裝置形式來實現的Ramdisk,也不同於針對實體記憶體的Ramfs。Tmpfs可以使用實體記憶體,也可以使用交換分區。在Linux核心中,虛擬記憶體資源由實體記憶體(RAM)和交換分區組成,這些資源是由核心中的虛擬記憶體子系統來負責分配和管理。Tmpfs向虛擬記憶體子系統請求頁來隱藏檔,它同Linux的其它請求頁的部分一樣,不知道分配給自己的頁是在記憶體中還是在交換分區中。同Ramfs一樣,其大小也不是固定的,而是隨著所需要的空間而動態增減。使用tmpfs,首先你編譯核心時得選擇”虛擬記憶體檔案系統支援(Virtual
memoryfilesystem support)” 。
然後就可以載入tmpfs檔案系統了:

1

# mkdir -p /mnt/tmpfs

2

# mount tmpfs /mnt/tmpfs -t tmpfs

同樣可以在載入時指定tmpfs檔案系統大小的最大限制:

1

# mount tmpfs /mnt/tmpfs -t tmpfs -o size=32m

 寫入速度在1.2G/S-1.3G/S,umount後再載入資料消失。

 

轉自  http://leeon.me/a/linux-ramdisk-tmpfs-ramfs

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.