如何用cpustat检查CPU亲和性
在Linux系统中,检查进程的CPU亲和性应使用专门工具。taskset命令可查询和设置进程允许运行的CPU核心,通过进程ID查看亲和性。ps命令则能显示进程当前实际运行的核心编号,便于观察进程分布。cpustat主要用于监控CPU整体使用率,不直接提供亲和性信息。根据需求选择合适工具可有效辅助性能调优。
在Linux系统性能调优和排查问题时,CPU亲和性(CPU Affinity)是一个经常被提及的概念。它决定了进程或线程可以被调度到哪些CPU核心上执行。很多朋友可能会想到使用cpustat这个工具来查看,毕竟它名字里就带着“CPU”。但这里需要澄清一个常见的误解:标准的cpustat工具(通常来自sysstat包)主要用于监控和报告CPU的使用率、中断等统计信息,它并不直接显示进程的CPU亲和性。

那么,如果想查看进程具体绑定在哪个或哪些核心上,应该用什么工具呢?别担心,Linux系统本身就提供了更趁手的“兵器”。
使用 taskset
taskset命令是专门用来查询和设置CPU亲和性的。它的用法非常直接。
查看特定进程的CPU亲和性:
想知道某个进程的“活动范围”,只需执行:taskset -pc把
替换成你要查的进程ID。命令会返回该进程当前允许运行的CPU核心列表(通常以十六进制掩码或CPU编号列表形式显示)。查看所有进程的CPU亲和性:
如果想一次性概览,可以尝试:taskset -p不过需要注意,这个命令通常需要结合进程ID来使用,直接
taskset -p可能无法列出所有进程。更常见的做法是通过脚本遍历/proc目录下的进程信息。
使用 ps
没错,就是那个最常用的进程查看命令ps。通过指定合适的输出格式,它也能提供CPU亲和性相关的关键信息——即进程当前正在哪个核心上运行。
查看特定进程的当前运行核心:
使用-o选项自定义输出列,psr列就代表了“Processor”,即当前CPU核心编号。ps -o pid,psr,cmd -C将
替换为进程名,你就能看到该进程实例的PID、当前运行的核心以及命令行。查看所有进程的当前运行核心:
这是一个非常实用的命令,可以让你对系统所有进程的分布有个快速了解:ps -eo pid,psr,cmd输出会列出所有进程的ID、当前所在的CPU核心编号和命令。这对于观察进程是否被有效地分散到不同核心上很有帮助。
示例
举个例子,假设你想查看PID为1234的进程的亲和性设置。直接用taskset:
taskset -pc 1234
或者,你想知道名为“nginx”的进程当前跑在哪个核心上:
ps -o pid,psr,cmd -C nginx
总而言之,cpustat是监控CPU整体负载和利用率的利器,但要看具体的进程与CPU核心的绑定关系,taskset和ps才是更专业的选择。根据你的具体需求——是查看预设的亲和性规则(taskset),还是观察实时运行位置(ps)——来选用合适的工具,能让诊断工作事半功倍。
WPS Office是一款面向macOS用户的综合办公套件,将文字处理、电子表格、演示文稿、PDF工具、模板与云协作整合在同一应用中。它兼容常见Microsoft Office格式,支持Intel及Apple芯片Mac,基础功能可免费使用,
Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。
REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。
Adobe Photoshop 是面向摄影师、设计师和内容创作者的专业图像处理工具,可在 Windows 上完成照片修饰、选区抠图、图层合成、文字排版、绘画及生成式编辑。软件采用订阅授权,由 Creative Cloud 管理安装、更新与许
Adobe InDesign 是面向印刷与数字出版的专业页面排版工具,可制作书籍、杂志、宣传册、海报、交互式 PDF 和电子书。它提供精细的文字样式、多页面管理、印前检查及多格式输出能力,并能与 Photoshop、Illustrator
Adobe Illustrator 是用于绘制矢量图形、插画、图标、徽标和版式的专业设计工具。它以路径和锚点为核心,作品放大后仍能保持清晰,并提供画板、文字、渐变、图像描摹及精确变换等功能,适合品牌视觉、印刷物料、数字界面和商业插画创作。













