我可以访问Linux集群的8核节点。登录到节点后,可以使用以下命令查看处理器列表:
more /proc/cpuinfo
在我的8核心节点中,处理器的编号从0到7。每个处理器都是Intel Xeon CPU(E5430 @ 2.66GHz)。
现在假设我foo
使用一些参数调用该程序args
:
foo args
该程序foo
需要很长时间才能执行(例如,数小时或数天)。调用foo
完,是否可以确定正在运行的特定处理器(即0到7)foo
?该top
程序向我显示了进程ID和类似信息,但是没有看到处理器编号。有这样的信息吗?
foo
给两个不同的处理器。当我打电话foo
一次时,它的运行率%CPU
非常接近100%(根据top
)。但是,当我叫foo
了第二次,这两个foo
进程中运行,使得%CPU
对两个过程总和至小于100%(通常约45%为每个foo
处理)。对我来说,这表明对的两个调用foo
在同一处理器上运行(即使有八个处理器可用);我想证明是这种情况。