"डिवाइस पर कोई स्थान नहीं बचा है", df विसंगति दिखाता है


15

कुछ घंटे पहले मेरा रूट विभाजन भरा हुआ था, मैंने फाइलों को इससे हटा दिया और df रिपोर्ट्स:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda1             183G  174G     0 100% /

तो वहाँ 9GB मुक्त होना चाहिए, लेकिन 0 रिपोर्ट का उपयोग करें और उपयोग अभी भी 100% पर है।

मैंने रूट के रूप में परीक्षण किया, उदाहरण के लिए

# echo test >a ; cat a
test

यह उम्मीद के मुताबिक काम करता है; हालांकि एक सामान्य उपयोगकर्ता के रूप में, मुझे अभी भी त्रुटि मिलती है:

$ echo test >a ; cat a
bash: echo: write error: No space left on device

रूट होम डायरेक्टरी जहां मैंने पॉजिटिव टेस्ट किया और मेरी होम डाइरेक्टरी एक ही पार्टीशन पर है। fstab एंट्री है

/dev/hda1 / ext3 noatime,defaults,errors=remount-ro 0 1

जवाबों:


34

अधिकांश फाइलिंग सिस्टम रूट के लिए एक निश्चित प्रतिशत आरक्षित करते हैं, इसलिए आप अभी भी रूट के रूप में लॉग इन कर सकते हैं और डिस्कस्पेस मुद्दों से बाहर हल कर सकते हैं। आमतौर पर यह 5% है। 9GB लगभग 183GB का 5% है, इसलिए यह समझ में आता है। आप देख सकते हैं कि कितना ट्यून 2 एफए का उपयोग करके आरक्षित है:

# tune2fs -l /dev/sda1 | grep -i reserved
Reserved block count:     936488
Reserved GDT blocks:      1019
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)

आप इसका उपयोग करके संशोधित कर सकते हैं

# tune2fs -m 3 /dev/sda1
tune2fs 1.41.9 (22-Aug-2009)
Setting reserved blocks percentage to 3% (561893 blocks)

आधुनिक बड़े ड्राइव पर 5% संभवतः थोड़ा अधिक है, और आप शायद इसे कम सेट करना चाहते हैं। आप इसे शून्य पर सेट नहीं करना चाहते हैं।


1
विश्वास नहीं कर सकता कि मुझे नहीं पता था। मैं बेहतर नहीं कहता कि कब तक मैं अब लिनक्स का उपयोग कर रहा हूं ...
चिह्नित करें

@nfm हे, मैं वर्षों से घर के बक्से पर बुनियादी लिनक्स प्रशासन कर रहा हूं और इसके बारे में कभी नहीं सुना। +1 महान जानकारी के लिए :-)
Topher Fangio

5

bob के साथ im, df -i का प्रयास करें, यदि आपके पास उदाहरण के लिए बीमार आउटपुट क्रॉस्टैब का एक गुच्छा है, तो आपका / var / स्पूल / क्लायंटक्यू / डायरेक्टरी भरा जा सकता है।


3

INODES पर भी नज़र डालें। एक "वेनिला" स्थापना में, यदि आपके पास कई छोटी फाइलें हैं, तो वे इनोड का उपभोग कर सकते हैं, लेकिन स्थान नहीं। आप देखेंगे कि आपके पास स्थान उपलब्ध है, लेकिन चूंकि आपके इनोड भरे हुए हैं, आप इस स्थान का उपयोग नहीं कर पाएंगे।


3
अधिकांश आधुनिक यूनियनों में छोटे फाइल सिस्टम पर भी बड़ी संख्या में इनोड होते हैं। यह कभी-कभी एक समस्या है लेकिन यह देखते हुए कि उपयोगकर्ता फ़ाइल c को बिल्कुल भी बनाने में सक्षम है, यह एक इनोड इश्यू होने की संभावना नहीं है। (निर्देशिका प्रविष्टियों को इनकोड की आवश्यकता होती है, भले ही उन्हें किसी स्थान की आवश्यकता न हो)।
क्रिस

2

"डिफ़ॉल्ट रूप से, यूनिक्स में हर फाइल सिस्टम में सुपरयूजर (रूट) के लिए कुछ स्थान आरक्षित है। इसका मतलब है कि कोई भी नियमित यूनिक्स उपयोगकर्ता आपके फाइल सिस्टम को 100% तक नहीं भर सकता है, और इसलिए सामान्य कार्य जारी रखने के लिए हमेशा पर्याप्त खाली स्थान होना चाहिए। "

से: http://www.unixtutorial.org/commands/tune2fs/


1

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


0

मैं शर्त लगा सकता हूँ कि क्लाइड का जवाब $ 1 है। एक प्रक्रिया में उस डिवाइस पर एक फ़ाइल खुली होती है। लिनक्स में, फ़ाइल को वास्तव में तब तक नहीं हटाया जाता है जब तक कि इसे खुला रखने की प्रक्रिया इससे न निकल जाए।

मैं इसके साथ शुरू करूँगा: lsof | grep hda1

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