ये tmpfs विभाजन / फोल्डर क्या हैं और इन्हें कैसे निकालना है?


5

मैं फेडोरा 20 चला रहा हूं। मुझे निम्न आउटपुट मिला है $df -h

$ df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/fedora-root   11G  8.0G  2.1G  80% /
devtmpfs                 3.5G     0  3.5G   0% /dev
tmpfs                    3.5G   76K  3.5G   1% /dev/shm
tmpfs                    3.5G  676K  3.5G   1% /run
tmpfs                    3.5G     0  3.5G   0% /sys/fs/cgroup
tmpfs                    3.5G  164K  3.5G   1% /tmp
/dev/sda1                477M   90M  358M  20% /boot
/dev/mapper/fedora-home   45G   26G   17G  60% /home
none                     224G  114G  111G  51% /media/sf_VBShared

मैं नहीं क्यों कुछ कर रहे हैं tmpfs और यह devtmpfs। और वे यहाँ क्यों हैं? क्या मैं उन्हें हटा सकता हूं और इन डिस्क स्थान को वापस पा सकता हूं?


1
वे किसी भी डिस्क स्थान पर कब्जा नहीं करते हैं।
Keith Thompson

@KeithThompson आपको लगता है कि यह काफी संपूर्ण उत्तर है?
Artem Novikov

@ArtemNovikov: क्या आप मेरी टिप्पणी के बारे में पूछ रहे हैं या उत्तर में से एक के बारे में?
Keith Thompson

@KeithThompson अपनी टिप्पणी के बारे में। यह स्पष्ट नहीं करता है कि लेखक के पास क्या मुद्दा है। मुझे पता है कि आपने केवल एक टिप्पणी पोस्ट की है, एक उत्तर नहीं, लेकिन फिर भी, बेहतर होगा यदि आप अधिक विस्तृत उत्तर प्रदान करते हैं (यदि आपके पास है)।
Artem Novikov

@ArtemNovikov: मैंने इसे एक टिप्पणी के रूप में पोस्ट किया था (तीन साल पहले) क्योंकि यह एक पूर्ण उत्तर नहीं था। JdeBP का जवाब काफी हद तक पूरा लगता है।
Keith Thompson

जवाबों:


5

टिप्पणी और दूसरे उत्तर ने tmpfs के बारे में आपकी गलत धारणाओं को संबोधित किया है। यहाँ, मैं संबोधित करने जा रहा हूँ

वे यहाँ क्यों हैं?
तथा
क्या मैं उन्हें हटा सकता हूं?
जैसा पूछा गया।

ये सभी, सिस्टम स्लैंग में हैं, एपीआई फाइल सिस्टम । वे एक सिस्टम-आधारित सिस्टम के संचालन के लिए मौलिक हैं, और सिस्टम प्रोग्राम उन्हें सिस्टम इनिशियलाइज़ेशन में माउंट करता है, इससे पहले कि यह बहुत कुछ और करता है। system-manager से nosh (वर्तमान में) को छोड़कर बहुत कुछ करता है /sys/fs/cgroup तथा /tmp

/dev/shm

पर (केवल) डेबियन लिनक्स ऑपरेटिंग सिस्टम, यह वास्तव में है /run/shm। इस tmpfs को लागू करने का विशिष्ट उद्देश्य है POSIX ने साझा की मेमोरी आपके ऑपरेटिंग सिस्टम पर। इसे हटाने से उन अनुप्रयोगों का कारण होगा जो POSIX साझा की गई मेमोरी को विफल करने के लिए उपयोग करते हैं।

/sys/fs/cgroup

यह वह जगह है जहाँ systemd (और अन्य) विभिन्न माउंट करते हैं नियंत्रण समूह नियंत्रण पदानुक्रम जो आपके ऑपरेटिंग सिस्टम पर उपलब्ध हैं। इसे हटाने से आपके ऑपरेटिंग सिस्टम के हिस्से बंद हो जाएंगे, जो कि नियंत्रण समूहों, काम करने वाले लोगों पर निर्भर करते हैं।

/tmp

यह निश्चित रूप से वह जगह है जहां उपयोगकर्ता शॉर्ट-स्टे अस्थायी फ़ाइलों को रखने में सक्षम होने की उम्मीद करते हैं। इसे हटाने से उचित संख्या में एप्लिकेशन बन जाएंगे जो अस्थायी फ़ाइलों का उपयोग काफी दुखी करते हैं।

/run

यह हुआ करता था /var/run। यह वह जगह है जहाँ (विशिष्ट प्रकार की) अस्थायी फ़ाइलें जो संभावित रूप से तब तक चल सकती हैं जब तक कि अगली प्रणाली बूटस्ट्रैप नहीं रखी जाती। आपको यह पीआईडी ​​फाइलों से भरा हुआ मिलेगा, सिस्टमड नॉन-सस्टेनेबल जर्नल, यूनिक्स-डोमेन सॉकेट्स, एफआईएफओ और अन्य समान चीजें। इसे हटाने से सिस्टमड जर्नल रोना होगा; (मिस) एक निराशाजनक बड़ी संख्या में donsmons का प्रबंधन जो अभी भी, आज भी PID फ़ाइलों का उपयोग करता है; और मलबे udv, सिस्टमड "मल्टी-सीट" प्रणाली, और अन्य उप-प्रणालियों का एक पूरा गुच्छा।

