我搜索了以前的帖子关于类似的话题,但找不到适合的答案,因此提出这个问题.您的帮助回答它是非常感谢.
我知道通过Linux中的taskset命令设置进程对特定cpu内核的亲和力.但是我想设置一个Java线程与一个特定的cpu核心的关系,以便属于同一进程的其他线程可以在所有剩余的内核上运行.例如,如果我有一个包含10个线程与4核机器的进程,我想为一个线程保留core-1,并剩下的9个线程在剩余的3个核心上运行.可以做到吗?
谢谢
萨钦
解决方法
说2241是你的java进程的pid.跑:
jstack 2241
这给你一个线程列表.找到你的那里,并注意nid字段.说nid = 0x8e9,将其转换为基数10为2281.然后运行:
taskset -p -c 0 2281
完成.