在Linux上,如何检查进程及其线程的CPU亲和性?
发布时间:2020-12-13 17:58:06 所属栏目:Linux 来源:网络整理
导读:在 Linux上,如何检查进程及其线程的CPU亲和性? 解决方法 这很简单.收集所有进程ID和线程ID,然后调用taskset. pname="java" # for examplefor pid in $(pgrep "${pname}")do [ "${pid}" != "" ] || exit echo "PID: ${pid}" for tid in $(ps --no-headers
在
Linux上,如何检查进程及其线程的CPU亲和性?
解决方法
这很简单.收集所有进程ID和线程ID,然后调用taskset.
pname="java" # for example for pid in $(pgrep "${pname}") do [ "${pid}" != "" ] || exit echo "PID: ${pid}" for tid in $(ps --no-headers -ww -p "${pid}" -L -olwp | sed 's/$/ /' | tr -d 'n') do taskset -cp "${tid}" # substitute thread id in place of a process id done done 输出 PID: 15695 pid 15695's current affinity list: 0 pid 15696's current affinity list: 0 pid 15697's current affinity list: 0 ... 这不是一个简单的单行的原因是因为pgrep命令不能返回线程ID(只有进程ID).我们使用命令ps –no-headers -ww -p“${pid}”-L -olwp做了一些额外的工作 在Ubuntu 12上测试,bash 4. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |