এছাড়াও tmpfsএবং ramfsঅন্য একটি বিকল্প হ'ল /dev/ram0ব্লক ডিভাইস। সাম্প্রতিক উবুন্টু সংস্করণগুলিতে, এই ডিভাইসটি ডিফল্টরূপে বিদ্যমান নয়, তবে এর মাধ্যমে তৈরি করা যেতে পারে modprobe brd।
এই পদ্ধতিরটি আরও অনুমানযোগ্য যেহেতু এটি একটি আসল ext4ফাইল সিস্টেম তৈরি করে এবং আপনার নির্দিষ্ট সীমাটি কখনই অতিক্রম করে না। তবে সেট আপ করতে এটি আরও পদক্ষেপ নেয় এবং কম দক্ষতার সাথে র্যাম ব্যবহার করে।
বিআরডি কার্নেল মডিউল (/ dev / ram0) ব্যবহার করা হচ্ছে
একটি 4 জিবি র্যাম ডিস্ক তৈরি এবং সূচনা করতে:
mkdir /ramdisk
modprobe brd rd_nr=1 rd_size=$((4 * 1048576))
mkfs.ext4 /dev/ram0
mount /dev/ram0 /ramdisk
rd_nrপ্যারামিটার নির্দিষ্ট করে কত র্যাম ডিস্ক তৈরি করতে (ডিফল্ট, এটি 16 সৃষ্টি, অর্থাত /dev/ram0মাধ্যমে /dev/ram15)। rd_sizeপ্যারামিটারে আকার কিলোবাইট । $(( ... ))সিনট্যাক্স আপনি শেল মধ্যে গাণিতিক করতে দেয়।
র্যাম ডিস্কটি ডিঅলোকেট করতে, এটি আনমাউন্ট করুন এবং brdকার্নেল মডিউলটি সরান :
umount /ramdisk
modprobe -r brd
ভিতরে একটি ব্লক ডিভাইস তৈরি করা হচ্ছে ramfs
বিকল্পভাবে, আপনি এর ভিতরে একটি ব্লক ডিভাইস তৈরি করতে পারেন ramfs:
mkdir /ramdisk-storage /ramdisk
mount -t ramfs ramfs /ramdisk-storage
truncate -s 4G /ramdisk-storage/ramdisk.img
mkfs.ext4 /ramdisk-storage/ramdisk.img
mount /ramdisk-storage/ramdisk.img /ramdisk
truncateকমান্ড অন-ডিমান্ড একটি প্রদত্ত আকার যাতে তা সক্রিয়া করা হয় একজন খালি ফাইল (যেমন হ্রাস মেমরি) সৃষ্টি করে।
র্যাম ডিস্কটি ডিঅলোকেট করতে, এটিকে চূড়ান্ত করে ডিস্কের চিত্রটি মুছুন:
umount /ramdisk
rm /ramdisk-storage/ramdisk.img
tmpfsএবং সাথে তুলনাramfs
যদিও tmpfsএবং ramfsব্লক ডিভাইস ব্যবহারের চেয়ে বেশি দক্ষ, নীচে তাদের কিছু ডাউনসাইড রয়েছে।
tmpfsডিস্কে অদলবদল করতে পারে। এটি আরও দক্ষ, তবে আপনি খাঁটি র্যাম ডিস্ক চান এমন সময় থাকতে পারে:
- আপনি যে ফাইলগুলির সাথে কাজ করছেন সেগুলি সংবেদনশীল (যেমন এনক্রিপ্ট করা পার্টিশনের ফাইলগুলি)।
- আপনি পারফরম্যান্স টেস্টিং করছেন এবং আপনি চান না যে ডিস্ক আই / ওকে একটি ফ্যাক্টর হতে হবে (এসএসডি লেখার সময় অনেকগুলি পরিবর্তিত হতে পারে)।
- আপনি একটি বড় ফাইল আনপ্যাক করছেন এবং আপনি আপনার এসএসডি পরাতে চান না।
ramfsসেট আপ করা সহজ, একবার আপনি ফাইল মুছলে স্থানটি পুনরায় দাবি করে এবং আরও দক্ষতার সাথে র্যাম ব্যবহার করে (সিস্টেমটি ফাইলগুলি বাফার করে না কারণ তারা জানে যে তারা র্যামে রয়েছে)। তবে এর নিজস্ব ডাউনসাইড এবং আশ্চর্যতা রয়েছে:
dfউপযোগ স্থান ব্যবহার প্রতিবেদন করে না:
root@cello-linux:~# df -h /ramdisk
Filesystem Size Used Avail Use% Mounted on
ramfs 0 0 0 - /ramdisk
আকারের কোনও সীমা পরামিতি নেই। আপনি যদি রামডিস্কে খুব বেশি রাখেন তবে আপনার সিস্টেমটি স্তব্ধ হয়ে যাবে।
আপনি যখন কমপক্ষে এটি আশা করেন তখন বিচ্ছিন্ন ফাইলগুলি অবিচ্ছেদ্য হয়ে উঠতে পারে। আজ সকালে, আমি একটি ভিএম চিত্র (150 জি, তবে ডিস্কে ব্যবহৃত 49 জি) ramfsঅনুলিপি করেছি (আমার কাছে র্যামের 128 জি রয়েছে)। কাজ করেছে। কিন্তু আমি যখন কপি থেকেramfs গন্তব্যে, আমার সিস্টেম ক্ষমাহীন হয়ে ওঠে। cpউপযোগ দৃশ্যত উপর ছিদ্র করা ভরাট করা পঠিত , কিন্তু লেখার নয়।
উভয় tmpfsএবং ramfsএকটি বাস্তব ext4ফাইল সিস্টেমের চেয়ে আলাদা আচরণ করতে পারে । র্যামে একটি ব্লক ডিভাইস তৈরি করা এবং এটি ext4এড়ানো শুরু করে
আরও গভীরতার তুলনায়: https://www.kernel.org/doc/Docamentation/files systemms/ramfs-rootfs-initramfs.txt
mount -o size=16G -t tmpfs none /mnt/tmpfs