"Df" और "du" कमांड अलग-अलग डिस्क उपयोग क्यों दिखाते हैं?


26

मैं अपने पीसी, त्रुटि संदेश पर ubuntu प्रणाली का उपयोग नहीं कर सकता: " सिस्टम कम ग्राफिक्स मोड में चल रहा है " और मैंने कुछ आदेशों की कोशिश की जिन्हें मैंने इंटरनेट से खोजा था।

मुझे पता चला कि एक समस्या है, जिसमें डिस्क स्थान उपलब्ध नहीं है। मैंने जाँच करने के लिए " df " और " du " कमांड का उपयोग किया, परिणाम इस प्रकार हैं:

du -j --max-depth=1
23G  ./home
3.3G ./usr 
...... 
28G

तथा

df -Th 
filesystem   Type   size    used   available   use%    mounted on 
/dev/sda5    ext4   68G     68G    0           100%    /

मैं अधिक डिस्क स्थान के लिए सिस्टम को कैसे साफ करूंगा?


शीर्षक और प्रश्न निकाय के अंत में प्रश्न बहुत अलग है। कुछ उत्तर एक प्रश्न से संबंधित हैं, कुछ अन्य से। आपको अपनी वास्तविक जरूरतों को स्पष्ट करना चाहिए और संभवतः एक उत्तर भी स्वीकार करना चाहिए ।
मेलेबियस

जवाबों:


50

आप सबसे शायद यह जानते हैं कि आप एक फ़ाइल को निकाल सकते हैं जो अभी भी कुछ एप्लिकेशन द्वारा उपयोग में है और इस एप्लिकेशन के लिए यह उपलब्ध है। ऐसा इसलिए है क्योंकि फ़ाइल डिस्क्रिप्टर इन / प्रोक / फाइलसिस्टम को खुला रखा गया है।

इसलिए यदि पहले से हटाई गई फ़ाइलों के लिए ऐसे खुले विवरणकर्ता हैं, तो उनके द्वारा उपयोग की गई जगह के रूप में माना जाने वाला स्थान df(और dfसही है), लेकिन उन्हें ध्यान में नहीं रखा जा सकता है duक्योंकि अब उनके साथ जुड़े फ़ाइल नाम नहीं हैं।

आप सभी गैर-सूचीबद्ध लेकिन खुली हुई फ़ाइलों को पा सकते हैं:

# lsof | grep '(deleted)'

7
इसने मुझे बचा लिया। पता नहीं क्यों मेरी डिस्क भरी हुई थी, लेकिन डु ने कहा कि यह खाली था। 8GB फ़ाइल के लिए एक खुली फ़ाइल हैंडल
Cheyne

5
मैं लिंक कैसे हटा सकता हूं?
विकास हार्डिया

1
कभी-कभी आपको अन्य उपयोगकर्ताओं की प्रक्रियाओं द्वारा खुली हुई नष्ट की गई फ़ाइलों को देखने के लिए इसे रूट के रूप में निष्पादित करने की आवश्यकता होती है।
एन्वेक करें

1
मेरे लिए इसका मूल कारण मेरी एक फ़ाइल में एक गलत लॉग फ़ाइल युक्ति होना है /etc/logrotate.d। खराब प्रविष्टि एक पोस्टोटेट दिनचर्या को याद कर रही थी, जिसके कारण मेरी डेमॉन प्रक्रिया को इसकी घुमा / हटाए गए फ़ाइलों को नहीं जाने दिया गया।
डेल एंडरसन

मैं कैसे हटाए गए लेकिन खुली फ़ाइलों को हटा सकता हूं?
zx1986

14

मैं लिंक कैसे हटा सकता हूं? - विकास हार्डिया 22 अगस्त 14 को 5:46 बजे

आपको वह प्रक्रिया ढूंढनी होगी जो फ़ाइल हैंडल रखती है। दिमित्री अलेक्जेंड्रोव की कमान का उपयोग करें, वहां आप प्रक्रिया और पीआईडी ​​देखते हैं। हमारे मामले में और "पुराना" वार्निश लॉग फ़ाइल अंतरिक्ष हत्यारा था।

# lsof | grep '(deleted)'
[...]
varnishlo 13978       varnishlog    3w      REG              252,1 318448027646    5926973 /var/log/varnish/varnish.log.1 (deleted)
apache2   16801         www-data    2w      REG              252,1        64550   13110120 /var/log/apache2/error.log.1 (deleted)
[...]
# service varnishlog stop
[or if there is no service script]
# kill -11 13978 (the second number of the lsof command is the pid)
[or may be] 
# kill -9 13978

