Il mio scenario specifico è il seguente. Lancio un contenitore docker con un cpuset specifico:
docker run --cpuset-cpus="0-2" # ...
all'interno di quel contenitore eseguo uno script di shell come punto di ingresso e quello script di shell verrà eseguito makead un certo punto. Vorrei capire quale sarebbe un buon numero di posti di lavoro ( -j). Ovviamente potrei passare il numero di CPU allocate attraverso l'ambiente, ma un modo automatico per rilevarlo sarebbe molto preferito.
So di poter utilizzare taskset -c -p $$o cat /proc/self/status | grep Cpus_allowed_listrecuperare il Cpus_allowedprocesso corrente, ma non so come recuperare il numero effettivo di CPU consentite. Vorrei evitare di analizzare l'output di quei comandi o armeggiare con la Cpus_allowedmaschera, ma lo farò, quando non ci sono opzioni.
nproc- stampa il numero di unità di elaborazione disponibili