du কমান্ডটি চালাতে খুব বেশি সময় নেয়


9

আমি du -shডিস্ক হগগুলি খুঁজতে বিভিন্ন ডিরেক্টরিতে চালাচ্ছি । আমি দুটি অনুরূপ সার্ভার (ডেল PE2850s) পেয়েছি, উভয়ই আরএইচইএল 5 এর সাথে এবং অন্যটিতে duএকটি সার্ভারে চালিত হতে যথেষ্ট সময় লাগবে ।

উদাহরণস্বরূপ, du -sh /opt/foobarসার্ভার এতে 5 মিনিট সময় লাগবে (এতে প্রায় 25 জিবি রয়েছে) এবং সার্ভার বিতে, একই পরিমাণের ডেটা সহ একই কমান্ডটি প্রায় তাত্ক্ষণিকভাবে আমাকে রিপোর্ট করবে। শীর্ষে চলার সময় আমি স্পষ্টতই কিছু দেখতে পাচ্ছি না ইত্যাদি etc.

কোন পরামর্শ ব্যাপকভাবে প্রশংসা করা হয়।


3
এর গতি du -sডেটা আকারের উপর নির্ভর করে না বরং ফাইল সংখ্যার উপর নির্ভর করে। উভয় ডিরেক্টরি ট্রিতে কি একই সংখ্যক ফাইল রয়েছে?
লাদাদাদাদা

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

@ লাদাদাদা আমি বলব হ্যাঁ প্রায় একই পরিমাণে ফাইল রয়েছে। তারকাচিহ্ন যুক্ত করার সময়ও পৃথকভাবে ফাইল আকারের একটি তালিকা পেতে স্ক্রোল করতে দীর্ঘ সময় লাগে। তবে মেটা ডেটা ক্যাশে হয়েছে কিনা তা কীভাবে যাচাই করবেন তা আমি পুরোপুরি নিশ্চিত নই।
জন ওয়েইনরব

উত্তর:


6

যদি আপনার সেই ডিরেক্টরিতে প্রচুর পরিমাণে ফাইল থাকে এবং ডিরেক্টরিগুলির বিষয়বস্তু ক্রমাগত পরিবর্তন হয় তবে ডিরেক্টরি এন্ট্রি নিজেই সময়ের সাথে খণ্ডিত হয়ে যায়। তারপরে ওএস যখন ডিরেক্টরি বিষয়বস্তুগুলি পড়ছে, সেখানে প্রচুর এবং অপ্রয়োজনীয় ডিস্ক সন্ধান করা হবে। এটি বিশেষত ext * ফাইল সিস্টেমগুলির সাথে ঘটে (ext4 তবে আরও ভাল হতে পারে) এবং পুরাতন ReiserFS v3.x ফাইল সিস্টেমগুলি (যদি এটি 85% পূর্ণ বা এর বেশি পেয়েছে)।

সমাধানটি বেশ সহজ:

cp -pr origdir newdir
mv origdir origdir.bak
mv newdir origdir

অবশ্যই যদি সবকিছু র‍্যামে ক্যাশে করা হয় তবে এটি এতটা গুরুত্বপূর্ণ নয়; সাধারণত লিনাক্স ঘন ঘন ফাইলগুলি অ্যাক্সেস করে এবং বেশ আক্রমণাত্মকভাবে ডায়ার করে। আপনি যদি সত্যই এই ডিরেক্টরিগুলির বিষয়বস্তু র‌্যামে রাখতে চান তবে আপনি ls -lah /your/dir 2>&1 >/dev/nullনিজের ক্রোন এর মতো কিছু রাখতে পারেন ।

সম্পাদনা: ওহ, একটা জিনিস আমার মনে ছড়িয়ে গেল। যদি আপনার সার্ভারে কিছু ব্যাবহারের সাথে ব্যাটারি ব্যাক আপ করা RAID নিয়ামক থাকে তবে দয়া করে পরীক্ষা করে নিন যে ব্যাটারিটি ঠিক আছে। আমি এমন পরিস্থিতি দেখেছি যেখানে ব্যাটারিটি মারা গেছে এবং কন্ট্রোলার ক্যাশে সম্পূর্ণভাবে অক্ষম করে দেয়, কার্যকারিতা খুব খারাপ করে দেয়। উদাহরণস্বরূপ, এইচপি সার্ভারগুলি আইএলওতে কন্ট্রোলার ব্যাটারি সম্পর্কে কিছু লগ করতে পারে; প্রকৃত সার্ভারের স্বাস্থ্য ড্যাশবোর্ডে সবকিছু সূক্ষ্ম এবং সবুজ বলে মনে হচ্ছে, তবে কেবল লগ এন্ট্রি আপনাকে এ সম্পর্কে বলবে।


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

আমি এখনও এই আদেশটি চালাচ্ছি এবং এটি কতক্ষণ সময় নেবে তা বলার অপেক্ষা রাখে না। এমনকি আমি এটি ভাড়া দিয়েছি এবং সিপি এখনও চলছে, এটি শুরু হওয়ার প্রায় 1 ঘন্টা 15 মিনিট পরে। এমনকি অন্য একটি শেলের সেই ফোল্ডারে একটি ডু চালাতে অনেক সময় লেগেছে, তবে আপনি কি মনে করেন যে আমার কেবল umountড্রাইভ করা উচিত এবং fsckএটি?
জন ওয়েইনরব

এটি কোনওভাবে আপনার উত্পাদনকে বিরক্ত না করে কেবল চলতে দিন। আরএইচইএল 5 এবং এর ডিফল্ট সিএফকিউ I / O শিডিয়ুলারের সাহায্যে আপনি সিপি কমান্ডটি নিষ্ক্রিয় শ্রেণিতে রাখতে পারেন যাতে এটি অন্যান্য প্রক্রিয়াগুলিকে হুমকি দেয় না: ionice -c3 -p $(pidof cp)বা তাই।
জান্নে পিক্কারাইনেন

দয়া করে আমার সর্বশেষ সম্পাদনাটিও পড়ুন।
জান্নে পিক্কারাইনেন

1
আমি জানি এটি কিছুক্ষণ হয়ে গেছে তবে অবশেষে আপনি উল্লিখিত সিপি কমান্ডটি করতে পেরেছি। 25 জিবি অনুলিপি করতে এটি দুই ঘন্টা। Hte মুভ করার পরে, অন্য দুটি ডু-শ চালানো ঠিক তত ধীর ছিল। বাস্তবে এমনকি ব্যাকআপ ডিরেক্টরি মুছে ফেলা খুব ধীর!
জন ওয়েইনরব

0

আমি কোনও সুইচ ছাড়াই সাধারণ ডু কমান্ডটি চেষ্টা করার পরামর্শ দিই। আপনি শেষ পর্যন্ত দেখতে পাবেন যে কোন ডিরেক্টরিটি প্রক্রিয়াটি কমিয়ে দিচ্ছে। একটি ত্রুটিযুক্ত ডিস্ক বা অন্য কোনও কারণ হতে পারে, ...

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