টিএল; ডিআর : সংক্ষিপ্ত গবেষণা থেকে দেখা যাচ্ছে যে নির্দিষ্ট সংখ্যক কোরের জন্য কমান্ডগুলি সীমাবদ্ধ করা সম্ভব, তবে সব ক্ষেত্রে আপনাকে একটি কমান্ড ব্যবহার করতে হবে যা আসলে সীমাবদ্ধতা প্রয়োগ করে।
Cgroups
লিনাক্স রয়েছে cgroups
যা প্রক্রিয়াগুলিতে উপলব্ধ সংস্থানগুলি সীমাবদ্ধ করার লক্ষ্যে প্রায়শই ব্যবহৃত হয়। খুব সংক্ষিপ্ত গবেষণা থেকে, আপনি আর্চ উইকিতে মতলব (একটি বৈজ্ঞানিক সফ্টওয়্যার) কনফিগারেশন সহ সেট করেছেন /etc/cgconfig.conf
:
group matlab {
perm {
admin {
uid = username;
}
task {
uid = username;
}
}
cpuset {
cpuset.mems="0";
cpuset.cpus="0-5";
}
memory {
memory.limit_in_bytes = 5000000000;
}
}
এই জাতীয় কনফিগারেশন কার্যকর হওয়ার জন্য আপনাকে cgexec
কমান্ডের মাধ্যমে প্রক্রিয়াটি চালাতে হবে , যেমন একই উইকি পৃষ্ঠা থেকে:
$ cgexec -g memory,cpuset:matlab /opt/MATLAB/2012b/bin/matlab -desktop
taskset
জিজ্ঞাসা উবুন্টু সম্পর্কিত একটি প্রশ্ন এবং লিনাক্সের একটি সিপিইউ কোরটিতে কীভাবে একটি প্রক্রিয়া সীমাবদ্ধ? ইউনিক্স এবং লিনাক্স সাইটে [সদৃশ]taskset
প্রক্রিয়াটির জন্য সিপিইউগুলিকে সীমাবদ্ধ করতে ব্যবহার করার একটি উদাহরণ দেখায় । প্রথম প্রশ্নে, এটি কোনও নির্দিষ্ট ব্যবহারকারীর জন্য সমস্ত প্রক্রিয়া বিশ্লেষণের মাধ্যমে অর্জন করা হয়েছে
$ ps aux | awk '/^housezet/{print $2}' | xargs -l taskset -p 0x00000001
অন্য প্রশ্নে, একটি প্রক্রিয়া taskset
নিজেই শুরু করা হয়:
$ taskset -c 0 mycommand --option # start a command with the given affinity
উপসংহার
প্রক্রিয়া সীমাবদ্ধ করা অবশ্যই সম্ভব হলেও, বিশেষ ব্যবহারকারীদের পক্ষে এটি অর্জন করা এত সহজ নয় বলে মনে হয়। লিঙ্কযুক্ত জিজ্ঞাসা উবুন্টু পোস্টের উদাহরণটির জন্য প্রতিটি ব্যবহারকারীর অন্তর্ভুক্ত প্রক্রিয়াগুলির জন্য এবং taskset
প্রতিটি নতুন ব্যবহারের জন্য নিয়মিত স্ক্যানিং প্রয়োজন । এর চেয়ে আরও যুক্তিসঙ্গত পন্থা হ'ল সিপিইউ নিবিড় অ্যাপ্লিকেশনগুলি নির্বাচন করে চালানো হয়, হয় cgexec
বা এর মাধ্যমে taskset
; সমস্ত প্রসেসিকে নির্দিষ্ট সংখ্যক সিপিইউজে সীমাবদ্ধ রাখারও কোনও অর্থ হয় না, বিশেষত যারা তাদের কাজগুলি দ্রুত চালানোর জন্য সমান্তরালতা এবং একমত পোষণ করেন - তাদের নির্দিষ্ট সংখ্যক সিপিইউতে সীমাবদ্ধ রাখার ফলে প্রক্রিয়াটি ধীরগতির হতে পারে। অতিরিক্ত হিসাবে, টেরডনের উত্তরে উল্লেখ করা হয়েছে এটি সম্পদের অপচয়
মাধ্যমে অ্যাপলিকেশন বেছে নিয়ে চলমান taskset
বা cgexec
তাদের জানা তারা যা অ্যাপ্লিকেশন চালাতে পারেন যাক আপনার ব্যবহারকারীদের সাথে যোগাযোগ প্রয়োজন, অথবা স্ক্রিপ্ট যা মাধ্যমে অ্যাপলিকেশন বেছে আরম্ভ হবে মোড়কের তৈরি tasksel
বা cgexec
।
অতিরিক্তভাবে, কোনও ব্যবহারকারী বা গোষ্ঠী সিপিইউ'র সংখ্যার সীমা নির্ধারণের পরিবর্তে উত্সাহিত করতে পারে এমন প্রসেসের সংখ্যা নির্ধারণের বিষয়টি বিবেচনা করুন। এটি /etc/security/limits.conf
ফাইলের মাধ্যমে অর্জন করা যায় ।
আরো দেখুন