আমার নির্দিষ্ট পরিস্থিতিটি নিম্নলিখিত the আমি একটি নির্দিষ্ট সিপিউসেট সহ একটি ডকার ধারক চালু করি:
docker run --cpuset-cpus="0-2" # ...
সেই ধারকটির ভিতরে আমি প্রবেশের পয়েন্ট হিসাবে শেল স্ক্রিপ্টটি চালিত করি এবং সেই শেল স্ক্রিপ্টটি make
কোনও এক সময় চলবে । আমি নির্ধারণ করতে চাই যে একটি ভাল সংখ্যক চাকরি ( -j
) কী হবে। আমি অবশ্যই পরিবেশের মাধ্যমে বরাদ্দকৃত সিপিইউগুলির সংখ্যাটি পাস করতে পারি, তবে এটি সনাক্ত করার একটি স্বয়ংক্রিয় পদ্ধতিতে অনেক বেশি পছন্দ করা হবে।
আমি জানি আমি বর্তমান প্রক্রিয়াটির জন্য ব্যবহার করতে taskset -c -p $$
বা cat /proc/self/status | grep Cpus_allowed_list
পুনরুদ্ধার করতে Cpus_allowed
পারি, তবে অনুমোদিত সিপিইউগুলির আসল সংখ্যাটি কীভাবে পুনরুদ্ধার করতে হবে তা আমি জানি না। আমি এই কমান্ডগুলির আউটপুটকে পার্সিং করা বা Cpus_allowed
মাস্কটি দিয়ে ফিডিং এড়াতে চাই , তবে বিকল্পগুলির বাইরে থাকলে তা করব।
nproc
- প্রসেসিং ইউনিটগুলির সংখ্যা প্রিন্ট করুন