"ডু" প্রোগ্রামটি কি কম আক্রমণাত্মক করা যায়?


21

আমাদের একটি নিয়মিত কাজ রয়েছে যা duবেশ কয়েকটি সাব-ডাইরেক্টরির সংক্ষিপ্তসার করে , নিকৃষ্টতম অপরাধীদের বাছাই করে এবং সম্ভাব্য সমস্যাগুলি চিহ্নিত করার জন্য দ্রুত বাড়ছে এমন কিছু আছে কিনা তা খুঁজে বের করার জন্য আউটপুটটি ব্যবহার করে। diffসেগুলির তুলনা করার জন্য আমরা স্ন্যাপশটের বিরুদ্ধে ব্যবহার করি।

এখানে একটি শীর্ষ স্তরের ডিরেক্টরি রয়েছে, যেখানে উপ-ডিরেক্টরিগুলির সংখ্যা (কয়েকশ) রয়েছে, যার প্রতিটিটিতে 10 (গুলি) বা হাজারে হাজারে ফাইল থাকতে পারে।

" du -s" এই প্রসঙ্গে একটি " " খুব আক্রমনাত্মক হতে পারে, যার ফলে আমাদের সার্ভারটি তার ক্যাশে জামিন দেয় এবং তারপরে বিশাল আইও স্পাইকগুলি যা খুব অবাঞ্ছিত দিকটি প্রভাবিত করে।

অযাচিত পার্শ্ব প্রতিক্রিয়া ছাড়াই একই ডেটা পেতে কী কৌশল ব্যবহার করা যেতে পারে?


9
জার্মানিতে, আপনি এটি "সিয়ে" দিয়ে প্রতিস্থাপন করতে পারেন।
ফেদেরিকো পোলোনি

উত্তর:


28

একবার দেখুন ionice। থেকে man ionice:

এই প্রোগ্রামটি একটি প্রোগ্রামের জন্য আইও শিডিউলিং ক্লাস এবং অগ্রাধিকার সেট করে বা পায়। যদি কোনও যুক্তি বা জাস্ট-পি দেওয়া না হয় তবে আয়নিস বর্তমান io সময়সূচী শ্রেণি এবং সেই প্রক্রিয়াটির জন্য অগ্রাধিকারটি জিজ্ঞাসা করবে।

du"নিষ্ক্রিয়" আই / ও ক্লাসটি চালানোর জন্য , যা সর্বনিম্ন অগ্রাধিকার পাওয়া যায়, আপনি এর মতো কিছু করতে পারেন:

ionice -c 3 du -s

এটি duঅন্য প্রক্রিয়া 'আই / ও' তে হস্তক্ষেপ করা থেকে বিরত হওয়া উচিত । আপনি প্রোগ্রামটি এর সিপিইউ অগ্রাধিকার কমিয়ে আনতে চাইছেন:

renice -n 19 "$duPid"

আপনি আরম্ভের সময় উভয়টি করতে পারেন:

nice -n 19 ionice -c 3 du

5
একটি বিদ্যমান প্রোগ্রাম পুনরায় ভাড়া করতে, আপনার reniceপরিবর্তে কল করতে হবে nice। আরম্ভ করার জন্য duউভয় ionice এবং সুন্দর সঙ্গে, আপনি উভয় প্রোগ্রাম চেইন পারেন: nice -n19 ionice -c3 du
জোফেল

niceনিজেই কেবল সিপিইউ নয়, আই / ও সিডিউলার অগ্রাধিকারকেও প্রভাবিত করে।
জর্দানম

1
@ জর্ডানম যতদূর আমি জানি (কমপক্ষে লিনাক্সে), niceকেবলমাত্র সিপিইউ কমনীয়াকে প্রভাবিত করে (যা পরোক্ষভাবে I / O কে প্রভাবিত করতে পারে, তবে I / O সময়সূচী অগ্রাধিকারকে প্রভাবিত করবে না)। আপনি কোথায় এই আচরণ দেখতে পাচ্ছেন? এটি কোথাও নথিভুক্ত করা হয়?
ক্রিস ডাউন


@ জর্ডানএম এইচএম, আমি বইটি পেয়েছি। আমি এটির মাধ্যমে একটি দ্রুত স্কিম করেছি এবং কেবল পৃষ্ঠা 263 সম্পর্কে স্পষ্ট বিবরণ niceদিয়েছি এবং এটি কেবল সিপিইউ বেজ টাইম কোয়ান্টাম সম্পর্কে আলোচনা করে। বইটিতে এটি কোথায় ছিল আপনার কোনও ধারণা আছে? আমি একজন প্রামাণিক উৎস পড়তে যে রাজ্যের এটা, এটা উল্লেখ নেই আগ্রহী হতে চাই man nice, man 2 nice, man 2 setpriority, info niceবা info 'nice invocation'যতদূর আমি বলতে পারো, যা বেশ বিস্তারিত একটি বিট মধ্যে এই চলতে চলতে কিছু কারণ কিভাবে সম্পর্কে অদ্ভুত niceকল কাজ এবং এটি কি করে।
ক্রিস ডাউন

4

যদি আপনার একক ডিরেক্টরিতে প্রচুর ফাইল থাকে তবে এটি I / O স্পাইকগুলির জন্য দায়ী হতে পারে, কারণ অনেকগুলি ফাইল সিস্টেম একটি ডিরেক্টরিতে বড় ফাইল ট্রি ভালভাবে পরিচালনা করে না। এটিকে আরও সাব-ডিরেক্টরিতে বিভক্ত করা সেখানে সহায়তা করতে পারে। যদি আপনার একক দির 10k এর বেশি ফাইল থাকে এবং এটি সমস্যা সৃষ্টি করে তবে আপনার সম্ভবত এটি বিভক্ত হওয়া উচিত।

ট্র্যাকিং ডিস্কের ব্যবহার সম্পর্কে, আপনার প্রথমে একবার নজর থাকতে পারে df, যদি সেখানে ব্যবহারের মান দ্রুত না বাড়ায় তবে সাবডিয়ারগুলি হয় না এবং আপনি duপুরোপুরি এড়িয়ে যেতে পারেন ।

অন্য বিকল্প হ'ল একটি ডিস্ক কোটা সিস্টেম হতে পারে যা আপনার ফাইল সিস্টেমটি সমর্থন করে তবে ব্যবহারের ধারাবাহিক ট্র্যাক রাখে।


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

0

ছাড়াও ioniceডিস্ক ব্যবহারের আরো কার্যকর করা চেষ্টা করতে পারেন। এটি কার্যকর করে চেষ্টা করা যেতে পারে

find /du/root -printf ""
find /du/root -perm 777 -printf ""

প্রথম (সম্ভবত মাধ্যমেও ionice)) খুব বেশি ফাইল থাকলে এটি কাজ করবে না। কতগুলি কত বেশি তা নির্ভর করে ফ্রি র‌্যামের পরিমাণের উপর।

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