Linux
如何按需創建塊 RAM 磁碟?
我了解到,
modprobe brd rd_nr=1 rd_size=4585760 max_part=1
如果我想創建一個 ram 塊設備,我可以這樣做,/dev/ram0
但假設我想刷新設備(以釋放 ram),然後刪除它並創建另一個。我將如何modprobe brd rd_nr=1 rd_size=4585760 max_part=1
再次執行似乎不會在其中創建另一個 ram 設備/dev
重新創建步驟:
1)創建磁碟:
modprobe brd rd_nr=1 rd_size=4585760 max_part=1
- 使用 ram 磁碟執行一些任意任務:例如:
dd if=/dev/zero of=/dev/ram0 count=1000
3)釋放記憶體
blockdev --flushbufs /dev/ram0
4)刪除設備文件:
rm /dev/ram0
5)嘗試創建另一個:
modprobe brd rd_nr=1 rd_size=4585760 max_part=1
6)
ls /dev/ram*
給我一個錯誤我知道我可以將其更改為
rd_nr
我想要的任何數字,但我希望能夠即時創建這些數字。編輯:我不想創建 tmpfs,我的案例需要塊設備
你不應該刪除
/dev/ram0
自己。當您這樣做時,它將被刪除sudo rmmod brd
,從而釋放空間並刪除模組。然後您可以從 重新開始modprobe
。
我不熟悉 /dev/ram 但你可以用 tmpfs 和循環設備做類似的事情:
mkdir /ramdisks mount -t tmpfs tmpfs /ramdisks dd if=/dev/zero of=/ramdisks/disk0 bs=1M count=100 losetup /dev/loop0 /ramdisks/disk0 mke2fs /dev/loop0 ... losetup -d /dev/loop0 rm /ramdisks/disk0