У меня есть доступ к 8-ядерному узлу кластера Linux. При входе на узел я вижу список процессоров, использующих эту команду:
more /proc/cpuinfo
В моем 8-ядерном узле процессоры пронумерованы от 0 до 7. Каждый процессор - это процессор Intel Xeon (E5430 @ 2,66 ГГц).
Теперь предположим, что я вызываю программу foo
с некоторыми аргументами args
:
foo args
Выполнение программы foo
занимает много времени (например, часы или дни). Позвонив foo
, можно ли определить конкретный процессор (т. Е. От 0 до 7), на котором foo
работает? В top
программе показывает мне идентификатор процесса и подобную информацию, но я не вижу процессор номер . Доступна ли такая информация?
foo
двум разным процессорам. Когда я звоню foo
один раз, он работает %CPU
очень близко к 100% (согласно top
). Но когда я вызываю foo
второй раз, оба foo
процесса запускаются так, что %CPU
для обоих процессов сумма составляет менее 100% (обычно около 45% для каждого foo
процесса). Для меня это говорит о том, что два вызова foo
выполняются на одном процессоре (хотя доступно восемь процессоров); Я хотел бы убедиться, что это так.