मैं राम डिस्क कैसे बनाऊं?


55

मैं एक विभाजन करना चाहता हूं जो राम से बना है ...

उदाहरण

विंडोज़ 7 में आप एक विभाजन बना सकते हैं जो राम से बना है

यहाँ छवि विवरण दर्ज करें

मैंने 1 GB का विभाजन बनाया है RAM में। प्राइमो रामडिस्क का उपयोग करना

क्या उबंटू में कोई अच्छा विकल्प है?


3
उबंटू tmpfs के साथ आता है। आपको RAMDISK बनाने की आवश्यकता नहीं है।
मिश्रणदेव

आपके इच्छित उपयोग के आधार पर आपको उबंटू (या अधिकांश लिनक्स डिस्ट्रोस) के लिए रैमडिस्क की आवश्यकता नहीं हो सकती है। ऑपरेटिंग सिस्टम कैश रैम को गतिविधि को पढ़ता और लिखता है जबकि यह नियमित डिस्क के साथ काम कर रहा है। यदि आप कई बार एक छोटी फ़ाइल पढ़ते हैं, तो इसे केवल एक बार डिस्क से प्राप्त किया जाएगा, फिर निम्नलिखित समय पर रैम कैश से पुनर्प्राप्त किया जाएगा। यदि आपके पास बहुत सारी रैम है, तो आप जो कुछ भी करते हैं वह इस तरह से कैश हो जाएगा, इसलिए आपको बहुत कम बार डिस्क गतिविधि मिलती है। यदि आप फ़ाइलों के बजाय गैर-निरंतर तेज़ मेमोरी का उपयोग करना चाहते हैं, तो आपको अभी भी RAMDISK की आवश्यकता है। अधिक जानकारी के लिए linuxatemyram.com देखें ।
TafT

जवाबों:


77

यह आपको दिखाएगा कि RAMDISK को कैसे तेज और आसानी से बनाया जा सकता है। RAMDISK के साथ आप अपनी मेमोरी को अस्थायी स्थान के लिए उपयोग कर सकते हैं और यह आपकी हार्ड ड्राइव की तुलना में बहुत तेज है।

अब अपने RAMDISK को बनाने के लिए अगले 2 कमांड का उपयोग करके शुरू करें।

जो कुछ भी आप चाहते हैं कि आपके RAMDISK को वहां रखा जाए जहां मैंने "nameme" लिखा था।

mkdir -p /media/nameme

mount -t tmpfs -o size=2048M tmpfs /media/nameme/
उपरोक्त कमांड RAMDISK के लिए मेरे 2GB RAM का उपयोग करेगा। यदि आपके पास मेरे जितना राम नहीं है तो मैं 512MB या 1GB का उपयोग करूंगा। तो आगे टर्मिनल के लिए एक कमांड बनाने जा रहे थे जो स्वचालित रूप से आपके लिए RAMDISK बनाएगा।

स्रोत: लिनक्स में एक RAMDISK कैसे बनाएं


3
मैं इसे रिबूट के बीच कैसे बना सकता हूं?
चॉवी

1
रैम होने के नाते, यह अस्थिर है, जब आप पुनरारंभ करते हैं, तो यह सब खो जाता है, भले ही BIOS / EFI के रूप में एक गर्म बूट रैम को साफ कर देगा। सबसे अच्छा आप एक शेल स्क्रिप्ट बना सकते हैं जो लॉगिन पर कमांड चलाता है।
ब्रैंडन मैकएचेर्न 21

1
@chovy को जारी रखने के लिए आपके पास दो विकल्प हैं, जो इस समय 2 के बारे में सोचते हैं। 1. राम डिस्क और एसिंक्रोनस लिखने के लिए एपीआई लिखने के लिए hdd डिस्क लिखें। हमेशा राम से पढ़ा जाता है, केवल डिस्क से रैम वार्म अप राम पर। 2. समय-समय पर कुछ स्क्रिप्ट को कॉल करें जो रैम डिस्क में कुछ को कुछ एचडीडी डिस्क पर कॉपी करता है और एक बार बूट के बाद वापस कॉपी करता है।
लुकास

एक अन्य विकल्प यह होगा /tmp/cacheकि आप अपने कैश डायर की तरह कुछ नामित करें, जहां वह निर्देशिका वास्तव में एक ओवरलेफ़्स का माउंट पॉइंट है (ऊपरी हिस्से के रूप में एक tmpfs का उपयोग करके, और आपके सामान्य फाइलसिस्टम पर जो कुछ भी आप सामान्य रूप से लोअरस्टिर के साथ बातचीत करेंगे)। यदि आप कभी-कभी इसे लगातार बनाए रखना चाहते हैं, तो यह आपको एक तेज़, अल्पकालिक परत और कुछ को तुच्छ रूप से सिंक्रनाइज़ करने में सक्षम बनाता है।
mway

