जवाबों:
प्रौद्योगिकी को कर्नेल में बनाया गया है, आपको किसी अतिरिक्त टूल की आवश्यकता नहीं है। वास्तव में, आपके पास पहले से ही कुछ रैम डिस्क हैं (जो आपको उपयोग नहीं करना चाहिए, वे सिस्टम के लिए आरक्षित हैं), जिसे आप कर सकते हैं
grep -w tmpfs /proc/mounts
2GB RAM डिस्क पर स्थापित करने के लिए /ramdisk
, निम्न पंक्ति को इसमें जोड़ें /etc/fstab
:
ramdisk /ramdisk tmpfs mode=1777,size=2g
फिर कमांड के साथ डिस्क को माउंट करें mount /ramdisk
(यह रिबूट होने पर स्वचालित रूप से किया जाएगा)।
संकेतित आकार एक अधिकतम है, डिस्क केवल उसी मेमोरी का उपयोग करती है जो उस पर मौजूद फ़ाइलों के रूप में है।
आप /tmp
रैम डिस्क में बदल सकते हैं । /etc/fstab
ऊपर की पंक्ति में, इसके /tmp
बजाय रखो /ramdisk
, फिर रिबूट करें।
/tmp
रैम डिस्क में बदलने के बाद पहली बार आप रिबूट करते हैं , जो फाइलें थीं, /tmp
वे छिपी होंगी। यह हानिरहित है, सिवाय इसके कि वे थोड़ा डिस्क स्थान बर्बाद कर रहे हैं। आप उन्हें साफ कर सकते हैं ( रैम डिस्क पर आपके द्वारा रिबूट किए जाने के बाद/tmp
)
mount --bind / /mnt
rm -r /mnt/tmp/* /mnt/tmp/.*
umount /mnt
mount --bind
आदेश में आता है /mnt
अपने रूट फाइल सिस्टम का डुप्लिकेट दृश्य; लेकिन जब RAM डिस्क अब /tmp
रूट दृश्य पर अस्पष्ट है , कुछ भी अस्पष्ट नहीं है /mnt/tmp
।
जोड़ा : आप /tmp
रिबूट किए बिना एक रैम डिस्क पर स्विच कर सकते हैं , यह बस थोड़ा अधिक जटिल है। /etc/fstab
ऊपर के रूप में लाइन जोड़ें , फिर निम्न कमांड चलाएं:
mkdir /tmp.old
mount --bind /tmp /tmp.old
mount /tmp
cd /tmp
ln -s /tmp.old/* /tmp/.* .
फिर /tmp.old
अपने अगले रिबूट के बाद हटाएं ।
कारण तुम सिर्फ से फाइल स्थानांतरित नहीं कर सकते /tmp.old
करने के लिए /tmp
है कि कुछ महत्वपूर्ण कार्यक्रमों खुले में फ़ाइलें है /tmp
, उदाहरण के लिए /tmp/.X11-unix/X0
, जिस पर X सर्वर सुनता है और हर जीयूआई कार्यक्रम को खोलता है, जब यह शुरू होता है। किसी फ़ाइल को किसी भिन्न फ़ाइल सिस्टम में ले जाने का अर्थ है कि उसे कॉपी करना और पुराने को डिलीट करना, इसलिए आप एक्स सर्वर के साथ अभी भी सुन रहे हैं, /tmp.old/.X11-unix/X0
लेकिन एक्स क्लाइंट /tmp/.X11-unix/X0
व्यर्थ में संपर्क कर रहे हैं। यदि आप सावधान हैं, तो एक सर्वर पर, आप एक चाल से दूर हो सकते हैं।
/tmp
करने के लिए है tmpfs
। यह आवश्यक नहीं है, और मैंने यह करने के लिए अपने उत्तर को संपादित किया है कि यह कैसे करना है, लेकिन यह अधिक जटिल है। इसमें कोई mkfs
शामिल नहीं है क्योंकि तैयार करने के लिए कोई अंतर्निहित भंडारण नहीं है, कर्नेल सब कुछ संभालता है।
/tmp
डिस्क पर सिंक की आवृत्ति बढ़ जाती है), लेकिन यह एक अविश्वसनीय व्यक्तिपरक छाप है। मैंने कभी बेंचमार्क करने की कोशिश नहीं की।