एक nosh सिस्टम पर, इसे हटाने से समान रूप से उन सभी सबसिस्टम को उनके FIFOs और सॉकेट्स के साथ तोड़ दिया जाएगा। यह सेवा प्रबंधक के नियंत्रण एपीआई, सेवा प्रबंधक के संबद्ध लकड़हारे को भी तोड़ देगा, और किसी भी "प्रारंभिक पर्यवेक्षण" के नियंत्रण / स्थिति एपीआई को भी तोड़ देगा।

/dev

यह वह जगह है, जहां पारंपरिक रूप से, चरित्र और ब्लॉक डिवाइसों के लिए डिवाइस की सभी फाइलें यूनीक्स और लिनक्स पर संग्रहीत हैं। बहुत सारे प्रोग्राम और सबसिस्टम पारंपरिक नामों की तरह उम्मीद करते हैं /dev/tty, /dev/null, /dev/zero, /dev/console, /dev/fd/0, /dev/sda, और आगे काम करने के लिए। इसे हटाने से आपकी प्रणाली इतनी टूट जाएगी कि मुझे संदेह है कि यह बिल्कुल भी उपयोगी होगा। यह है एक devtmpfs इसके बजाय tmpfs। अंतर यह है कि पूर्व कर्नेल द्वारा डिवाइस फ़ाइल प्रविष्टियों के साथ स्वचालित रूप से पॉप्युलेट और डी-पॉप्युलेट किया जाता है, क्योंकि डिवाइस को कर्नेल में लोड / सक्षम और अक्षम / अनलोड किया जाता है।

आगे की पढाई


लेकिन tmpfs की कई प्रविष्टियाँ कैसे संभव हैं? तार्किक रूप से इसका मतलब है /dev/shm सब कुछ के साथ संघर्ष /run। लेकिन वास्तव में वे नहीं है और वे भी अलग सामग्री है। अगर दोनों एक ही डिवाइस पर मैप किए जाते हैं तो यह कैसे होता है? मैंने इसे अन्य फाइल सिस्टम के साथ भी देखा है।
Artem Novikov

यह एक अलग सवाल है, और नहीं यहाँ पूछे जाने वाले प्रश्न। तुम जानते हो कहाँ कैसे पूछें है। (-:
JdeBP

0

tmpfs संक्षिप्त (एक प्रकार का) रैमडिस्क है। आइडिया को छोटे अस्थायी सामान के साथ हार्ड ड्राइव को कचरा नहीं करना है, आजकल वह मेमोरी प्रीमियम नहीं है, जिसमें रैम आधारित ब्लॉक डिवाइस का जोड़ा गया गति बोनस है।

लंबे समय में आप उदाहरण के लिए पढ़ सकते हैं http://en.wikipedia.org/wiki/Tmpfs

लेख से उद्धृत करने के लिए

Tmpfs में संग्रहीत सब कुछ इस अर्थ में अस्थायी है कि हार्ड ड्राइव पर कोई फाइल नहीं बनाई जाएगी; हालाँकि, स्वैप स्पेस का उपयोग कम मेमोरी स्थितियों के मामले में बैकिंग स्टोर के रूप में किया जाता है। रिबूट पर, tmpfs में सब कुछ खो जाएगा।

Tmpfs द्वारा उपयोग की जाने वाली मेमोरी बढ़ती है और इसमें मौजूद फ़ाइलों को समायोजित करने के लिए सिकुड़ती है और स्वैप करने के लिए स्पेस स्वैप किया जा सकता है।


जोड़-तोड़, tmpfs पढ़ने / लिखने और पहुँच के समय के मामले में तेज़ है।
mveroone

-1

यदि आप यह समझना चाहते हैं कि tmpfs क्या है, तो मैं पहले kernel.org (नीचे स्थित लिंक) की जाँच करने का सुझाव दूंगा।

Tmpfs एक फाइल सिस्टम है जो सभी फाइलों को वर्चुअल मेमोरी (भौतिक मेमोरी + स्वैप) में रखता है। प्रलेखन के अनुसार: यदि tmpfs का उदाहरण हटा दिया जाता है, तो उसमें संग्रहित सब कुछ खो जाता है।

यदि आप आरोहित होने पर fs को अनमाउंट करने का प्रयास करते हैं, तो सिस्टम को आपको नीचे दिए उदाहरण से नहीं देख सकता है, तो फाइल को / dev / shm में रखना ओएस से संबंधित है, जिसका अर्थ है कि यह इस संसाधन का उपयोग करके प्रक्रियाओं को क्रैश करेगा। वैकल्पिक रूप से / etc / fstab से पंक्तियों को टिप्पणी करना न तो एक अच्छा विचार है, क्योंकि वर्चुअल फाइल सिस्टम जैसे कि procfs या sysfs अपेक्षित रूप से काम नहीं कर सकते, या माउंट किए जा रहे हैं।

[root@client ~]# mount |egrep tmpfs
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
[root@client ~]# for pid in $(fuser -m /dev/shm 2>/dev/null|sed "s/m//g");do echo $pid--;pstree -p $pid ;done
2194--
gnome-settings-(2194)───{gnome-settings}(2197)
2210--
metacity(2210)───{metacity}(11132)
2253--
pulseaudio(2253)─┬─gconf-helper(2263)
                 ├─{pulseaudio}(2260)
                 └─{pulseaudio}(2262)
2264--
gnome-volume-co(2264)
2267--
gpk-update-icon(2267)───{gpk-update-ico}(2870)

कर्नेल - tmpfs

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