Назад | Перейти на главную страницу

Сбросить время ядра (PLL / FLL)

ntp пытается настроить временные переменные ядра, чтобы улучшить производительность времени автономной работы.

Я ищу способ сбросить эти переменные, но не могу найти для этого программу / команду.

Спасибо всем за помощь!

Эти переменные рассчитываются для компенсации локальных часов ядра на основе часов сервера ntp. Локальные часы ядра калибруются только во время запуска ядра. Проверьте журнал ядра, например

Fast TSC calibration using PIT
Detected 2093.938 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 4187.87 BogoMIPS (lpj=2093938)

Когда локальные часы слишком сильно отклоняются от часов сервера ntp, отслеживание PLL будет обрезано до максимума 500 ppm, как в этом примере

# ntpdc -c kerninfo
pll offset:           -3.9831e-05 s
pll frequency:        -500.000 ppm
maximum error:        0.033146 s
estimated error:      2.2e-05 s
status:               2001  pll nano
pll time constant:    4
precision:            1e-09 s
frequency tolerance:  500 ppm

Сброс частоты pll не помогает в долгосрочной перспективе, потому что сам таймер ядра был оценен недостаточно точно во время загрузки. Таким образом, частота ФАПЧ снова будет дрейфовать до максимального значения. Так что на мой взгляд может помочь только перезагрузка.

ntptime:

DESCRIPTION

This program is useful only with special kernels described in the A Kernel Model for
Precision Timekeeping  page. It reads and displays time-related kernel variables using
the ntp_gettime() system call. A similar display can be obtained using the ntpdc
program and kerninfo command.

Вы можете установить:

  • смещение частоты
  • предполагаемая ошибка
  • смещение часов
  • постоянная времени

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

Я думаю, вы, должно быть, говорите о файле NTP Drift. С веб-сайта доктора Милля (создателя NTP):

Во время работы ntpd измеряет и исправляет случайную ошибку тактовой частоты и иногда записывает текущее значение в файл, указанный командой конфигурации driftfile /etc/ntp.drift. Если ntpd остановлен и перезапущен, он инициализирует частоту из этого файла и избегает потенциально длительного интервала для повторного изучения исправления.

Удалите дрейфовый файл и перезапустите демон ntp, чтобы решить вашу проблему. В debian вы должны сделать следующее (обратите внимание, что дрейфовый файл может храниться в разных местах ... вы всегда можете использовать команду "locate", чтобы найти его):

invoke-rc.d ntp stop
rm /var/lib/ntp/ntp.drift
invoke-rc.d ntp start