
我使用的是運行在 15 個核心的 Intel Xeon 上的 Fedora 伺服器。一些用戶正在運行佔用四個核心的模擬,但其他用戶似乎未使用。有沒有辦法讓程式在空閒核心上運行,而不是等待已用核心被釋放?
答案1
我發現這是matlab的錯。它不尊重我的過程。在運行其他模擬後,我再次運行它,現在它在單獨的核心上運行。謝謝賽尼泰克無論如何我發現linux命令任務集允許我做我需要做的事情,以防我需要手動做。
$ taskset
Usage: taskset [options] [mask | cpu-list] [pid|cmd [args...]]
Options:
-p, --pid operate on existing given pid
-c, --cpu-list display and specify cpus in list format
-h, --help display this help
-V, --version output version information
The default behavior is to run a new command:
taskset 03 sshd -b 1024
You can retrieve the mask of an existing task:
taskset -p 700
Or set it:
taskset -p 03 700
List format uses a comma-separated list instead of a mask:
taskset -pc 0,3,7-11 700
Ranges in list format can take a stride argument:
e.g. 0-31:2 is equivalent to mask 0x55555555
For more information see taskset(1).