Menggunakan Linux, ketika saya boot saya secara otomatis memiliki 16 ramdisks 16MB, namun, saya ingin membuat ramdisk yang sangat besar untuk menguji beberapa perangkat lunak.
Saya menemukan bahwa saya dapat menyesuaikan ukuran ramdisks yang sudah ada di sistem dengan parameter boot kernel ramdisk_size
, ini membuat 16 ramdisks (/ dev / ram0 - / dev / ram15) menjadi ukuran yang ditentukan. Jadi jika saya ingin membuat ramdisk 1GB, saya membutuhkan 16GB memori.
Pada dasarnya, saya ingin membuat satu ramdisk 10GB yang akan menjadi / dev / ram0. Bagaimana saya bisa melakukan itu? Saya berasumsi ada parameter boot kernel, tapi saya belum menemukannya.
Untuk membuat ram ram besar setelah boot tanpa mengacaukan dengan parameter kernel. Gunakan tmpfs, buat file, pasang melalui loop, dan pasang itu melalui sistem file:
Mungkin sedikit penalti kinerja melalui berbagai lapisan ... tapi setidaknya itu berhasil.
sumber
Pilihan lain adalah menggunakan perangkat loop (sebagai lawan dari fitur loobpack mount seperti yang disebutkan sebelumnya):
Sekarang / dev / loop adalah perangkat blok yang sah yang aplikasi Anda akan bertindak seperti perangkat fisik atau ramdisk, kecuali bahwa itu didukung file. Anda dapat memasang di suatu tempat atau aplikasi Anda bertindak pada node perangkat, yang mengimplementasikan ioctls blok standar. Menghemat ram sistem Anda dan berguna untuk menjaga testcases, dll.
(Anda bahkan dapat fdisk myfs.img, membuat partisi di atasnya dan menggunakan --offset dan --sizelimit dengan losetup untuk menunjuk masing-masing / dev / loopX ke partisi tertentu dalam gambar, jadi loop0, loop1 menjadi seperti sdc1, sdc2, dll. )
sumber
Anda bisa menggunakan file loop sebagai gantinya. Buat saja file loop sesuai ukuran yang Anda inginkan (jika Anda ingin memasukkannya ke dalam tmpfs ramdisk), lalu format file loop tersebut dan pasang.
sumber
Objek ramdrive adalah kecepatan. Tmpfs bukan drive. Perangkat loop bukan drive, tetapi Anda dapat menempatkan gambar drive pada perangkat loop. Disk Ram "adalah" drive, dan drive yang sangat cepat. Coba jalankan:
lalu:
Anda akan melihat apa yang saya maksud! Tetapi hdparm terkadang menghancurkan drive ram. Jadi, Anda harus membuatnya lagi.
Terkadang tidak ada perangkat / dev / ram. Untuk membuatnya:
tetapi tidak akan memiliki ukuran apa pun. Untuk memberikan ukuran:
dan itu akan berhenti ketika drive sudah penuh. Ukuran maksimum ditentukan oleh konfigurasi kernel parm:
CONFIG_BLK_DEV_RAM_SIZE
.Kemudian, cukup format, yaitu
Dan pasang:
Favorit saya adalah kode debug yang disimpan di ramdrive. Kompilasi setidaknya 10x kecepatan kode yang disimpan di hard drive. Tabel database yang disimpan di ramdrive juga dapat digunakan, tetapi Anda harus memiliki skrip yang menulis ke hard disk secara berkala. Sebagian besar admin tidak memiliki nyali untuk menaruh data pada ram ram. Dan beberapa meja terlalu besar.
sumber
Di mercusuar 64 (puupy linux berdasarkan slackware) saya melakukan ini;
Di sana Anda memiliki ramdisk yang dipasang sebagai direktori di
/mnt/dvd
mana Anda dapat menyalin paste simpan melakukan segalanya seperti yang Anda lakukan di direktori hd kecuali di ram. ingatlah untuk menyimpan file Anda ke hd sebelum shutdown.sumber