taskset命令:查看、指定进程运行在哪个cpu上

CPU亲和性(cpu affinity)允许将进程绑定到特定CPU,以提高性能并减少缓存迁移成本。本文介绍了为什么需要指定进程在固定CPU上运行,以及如何使用`taskset`命令查看和设置进程的CPU亲和性,包括查看进程和线程的CPU分配,以及如何更改已运行进程的CPU分配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

reference:

https://baijiahao.baidu.com/s?id=1592330790387359245&wfr=spider&for=pc

https://www.cnblogs.com/LubinLew/p/cpu_affinity.html

 

1、CPU亲和性(cpu affinity)

CPU affinity 是一种调度属性(scheduler property), 它可以将一个进程"绑定" 到一个或一组CPU上.

在SMP(Symmetric Multi-Processing对称多处理)架构下,Linux调度器(scheduler)会根据CPU affinity的设置让指定的进程运行在"绑定"的CPU上,而不会在别的CPU上运行.

Linux调度器同样支持自然CPU亲和性(natural CPU affinity): 调度器会试图保持进程在相同的CPU上运行, 这意味着进程通常不会在处理器之间频繁迁移,进程迁移的频率小就意味着产生的负载小。

因为程序的作者比调度器更了解程序,所以我们可以手动地为其分配CPU核,而不会过多地占用CPU0,或是让我们关键进程和一堆别的进程挤在一起,所有设置CPU亲和性可以使某些程序提高性能。

 

CPU affinity 使用位掩码(bitmask)表示, 每一位都表示一个CPU, 置1表示"绑定"。最低位表示第一个逻辑CPU, 最高位表示最后一个逻辑CPU

CPU affinity典型的表示方法是使用16进制,具体如下.

0x00000001 is proce

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值