السيناريو الخاص بي هو ما يلي. أنا إطلاق حاوية عامل ميناء مع وحدة المعالجة المركزية محددة:
docker run --cpuset-cpus="0-2" # ...
داخل تلك الحاوية أقوم بتشغيل برنامج نصي شل كنقطة دخول وسيتم تشغيل هذا البرنامج النصي شل make
في مرحلة ما. وأود أن معرفة ما عدد لا بأس به من فرص العمل (-j
) سيكون. يمكنني بالطبع تمرير عدد وحدات المعالجة المركزية المخصصة من خلال البيئة ، ولكن طريقة تلقائية للكشف عن ذلك سيكون من المفضل كثيرا.
وأنا أعلم أنني يمكن استخدام taskset -c -p $$
أو cat /proc/self/status | grep Cpus_allowed_list
لاسترداد Cpus_allowed
للعملية الحالية ، لكنني لا أعرف كيفية استرداد العدد الفعلي لوحدات المعالجة المركزية المسموح بها. وأود أن تجنب تحليل إخراج تلك الأوامر أو تافه مع Cpus_allowed
قناع ، ولكن سوف نفعل ذلك ، عند الخروج من الخيارات.