chovy इसे /etc/rc.local में जोड़ें और यह स्वचालित रूप से विभाजन को माउंट कर देगा ... लेकिन डेटा खो जाएगा।
777 एएन

49

Tmpfs फाइलसिस्टम एक RAMDISK है। निम्नलिखित एक 2G RAMDISK बनाएगा जो हमेशा उपलब्ध रहेगा।

sudo mkdir -p /media/ramdisk
sudo mount -t tmpfs -o size=2048M tmpfs /media/ramdisk

रैमडिस्क फ़ोल्डर रूट के स्वामित्व में है क्योंकि यह रिबूट पर उपलब्ध है। रैमडिस्क अनुमतियाँ सभी द्वारा लिखित होनी चाहिए। Tmpfs डिफ़ॉल्ट अनुमतियाँ (chmod 1777) सही हैं।

sudo chmod 1777 /media/ramdisk
drwxrwxrwt 2 root root 180 Apr 23 07:34 /media/ramdisk

रामदिस्क को स्थायी रूप से उपलब्ध कराने के लिए, इसे / etc / fstab में जोड़ें।

grep /media/ramdisk /etc/mtab | sudo tee -a /etc/fstab

आप देखेंगे कि लाइन mtab से fstab तक चली गई है। यह कुछ इस तरह दिखेगा।

tmpfs /media/ramdisk tmpfs rw,size=2048M 0 0

RAMDISK तब तक मेमोरी का उपभोग नहीं करेगा जब तक आप इसका उपयोग नहीं करते। अधिकतम सिस्टम लोड के दौरान अपनी मेमोरी आवश्यकताओं को दोहराएं। यदि RAMDISK बहुत बड़ा है, तो आपका सिस्टम अंतर बनाने के लिए स्वैप स्टोरेज का उपभोग करेगा।

RAMDISK के आकार को समायोजित करने के लिए, संपादित करें / etc / fstab और रैमडिस्क को हटाकर सत्यापित करें (आप अपने वर्तमान RAMDISK सामग्री को खो देंगे जैसा कि आप रिबूट पर करेंगे)। निम्नलिखित रैमडिस्क के आकार को 512M में बदल देगा

# Check the existing ramdisk size.
df /media/ramdisk
# change size=512M for a 512 megabyte ram drive.
sudo vi /etc/fstab
# Remount the ramdisk, you will lose any existing content.
sudo mount -a /media/ramdisk
# Verify the new ramdisk size.
df /media/ramdisk

1
तकनीकी रूप से, tmpfsramfs, रैमडिस्क नहीं है ।
heemayl

2
इस बात से सहमत। मैंने RAMDISK का उपयोग करना चुना क्योंकि यह विंडोज पर इसके लिए सामान्य नाम है।
रिकोफोसुसा

अगर कोई वास्तव में उपयोग में है, तो कोई कैसे जांच सकता है? मैं हमेशा इसे 0% के रूप में देखता हूं।
BTR नायडू

9

मामले के लिए मेरा 2-प्रतिशत जोड़ना आपके पास विशेष अधिकार नहीं है:

Unix.stackexchange से इस उत्तर का उद्धरण

लिनक्स एक tmpfs उपकरण प्रदान करता है जिसे कोई भी उपयोगकर्ता उपयोग कर सकता है, / dev / shm। यह डिफ़ॉल्ट रूप से एक विशिष्ट निर्देशिका पर आरूढ़ नहीं है, लेकिन आप अभी भी इसे एक के रूप में उपयोग कर सकते हैं।

बस / dev / shm में एक डायरेक्टरी बनाएं और फिर आप जहाँ चाहें उसे सिमिलिंक करें। आप बनाई गई निर्देशिका को आपके द्वारा चुनी गई किसी भी अनुमति दे सकते हैं, ताकि अन्य उपयोगकर्ता इसे एक्सेस न कर सकें।

यह एक रैम समर्थित डिवाइस है, इसलिए डिफ़ॉल्ट रूप से मेमोरी में क्या है। आप किसी भी निर्देशिका को अपने अंदर / देव / shm बना सकते हैं

स्वाभाविक रूप से, यहां रखी गई फाइलें रिबूट से बच नहीं पाएंगी, और यदि आपकी मशीन स्वैप करना शुरू कर देती है, तो / dev / shm आपकी मदद नहीं करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.