微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以限制Linux进程,使其只能在特定计算机上的特定核心上运行?

假设我有一个四核盒子和四个相同的进程,每个进程有十个线程.在 Linux中,是否可以说进程A只允许在cpu 0上运行,进程B只允许在cpu 1上运行等等?

解决方法

taskset <affinity mask> -p <process>

taskset 1 -p 12345

将进程12345设置为仅使用处理器/核1

位掩码可以是一个列表(即1,3,4使用4核系统的核1和4)或十六进制的位掩码(0x0000000D 1,4,0×00000001仅用于核1)

taskset通常位于名为shedutils的包中.

编辑:差点忘了…如果要设置新命令的亲和力而不是为现有流程更改它,请使用:

taskset <mask> <program> [<arg1>]...[<argN>]

原文地址:https://www.jb51.cc/linux/401472.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