对此的术语是CPU 亲和性。您可以使用该taskset命令为各个进程进行设置。
<command>仅在前 6 个核心(核心 #0-#5)上运行:
taskset -c 0-5 <command> [arguments for command]
Run Code Online (Sandbox Code Playgroud)
如果进程已经在运行,您可以通过 PID 设置其关联性:
taskset -c 0-5 -p <PID of an existing process>
Run Code Online (Sandbox Code Playgroud)
如果您想要一个适用于特定进程及其所有子进程的限制,那么您将需要 Stephen Kitt 在评论中提到的 cgroup。如果相关进程作为systemd服务运行,那么您只需添加CPUAffinity=0-5到[Service]相应.service文件的部分(或创建覆盖文件)。
但是,如果您需要限制用于许可目的的内核数量,则需要找出相关软件供应商接受哪些方法。他们可能需要一种不太容易撤消的方法,或者他们可能需要一种机制,例如每日报告该软件每天使用了多少个核心(最大)。
| 归档时间: |
|
| 查看次数: |
1657 次 |
| 最近记录: |