Вот проблема: гость SLES 10 SP1 работает на HyperV. Мне нужен точный хронометраж этого ящика, поэтому я применил эти параметры ядра (которые, как было доказано, работают на других идентичных гостевых системах SLES 10 SP1) для конфигурации загрузчика:
часы = acpi_pm divider = 10
И, конечно же, служба NTP включена, синхронизация времени между гипервизором и гостем отключена.
После этого время держится точно, но я столкнулся с резким увеличением загрузки процессора системой. Как только я удалю параметр clock = acpi_pm, временной сдвиг вернется, но потребление процессора в норме.
Мне нужно точное время на этой коробке. И у меня есть еще один ящик, где это значение параметра часов работает без проблем.
Есть ли у кого-нибудь идеи, как следить за правильным временем, не влияя на процессор так сильно?
Спасибо вам всем.
Просто: НЕ ВИРТУАЛИЗИРУЙТЕ.
Виртуализация по определению имеет временной сдвиг. Программное обеспечение высокой точности плохо работает с виртуализацией. У меня есть аналогичная система (сообщающая мне каждый час, когда она синхронизируется через 36 мс), получающая постоянный поток данных 100 пакетов в секунду или около того, чтобы поддерживать его синхронизацию.
Просто не работало под виртуализацией. В настоящий момент Hyper-Visors Virtualiaztion НЕ поддерживают работу в реальном времени.
VMware рекомендует немного другой набор параметров для SLES 10 SP1:
clock=pmtmr hpet=disable
Обычно я запускаю только гостевые системы Windows под Hyper-V, поэтому я не уверен, насколько это актуально для вашей среды. Конечно, стоит попробовать.