ডিএফ বলে যে ডিস্ক পূর্ণ, কিন্তু এটি নয়


58

উবুন্টু 10.04 চলমান ভার্চুয়ালাইজড সার্ভারে, ডিএফ নিম্নলিখিত প্রতিবেদন করে:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             7.4G  7.0G     0 100% /
none                  498M  160K  498M   1% /dev
none                  500M     0  500M   0% /dev/shm
none                  500M   92K  500M   1% /var/run
none                  500M     0  500M   0% /var/lock
none                  500M     0  500M   0% /lib/init/rw
/dev/sda3             917G  305G  566G  36% /home

এটি দুটি কারণে আমাকে বিস্মিত করছে: ১) ডিএফ বলেছে যে / ডিভ / এসডিএ ১, মাউন্ট করা / এর একটি .4.৪ গিগাবাইট ক্ষমতার, যার মধ্যে কেবল 7.০ গিগাবাইট ব্যবহার করা হচ্ছে, তবুও এটি প্রতিবেদন / 100 শতাংশ পূর্ণ বলে জানিয়েছে; এবং ২) আমি ফাইলগুলি তৈরি করতে পারি / যাতে এতে স্পষ্টভাবে স্থান বাকী থাকে না।

সম্ভবত প্রাসঙ্গিক হ'ল ডিরেক্টরি / www হ'ল / হোম / www এর প্রতীকী লিঙ্ক, যা একটি পৃথক পার্টিশনের (/ dev / sda3, / বাড়িতে মাউন্ট করা) রয়েছে।

এখানে কি চলছে সে সম্পর্কে কেউ প্রস্তাব দিতে পারেন? সার্ভারটি ইস্যু ছাড়াই কাজ করছে বলে মনে হচ্ছে, তবে আমি নিশ্চিত করতে চাই যে পার্টিশন টেবিল, ফাইল সিস্টেম বা অন্য কোনও কারণে সমস্যা নেই যা ফলস্বরূপ পরে (বা বিস্ফোরণ) হতে পারে।


সহায়ক উত্তরের জন্য সকলকে ধন্যবাদ। আমি কোনও সাধারণ ব্যবহারকারী হিসাবে ফাইল তৈরি করতে পারি না যাতে এটি প্রদর্শিত হয় যে এটি 5 শতাংশ বাফার যা বিপর্যয় রোধ করে। এখন আমার কেবল ডিস্কটি পূর্ণ কেন তা বুঝতে হবে (আমি কিছুটা দুশ্চিন্তা করছি যে দূষিত কিছু ঘটতে পারে কারণ লগ ফাইলগুলির কোনওটিই এত বেশি জায়গা নিচ্ছে না এবং খুব বেশি সফ্টওয়্যার ইনস্টল নেই, কেবল একটি সাধারণ ল্যাম্প সার্ভার) ...
ক্রিস

3
আমি দেখতে প্রথম স্থান হ'ল / টিএমপি। আর একটি সম্ভাবনা হ'ল আপনার কাছে একটি মুছে ফেলা ফাইল রয়েছে যা একটি চলমান প্রোগ্রাম ধরে রেখেছে। আমি মনে করি আপনি 'lsof | চালাতে পারেন এগুলি সনাক্ত করতে মূল হিসাবে গ্রেপ মুছে ফেলা হয়েছে।
স্কট

উত্তর:


103

এটি সম্ভবত সম্ভব যে কোনও প্রক্রিয়া একটি বড় ফাইল খোলে যা এরপরে মুছে ফেলা হয়েছে। জায়গা খালি করার জন্য আপনাকে সেই প্রক্রিয়াটি শেষ করতে হবে। আপনি lsof ব্যবহার করে প্রক্রিয়াটি সনাক্ত করতে সক্ষম হতে পারেন। লিনাক্সে মুছে ফেলা এখনও খোলা ফাইলগুলি lsof হিসাবে পরিচিত এবং lsof এর আউটপুটে (মুছে ফেলা) হিসাবে চিহ্নিত।

আপনি এটি দিয়ে পরীক্ষা করতে পারেন sudo lsof +L1


8
এটা আমার জন্য রহস্য সমাধান। আমি পরিষেবাটি পুনরায় আরম্ভ না করেই উউসগি থেকে একটি বড় লগ ফাইল সরিয়েছি। জিজ্ঞাসা করা হলে df -ah, আমি ডিস্ক পূর্ণ পেয়েছি, কিন্তু du -sh /বলেছি যে আমার কাছে ফাঁকা জায়গা থাকা উচিত। রিটার্ট উউসগির পরে আমি অনেক ফ্রি স্পেস পেয়েছি!
ফ্যাবিও মন্টেফুস্কোলো

