Skenario spesifik saya adalah sebagai berikut. Saya meluncurkan wadah buruh pelabuhan dengan cpuset tertentu:
docker run --cpuset-cpus="0-2" # ...
di dalam wadah itu saya menjalankan skrip shell sebagai titik masuk dan skrip shell itu akan berjalan makedi beberapa titik. Saya ingin mengetahui berapa jumlah pekerjaan yang baik ( -j). Saya tentu saja bisa melewati jumlah CPU yang dialokasikan melalui lingkungan, tetapi cara otomatis untuk mendeteksinya akan jauh lebih disukai.
Saya tahu saya dapat menggunakan taskset -c -p $$atau cat /proc/self/status | grep Cpus_allowed_listuntuk mengambil Cpus_alloweduntuk proses saat ini, tetapi saya tidak tahu bagaimana cara mengambil jumlah aktual dari CPU yang diizinkan. Saya ingin menghindari parsing output dari perintah-perintah atau mengutak-atik Cpus_allowedtopeng, tetapi akan melakukannya, ketika keluar dari opsi.
nproc- cetak jumlah unit pemrosesan yang tersedia