Как измерить время миграции процесса с одного ядра на другое в Linux? - PullRequest
3 голосов
/ 18 августа 2011

В Linux мы можем отключить ядро ​​процессора с помощью команды:

echo 0 > /sys/devices/system/cpu/<core num>/online. 

Это приводит к тому, что процессы, выполняющиеся на этом ядре, переносятся на другие ядра.Что мне нужно сделать, это измерить время, необходимое для переноса процесса из одного ядра в другое.Как мне это сделать?

Ответы [ 2 ]

1 голос
/ 18 августа 2011

Вы можете взглянуть на процессор .Я полагаю, вы могли бы объединить серийный номер процессора и посмотреть, когда он изменится.Проблема заключается в том, что он будет включать в себя не только время миграции, но и время, которое процесс ожидал для выполнения в новом процессоре, которому он был выделен.

1 голос
/ 18 августа 2011

Время миграции процесса из одного ядра в другое ядро ​​равно времени, необходимому для извлечения состояния процесса из одного ядра и записи этого архитектурного состояния обратно в новое ядро. Это равно времени переключения контекста. Вы можете найти много образцов, например, это , чтобы измерить время переключения контекста процесса в Linux.

p.s. Изменение привязки - лучший способ перенести процесс на другое ядро, а не подключать ядро ​​к сети или офлайн.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...