আমার কাছে 40 জি মূল্যের লগগুলি আটকে ছিল এবং lsof + এল 1 কী ঘটেছিল তা দেখার জন্য আমাকে এক্স-রে দৃষ্টি দিয়েছিল ;-) আমাকে যা করতে হয়েছিল তা হল পরিষেবাটি পুনরায় চালু করা।
পিজে ব্রুনেট

46

ফাইল সিস্টেমের 5% (ডিফল্টরূপে) সেই ক্ষেত্রে সংরক্ষণ করা হয় যেখানে গুরুতর সমস্যা রোধ করতে ফাইল সিস্টেম পূরণ করে। আপনার ফাইল সিস্টেমটি পূর্ণ। 5% বাফারের কারণে বিপর্যয়ের কিছুই ঘটছে না - রুটটিকে সেই সুরক্ষা বাফারটি ব্যবহার করার অনুমতি দেওয়া হয় এবং আপনার সেটআপে, রুটহীন ব্যবহারকারীরা সেই ফাইল সিস্টেমে লেখার কোনও কারণ নেই have

যদি আপনার ডেমোন থাকে যা একটি নন-রুট ব্যবহারকারী হিসাবে চালিত হয় তবে সেই ফাইল সিস্টেমে ফাইল পরিচালনা করা দরকার হয় তবে জিনিসগুলি নষ্ট হয়ে যাবে। যেমন একটি সাধারণ ডিমন হয় named। আরেকটি হ'ল ntpd


1
আপনার ডিস্কটি কেন পূর্ণ, এই প্রশ্নটি করার জন্য , 7 জি আসলেই এত বেশি জায়গা নয়। আপনার মনে হয় যে সমস্ত কিছু একটি বিভাজন / ফাইল সিস্টেমের ( /) এর আওতায় ফেলে দেওয়া হয়েছে । এটি সাধারণত একটি খারাপ জিনিস হিসাবে বিবেচনা করা হয় (কারণ যদি কিছু /ঘটে যায় তবে জগতের সমাপ্তি ঘটে) তবে লিনাক্স বিতরণগুলি এখনও এটি চালিয়ে যায় কারণ এটি "সরল"। আমি বিশাল লগ ফাইলগুলিতে সন্ধান করে /var( /var/logউদাঃ) শুরু করব । du -hs /(রুট হিসাবে) আপনাকে বৃহত্তম ডিরেক্টরিগুলি সন্ধান করতে এবং সম্ভবত পরিষ্কার করার দরকারে আপনাকে নির্দেশ করতে সহায়তা করবে।
voretaq7


17

বেশিরভাগ লিনাক্স ফাইল সিস্টেমগুলি কেবলমাত্র ব্যবহারকারীর জন্য 5% স্থান সংরক্ষণ করে।

আপনি উদাহরণ সহ এটি দেখতে পারেন

dumpe2fs /dev/sda1 | grep -i reserved

আপনি ব্যবহার করে সংরক্ষিত পরিমাণ পরিবর্তন করতে পারেন:

tune2fs -m 0 /dev/sda1

বেশিরভাগ ক্ষেত্রে সার্ভারটি ঠিকঠাক কাজ চালিয়ে যেতে দেখাবে - ধরে নিবেন যে সমস্ত প্রক্রিয়া 'রুট' হিসাবে চালিত হচ্ছে।


8

আমার এই সমস্যাটি ছিল এবং বিভিন্ন বড় ফাইল মুছে ফেলার বিষয়টি নিয়ে বিস্মিত হয়ে পড়েছিলাম পরিস্থিতি উন্নত হয়নি (5% বাফার সম্পর্কে জানা ছিল না) যাইহোক এখানে কিছু সংকেত অনুসরণ করে

পুনরুদ্ধার করে রুট থেকে প্রকাশিত বৃহত্তম ডিরেক্টরিগুলি নেমে গেছে: -

du -sh */ 

যতক্ষণ না আমি ওয়েবসারভার লগ ফাইলগুলির জন্য একটি ডিরেক্টরি আসি যেখানে কিছু একেবারে বিশাল লগ ছিল

যা দিয়ে আমি কেটেছি

:>lighttpd.error.log

হঠাৎ ব্যবহারকারীর জন্য ডিএফ -h নিচে ছিল 48%!


14
"... তারপরে আমি লগ রোটেশন সেট আপ করব" দিয়ে শেষ হওয়া উচিত।
হাইয়ালকি