यदि आपके कंप्यूटर पर एक दानव या कुछ अन्य सेवा है, तो सेवा या प्रक्रिया को फिर से शुरू करना न भूलें। यदि आप कर सकते हैं, तो बस कंप्यूटर को रिबूट करें;)


9

ठीक है, आदमी पृष्ठों की जाँच करें:

df - रिपोर्ट फ़ाइल सिस्टम डिस्क स्थान उपयोग

तथा

डु - अनुमान फ़ाइल अंतरिक्ष उपयोग

वे दो उपकरण अलग-अलग प्रस्ताव के लिए थे। जबकि dfफाइल सिस्टम के उपयोग को दिखाने के लिए है, duफ़ाइल स्थान उपयोग रिपोर्ट करने के लिए है। फाइल सिस्टम स्तर पर काम duकरते समय फाइलों से dfकाम करता है, यह बताता है कि कर्नेल ने क्या उपलब्ध है। duइस पृष्ठ समर्थन जारी रखें पढ़ने :

निर्देशिकाओं के लिए पुनरावर्ती रूप से प्रत्येक फ़ाइल के डिस्क उपयोग को सारांशित करें ।

यह कहता है कि duफाइलों के साथ काम करता है।

dfप्रत्येक फ़ाइल नाम तर्क युक्त फ़ाइल सिस्टम पर उपलब्ध डिस्क स्थान की मात्रा प्रदर्शित करता है। यदि कोई फ़ाइल नाम नहीं दिया गया है, तो वर्तमान में माउंट किए गए फ़ाइल सिस्टम पर उपलब्ध स्थान दिखाया गया है।

यहां कहा गया है कि dfफाइलों की परवाह न करें बल्कि फाइलसिस्टम की ही परवाह करें।


डु उपयोग को -x वर्ण के साथ संशोधित किया जा सकता है, यह बताने के लिए कि दिए गए फ़ाइल सिस्टम पर केवल फाइलों की गिनती करें।
macetw

1

बस कहा:

आप duबिना रूट परमिशन के भागे । तो यह में उपलब्ध स्थान की जाँच करने में सक्षम नहीं है /proc, /mnt, आदि, फ़ोल्डर्स।

df क्रमशः कुल इस्तेमाल किया और मुक्त स्थान दिखाया।

इसलिए जब आप लिनक्स रूट फाइल सिस्टम की जांच करते हैं, तो duरिपोर्ट को अंतिम रूप दें।


0
df

मुक्त डिस्क स्थान को संक्षेप में लिखें

यह उपलब्ध डिस्क स्थान की मात्रा को प्रदर्शित करता है।

du

डिस्क उपयोग को संक्षिप्त करें।

यह प्रयुक्त डिस्क स्थान की मात्रा को प्रदर्शित करता है।


हां, लेकिन "df -Th" के परिणाम में, यह 68G का उपयोग करता है। आज की सुबह जब मैं ubuntu प्रणाली का उपयोग करने की कोशिश करता हूं, तब भी यह "कम-ग्राफिक्स मोड में सिस्टम चल रहा है" संदेश देता है, लेकिन जब मैं मेमोरी उपयोग की जांच करता हूं, तो "डीएफ" और "डु" कमांड एक उचित परिणाम दिखाता है। लेकिन क्या, "कम ग्राफिक्स मोड" के साथ समस्या है?
user2068965

इस पर एक नज़र डालें ।
मिच

0

कुछ भी नहीं है कि बहुत भ्रमित: यहाँ देखो है: =

1) du == डिस्क उपयोग
इन फ़ाइलों द्वारा डिस्क स्थान का कितना उपयोग किया जा रहा है?

2) df == डिस्क नि: शुल्क
डिस्क स्थान हमारे पास कितना है?

सिस्टम के लिए निम्न ग्राफिक्स मोड में चल रहा है ' यहाँ '


0

मैंने किया
sudo du -hxa / | egrep '^[[:digit:]]{1,1}G[[:space:]]*'

यह वास्तव में 21GB की बड़ी विसंगति के लिए जिम्मेदार है जो मैं देख रहा था!
प्रश्न में फ़ाइल 21GB था / स्वैप फ़ाइल !!

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