ইউনিক্স কমান্ডটি কী হতে পারে?


9

দ্রুত বেঞ্চমার্কিং পরীক্ষার জন্য কীভাবে সুন্দর এবং আয়নিকে সর্বাধিক প্রভাবের সাথে একত্রিত করা যায়, অর্থাত্ কম্যান্ড যতটা সম্ভব সংস্থান ব্যবহার করতে পারে (পুরোপুরি অলসতা ছাড়াই)?

(আমি মনে করি এটি `সুন্দর -19 19 আয়নিস-সি 2 [কমান্ড] এর মতো কিছু, তবে আয়নিসের" -n "(ক্লাসডাটা পরম) সম্পর্কে নিশ্চিত নন, ম্যান পৃষ্ঠাটি এর প্রাসঙ্গিকতার বিষয়ে গুপ্তচর)


3
চতুর প্রশ্নের শিরোনামের জন্য প্লাস 1, তবে এটি সাধারণভাবেও একটি ভাল প্রশ্ন।
Lizardx

উত্তর:


10

আপনি যে পুরো আদেশটি চান তা হ'ল:

chrt -b 0 nice -n 19 ionice -c 2 -n 7 [command]

chrtশুরুতে কমান্ড ব্যাচ সিডিউলিং বর্গ, যা চমৎকার মান 0.5 যোগ সমতূল্য জিনিস পাল্টাবে। আয়নিসের জন্য -n বিকল্পটি রিয়েলটাইম ( -c 1) এবং সেরা-প্রচেষ্টা ( -c 2) বিকল্পগুলির জন্য একটি সাধারণ অগ্রাধিকার , নিম্ন মানের যেমন ভাল মানের (তবে 0-7 পরিসীমা) এর মতো উচ্চ অগ্রাধিকার রয়েছে। যাইহোক, আয়নিস কমান্ডটি কঠোরভাবে প্রয়োজনীয় নয়, যেহেতু I / O সময়সূচী শ্রেণি এবং অগ্রাধিকার সিপিইউ শিডিয়ুলিং পরামিতি থেকে ডিফল্টভাবে নেওয়া হয় এবং nice -n 19বোঝা যায় ionice -c 2 -n 7

তবে আপনি সিপিইউ এবং আই / ও উভয় নির্ধারিত ক্লাসগুলিকে অলস করে সেট করে নিখুঁত ন্যূনতম সংস্থান ব্যবহার পেতে পারেন। উভয় ক্ষেত্রেই 'নিষ্কলুষ' শিডিয়ুলারগুলি আসলে অলস শিডিয়ুলার নয়, এবং আপনি এখনও সংস্থান ব্যবহার করতে সক্ষম হবেন, এটাই ঠিক যে সমস্ত কিছুর উচ্চ অগ্রাধিকার থাকবে।

সিপিইউ শিডিয়ুলিং ক্লাসের জন্য, এটি chrtকমান্ডটিও ব্যবহার করে , প্রয়োজন ছাড়াই nice(অগ্রাধিকার অবশ্যই 0নিষ্ক্রিয় সময়সূচী শ্রেণিতে সেট করা যেতে পারে ) এবং এর মতো দেখতে:

chrt -i 0 {command or PID}

niceলিনাক্স আয়না SVR4 সংস্করণ, যার মানে এটা সিডিউলিং বর্গ, শুধুমাত্র চমৎকার মান পরিবর্তন করতে পারবেন না (যা শাস্ত্রীয় ইউনিক্স চেয়ে লিনাক্স ভিন্নভাবে আচরণ করবে, কিন্তু যে একটু সম থাকবে) কমান্ড। যেহেতু মূল বিকল্প শিডিয়ুলিং ক্লাসগুলি ছিল পসিক্স ১.০ রিয়েলটাইম SCHED_RRএবং SCHED_FIFO, তফসিলি ক্লাস নির্ধারণের আদেশটি ডেকে আনা হয়েছিল chrt-iবিকল্প নির্দিষ্ট করে ব্যবহার করতে SCHED_IDLEপূর্বপরিকল্পনা বর্গ

আই / ও শিডিউলিং ক্লাসের জন্য, আপনি ব্যবহার করেন ionice। সঠিক কমান্ডটি এরকম দেখাচ্ছে:

ionice -c 3 {command or PID}

-cবিকল্প নির্দিষ্ট করে ব্যবহার করতে হবে তা নির্ধারণ বর্গ, এবং 3 অলস বর্গ জন্য সংখ্যা। নোট করুন যে কোন ব্লক আই / ও সিডিউলারটি ব্যবহার করা হচ্ছে তার উপর নির্ভর করে এটি আসলে কোনও কিছুর উপর প্রভাব ফেলতে পারে না। বিশেষত, noopI / O সময়সূচী মোটেও অগ্রাধিকারগুলি বা সময় নির্ধারণের ক্লাসগুলিকে সমর্থন করে না এবং আমি নিশ্চিত যে deadlineশিডিয়ুলারগুলি (উভয় উত্তরাধিকারী এবং ব্লক-এমকিউ এক) হয় না।

আপনি যদি নিজের প্রোগ্রামের জন্য, বা অন্য প্রক্রিয়াগুলির জন্য জিনিসগুলি সামঞ্জস্য করতে এই প্রোগ্রামটিমেটিকভাবে করতে চান, sched_setschedulerএবং ioprio_setসিস্টেম কলগুলির জন্য ম্যান পেজগুলি দেখুন (যদিও উভয়ই যদি আপনি আরও ব্যাকগ্রাউন্ড চান তবে পড়ার জন্য উপযুক্ত)।


0

ধরে নিই যে আপনি এই আদেশটি অন্যদের সমাপ্তির জন্য পুরোপুরি অপেক্ষা করতে চান না, সুতরাং সম্ভাব্য সংস্থান অনাহারে না পড়লে লাইনটি হ'ল :

nice -n19 [command]

হিসাবে ionice আধুনিক লিনাক্স কার্নেলের উপর আনুপাতিকভাবে সেট করা হবে।

যাইহোক, chrt -b0কমনীয়তার সাথে কিছুই করার নেই, তবে কতবার সিপিইউ এক প্রক্রিয়া থেকে অন্য প্রক্রিয়াতে ঝাঁপিয়ে পড়বে। এই লাইনটি ব্যাচের প্রোগ্রামগুলিতে ক্যাশেগুলির আরও ভাল ব্যবহারের জন্য সেই সময়টিকে আরও দীর্ঘ করে তোলে তবে অন্যান্য কমান্ডের জন্য এটি অকেজো। যেমনটি এখানে দেখা যায় ।

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