Нет, вы не можете измерить ошибки кэширования процесса, запущенного на виртуальной машине, если вы выполняете системный вызов perf_event_open()
на хосте.
Хост и гость (то есть ВМ) не разделяют ядро, и у вас нет способа получить характеристики производительности процесса, выполняющегося внутри виртуальной машины, с хоста. Любое событие perf kvm
, которое вы запускаете на хосте, может измерять только характеристики производительности виртуальной машины в целом, и, в частности, любого процесса, выполняющегося внутри нее. Подробнее здесь .
Вы должны запустить perf
прямо внутри гостя. Вы можете использовать системный вызов perf_event_open()
вручную через вашу программу и запускать его только внутри виртуальной машины. Конечно, для этого может потребоваться включить VPMU для гостя, а также, если ваш хост-процессор поддерживает виртуализацию счетчиков PMU, запустите ВМ с cpu=host
.