হাইয়ালকি: পাওয়া গেছে যে লোগ্রোটেশনটি ভুল ডিরেক্টরিতে নির্দেশ করছে।
জাজেপার

8

ইতিমধ্যে প্রস্তাবিত কারণগুলি ছাড়াও, কিছু ক্ষেত্রে এটি নিম্নলিখিতও হতে পারে:

  • বিদ্যমান ফোল্ডারটিতে একটি সম্পূর্ণ ডিস্ক "ওভার" মাউন্ট করা থাকে যা ডেটা পূর্ণ
  • du মাউন্ট করা ডিস্কের জন্য ব্যয় করা আকার গণনা করবে এবং df সত্যই ব্যয় করবে
  • সমাধান: (যখন সম্ভব) সমস্ত নন-রুট ডিস্ক আনমাউন্ট করুন এবং du -md 1আবার আকারটি পরীক্ষা করুন । লুকানো ফোল্ডারটি অন্য কোনও জায়গায় সরিয়ে বা বিভিন্ন জায়গায় মাউন্ট করে পরিস্থিতি ঠিক করুন।

আপনি ডিএফ ছাড়া অন্য মাউন্ট পয়েন্টগুলি কীভাবে খুঁজে পাবেন?
হোগান

@ হোগান: সম্ভবত "মাউন্ট" বা "বিড়াল / ইত্যাদি / fstab" কল করা সাহায্য করবে?
রবার্ট লুজো

5

df -hমানকে গোল করে দিচ্ছে। এমনকি শতাংশগুলিও গোল হয়। ছাড়ুন -hএবং আপনি সূক্ষ্ম দানাদার পার্থক্য দেখতে পাচ্ছেন।

উহু. এবং ext3 এবং সঠিকভাবে এই সমস্যাযুক্ত নক্ষত্রের জন্য ফাইল-সিস্টেমের জন্য একটি শতাংশ (ডিফল্ট 5%) রিজার্ভ করে। যদি আপনার রুট ফাইল সিস্টেমটি সত্যিই পূর্ণ হয়ে যায় (0 বাইট বাকি) আপনি সিস্টেম বুট করতে পারবেন না। সুতরাং সংরক্ষিত অংশ এটি প্রতিরোধ করে।


এমনও হতে পারে যে সে ফ্রি ইনোডের বাইরে চলে গেছে। ইনডসের ব্যবহার পেতে 'df -i' চালান।
অ্যান্ড্রু কেস

ডিস্কটি পূর্ণ রয়েছে এমন তথ্য তিনি সরবরাহ করেননি । তিনি কেবল ভাবেন যে ডিস্কটি পূর্ণ। ত্রুটিবিহীন 100% ব্যবহৃত স্থান কেবল "ভার্চুয়াল পূর্ণ"।
মেলকিউ

1

আমি বেশ কয়েকটি লাইব্রেরির একটি বড় আপডেট করেছি এবং অনেকগুলি অপ্রয়োজনীয় গ্রন্থাগার এবং টেম্পোরাল ফাইল ছিল তাই আমি "/" ফোল্ডারে এই জায়গাটি ফাঁকা করে ব্যবহার করে:

apt-get install -f
sudo apt-get clean

এবং আপনার আবর্জনা খালি করুন


এটি ডিস্কের ব্যবহার হ্রাস করার পক্ষে যুক্তিসঙ্গত সাধারণ পরামর্শ, তবে এটি কেন ডিএফ বলে না যে ডিস্কটি ভরাট না হলে এই প্রশ্নটির সমাধান করে না।
অ্যান্ড্রু শুলম্যান

0

পাওয়া / হারিয়ে যাওয়া + পরীক্ষা করে দেখুন, আমার কাছে একটি সিস্টেম ছিল (সেন্টোস 7) এবং / হারানো + এর কিছু ফাইল সমস্ত জায়গা খেয়ে ফেলেছে


0

যদি আপনার পার্টিশনটি বিটিআরএফ থাকে, সেখানে সাব-ভলিউম স্থান গ্রহণ করতে পারে। একটি বিটিআরএফএস ফাইল সিস্টেমের অনেকগুলি সাবভলিউম থাকতে পারে যার মধ্যে একটি মাউন্ট করা থাকে। আপনি btrfs subvolume list <dir>সমস্ত সাবভলিউম তালিকা করতে এবং btrfs subvolume delete <dir>/<subvolume>একটি মুছতে ব্যবহার করতে পারেন । নিশ্চিত হয়ে নিন যে আপনি ডিফল্টরূপে মাউন্ট করা একটি মুছবেন না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.