আমার / পার্টিশনের সমস্ত স্থান কী ব্যবহার করছে তা আমি কীভাবে জানতে পারি?


9

আমি অ্যামাজনের ইসি 2 সার্ভারগুলিতে একটি বড় উদাহরণে আছি। আমি df কমান্ড চালাচ্ছি এবং পেতে:

root@db:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             9.9G  9.1G  284M  98% /
tmpfs                 3.8G     0  3.8G   0% /lib/init/rw
varrun                3.8G  116K  3.8G   1% /var/run
varlock               3.8G     0  3.8G   0% /var/lock
udev                  3.8G   80K  3.8G   1% /dev
tmpfs                 3.8G     0  3.8G   0% /dev/shm
/dev/sdb              414G  957M  392G   1% /mnt
/dev/sdf               50G   12G   35G  26% /byp
/dev/sdk               99G   31G   63G  33% /backups

আমি তখন ডু কমান্ডটি চালাচ্ছি এবং পেয়ে যাব:

root@db:/# du -s -h /*
31G     /backups
5.5M    /bin
136K    /boot
12G     /byp
80K     /dev
5.8M    /etc
12K     /home
70M     /lib
11M     /lib32
0       /lib64
16K     /lost+found
759M    /mnt
4.0K    /opt
du: cannot access `/proc/6917/task/6917/fd/4': No such file or directory
du: cannot access `/proc/6917/fd/4': No such file or directory
0       /proc
31M     /root
7.7M    /sbin
4.0K    /selinux
4.0K    /srv
0       /sys
11M     /tmp
1.1G    /usr
114M    /var

আপনি যদি লক্ষ্য করেন যে, যখন আপনি নন-মাউন্টড ডিরেক্টরিগুলির ডু কমান্ড আউটপুটটিতে সমস্ত মাপ যুক্ত করেন, আপনি df কমান্ডের মতো 9.1G এর কাছাকাছি পাবেন না।

এর অর্থ কি আমার একটি খারাপ ডিস্ক আছে? যদি তা হয় তবে আমি কীভাবে এটি সংশোধন করতে পারি?

উত্তর:


20

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

# lsof | grep "deleted"

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

যদি এটি এটি ঠিক না করে, তবে আমি একটি fsck সুপারিশ করব।


1
অসাধারণ! ঐটা এটা ছিল. আমার একটি পোস্টগ্র্যাস্কল লগ ছিল যা এখনও লগইন হচ্ছে।
শেট

আপনি যদি ফাইলটি মোছার পরিবর্তে ডেমন পুনরায় আরম্ভ না করে কিছু স্থান ফাঁকা করতে চান তবে পরিবর্তে "প্রতিধ্বনি> ফাইল" ব্যবহার করুন। এটি ফাইলটি কেটে ফেলবে, তবে হ্যান্ডেলটি এখনও খোলা থাকার কারণে এটি একটি স্পার্স ফাইল হয়ে যাবে। এর অর্থ এটি এখনও একই আকারের হবে, তবে ডিস্কের অনেক কম জায়গা গ্রহণ করবে।
ডেভিড পাশলে

lsof +L1কখনও কখনও এই
গ্রেপের

5

ডু ডিফ সমান না হওয়ার কারণগুলির একটি গুচ্ছ রয়েছে। এই প্রশ্নের উত্তর দেখুন ।

কিছু হ'ল ওভারলে মাউন্টগুলি, প্রচুর ছোট ফাইল এবং আরও বড় আকারের ব্লক আকার এবং মুছে ফেলা ফাইলগুলি যা এখনও ব্যবহার করা হয়। ওভারলে মাউন্টগুলি হ'ল আপনি যখন কোনও মাউন্ট পয়েন্টে কোনও ফাইল সিস্টেম স্থাপন করেছিলেন যাতে এতে ফাইল রয়েছে, তাই ডু সেগুলি দেখতে পাবে না।

উভয়ের মধ্যে প্রধান পার্থক্য হ'ল ডিএফ কেবল সুপারব্লকটি পরীক্ষা করে এবং এটি বিশ্বাস করে, যেখানে ডু এটি দেখতে সক্ষম সমস্ত ফাইল স্ক্যান করে এবং সেগুলি যুক্ত করে। সুপারব্লক সম্পর্কিত তথ্যের জন্য এই আইবিএম লিঙ্কটি দেখুন ।


4

আপনি যখন এই জাতীয় সমস্যাটি অনুসরণ করছেন তখন সর্বদা du সহ -x বিকল্পটি ব্যবহার করুন। এটি ফাইল সিস্টেম অতিক্রম করা থেকে দূরে রাখে।


এটি কোনও পার্থক্য করতে পারত না, যেমন ওপি স্পষ্টভাবে / * চেয়েছিল, তাই অন্যান্য পার্টিশনের জন্য জিজ্ঞাসা করেছিল। "/ এমএনটি / ব্যাকআপস" এর নিচে কিছু মাউন্ট করা থাকলে এটি সাহায্য করতে পারত
ডেভিড প্যাশলে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.