Я пытаюсь использовать инструмент производительности linux perf
для отслеживания событий kvm на хосте, на котором существует гостевая виртуальная машина.
Команда, которую я вызываю perf
является
perf kvm stat record
Через какое-то время я нажму Ctrl + C
чтобы остановить его, и он покажет некоторую информацию, например, сколько раз он был разбужен для записи данных, и он потратит некоторое время, прежде чем по-настоящему выйти, что, я полагаю, он записывает данные.
По сути, я хочу автоматически останавливать perf
процесс через 1 минуту. Вот прототип моего скрипта:
perf kvm stat record &
pid=$!
sleep 60
sudo kill -2 $pid
Проблема здесь в том, что когда я завершаю процесс таким образом, он не может правильно записывать данные на диск. И я попытался отправить сигнал 2
и 9
у меня ни то, ни другое не работает.
Кто-нибудь знает как правильно перебить perf
процесс, чтобы он закончил запись данных, а затем вышел?
Согласно описанию perf kvm Вот, вы должны использовать SIGINT (7), чтобы остановить процесс perf. Это гарантирует, что perf правильно выгружает собранные данные в файл.
perf kvm stat record &
pid=$!
sleep 60
sudo kill -INT $pid