如何设置Java线程的cpu核心亲和力?

前端之家收集整理的这篇文章主要介绍了如何设置Java线程的cpu核心亲和力?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
搜索了以前的帖子关于类似的话题,但找不到适合的答案,因此提出这个问题.您的帮助回答它是非常感谢.

我知道通过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

完成.

猜你在找的Java相关文章