我可以访问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在同一处理器上运行(即使有八个处理器可用);我想证明是这种情况。