标签:linux cpu process-management high-performance
有没有办法知道哪些核心目前有一个固定的进程
给他们?
甚至其他用户运行的进程也应该在输出中列出.
或者,是否可以尝试将进程固定到核心但是
如果所需的核心已经有固定的进程,则会失败?
PS:感兴趣的过程必须将bin固定到给定的核心,而不仅仅是
目前在给定的核心上运行
PS:这不是重复,另一个问题是如何确保一个进程独占使用一个CPU.在这里,我们询问如何检测进程被固定到给定的核心(即使用了cpuset,而不是如何使用它).
解决方法:
在正常情况下,linux进程没有明确地固定到给定的核心,没有理由这样做.
您可以使用任务集管理进程关联,或者使用带有“psr”字段的ps查看当前瞬间哪个CPU在哪个CPU上运行.
检查进程27395的当前CPU关联:
$ps -o psr 27395
PSR
6
检查进程27395的关联列表:
$taskset -pc 27395
pid 27395's current affinity list: 0-7
设置进程27395与CPU 3的关联
$taskset -pc 3 27395
pid 27395's current affinity list: 0-7
pid 27395's new affinity list: 3
检查进程27395的当前CPU关联:
$ps -o psr 27395
PSR
3
要检查是否有任何进程固定到任何CPU,您可以遍历您的进程标识符并对它们运行taskset -p:
$for pid in $(ps -a -o pid=); do taskset -pc $pid 2>/dev/null; done
pid 1803's current affinity list: 0-7
pid 1812's current affinity list: 0-7
pid 1986's current affinity list: 0-7
pid 2027's current affinity list: 0-7
pid 2075's current affinity list: 0-7
pid 2083's current affinity list: 0-7
pid 2122's current affinity list: 0-7
pid 2180's current affinity list: 0-7
pid 2269's current affinity list: 0-7
pid 2289's current affinity list: 0-7
pid 2291's current affinity list: 0-7
pid 2295's current affinity list: 0-7
pid 2300's current affinity list: 0-7
pid 2302's current affinity list: 0-7
pid 3872's current affinity list: 0-7
pid 4339's current affinity list: 0-7
pid 7301's current affinity list: 0-7
pid 7302's current affinity list: 0-7
pid 7309's current affinity list: 0-7
pid 13972's current affinity list: 0-7
标签:linux,cpu,process-management,high-performance 来源: https://codeday.me/bug/20190816/1665064.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。