Едет время

kruzer25

Компьютер работает круглосуточно, не выключается, за неделю часы стали отставать на десять минут.
В чём может быть причина, как решать проблему?
ЗЫ: Мать - DG45FC, прошивка последняя.

Vadim69

твоя любимая система не умеет синхронизироваться с тайм-серверами?

kruzer25

Тайм-сервера не решают проблему, когда часы идут аж на 0.15% медленнее.
С тайм-серверами часы будут по-прежнему идти с очень неправильной скоростью, просто иногда их будут подкручивать, чтобы время более-менее соответствовало правде.
Или ты предлагаешь каждую минуту синхронизироваться?
Прочитай внимательнее первый пост, что ли. Такое расхождение - серьёзная проблема железа, я хочу решить эту проблему, а не замаскировать. Как её замаскировать, я и без тебя знаю. Это в твоей любимой системе принято вместо того, чтобы решать проблему, городить вокруг неё костыли; а я предпочитаю, чтобы всё работало правильно, а не чтобы неполадки был прикрыты костылями.

bestpilot8

10 минут в неделю ≈ 1,5 минуты в день ≈ 3-4 секунды за час. Настрой синхронизацию ежечасно, и отклонения более чем в несколько секунд у тебя не будет. Можно каждые 15 минут синхронизироваться, тогда будет отклонение примерно в одну секунду.
Это не «серьёзная проблема железа», а небольшой производственный брак, поправимый средствами винды без особенных проблем. Можешь попробовать биос обновить, но вряд ли поможет. А, ну ты уже обновил.

kruzer25

Настрой синхронизацию
Ещё раз.
Такое расхождение - серьёзная проблема железа, я хочу решить эту проблему, а не замаскировать.
Кроме того - а не станет ли прикладным программам, использующим время, плохо от того, что оно внезапно скакнёт на секунду вперёд? Ладно ещё, если это происходит раз в неделю; но раз в 15 минут - как-то слишком.
UPD:
а небольшой производственный брак, поправимый средствами винды без особенных проблем
То есть, напрямую это не лечится?

bestpilot8

То есть, напрямую это не лечится?
Что значит «напрямую»? Программно скорость хождения часов в микросхеме биоса не настраивается, то есть это действительно железная проблема.
Ты можешь:
  • Заменить микросхему биоса. Для этого нужна вторая такая же, и не факт, что потом всё заработает.
  • Заменить блок питания (вдруг он подаёт неправильное напряжение, и от этого у часов глюки).
  • Заменить мать, чтоб уж наверняка (это по гарантии можно сделать, наверное).

Все решения более или менее абсурдны и влекут за собой бесполезные (скорее всего) денежные затраты.
Проще поставить синхронизацию, что сказали в первом же ответе. Приложениям от этого ничего не станет, если у тебя не пишется логов с точностью до миллисекунд.

yroslavasako

С тайм-серверами часы будут по-прежнему идти с очень неправильной скоростью, просто иногда их будут подкручивать, чтобы время более-менее соответствовало правде.
Или ты предлагаешь каждую минуту синхронизироваться?
насколько я знаю, после нескольких синхронизаций с сервером вычисляется опережение/отставание твоего таймера от часов сервера и часы соответственно замедляются/ускоряются

kruzer25

насколько я знаю, после нескольких синхронизаций с сервером вычисляется опережение/отставание твоего таймера от часов сервера и часы соответственно замедляются/ускоряются
Это, видимо, происходит на уровне ОС?
Моя ОС такое поддерживает?

kruzer25

Приложениям от этого ничего не станет, если у тебя не пишется логов с точностью до миллисекунд.
В моей практике приложениям было очень плохо, когда время на разных ядрах немного отличалось. Тут, конечно, всё менее экстремально, но тем не менее...
Программно скорость хождения часов в микросхеме биоса не настраивается
Но, возможно, программно можно настроить какую-то "поправку" (вроде того, про что говорит)?

yroslavasako

Это, видимо, происходит на уровне ОС?
Моя ОС такое поддерживает?
1 - да
2 - скорее всего да. вроде как описанный выше метод считается единственно возможной практикой для ntp сервиса. Если в твоей ОС есть служба ntp, то тогда она умеет. Если только клиент - то не факт.

bestpilot8

Насколько я понял из англоязычной вики (а я понял не до конца так устроена синхронизация в никсах. В виндах максимальная точность синхронизации 1-2 секунды (протоколом предусмотрена 0,01 и вообще до сервера-2003 использовалась какая-то урезанная версия.

bestpilot8

Полноценную службу раньше надо было отдельно устанавливать, бывает такая, я на xp ставил когда-то.

vall

у тебя там VM какие-нить работают?

kruzer25

Ну меня устроит даже если эту поправку где-то руками задать можно (супер-точность мне и не нужна, а примерно прикинуть и по имеющимся данным можно).
Насколько я понял, мне нужен Phase Locked Loop? Можно ли получтиь это в винде? (пишу с мабилы, в гугле посмотрю попозже).

kruzer25

Чорд, мб ты прав.
Независимо от наличия VM - установлен Hyper-V, а значит, и основная система через гипервизор работает - надо погуглить, вызывает ли Hyper-V такие проблемы...

bestpilot8

Поищи «NTP service for windows» в гугле. Если что-то и умеет давать поправки, то, я думаю, это полноценная служба с полной поддержкой протокола.

bestpilot8

http://serverfault.com/questions/10041/hyper-v-machine-drift...
Здесь написано, что это баг VM. Найдено по запросу «hyper-v time problems».

yroslavasako

Насколько я понял из англоязычной вики (а я понял не до конца)
я с англоязычной версии проследовал к чтению rfc протокола и выяснил, что поправки точно применяются, и есть ещё куча описаний как именно в разных случаях эти поправки счтиаются.

bestpilot8

Мне было ну ОЧЕНЬ неохота читать RFC.
К предыдущему посту:
Resolved The problem was Hyper-V on that machine. I removed Hyper-V, installed VMware Server, ran the same VM. Time sync issues went away (< 100ms difference after a day).

По ссылке предлагают и другие какие-то способы.

kruzer25

Да уж, похоже, работа хоста разработчиков Hyper-V волновала в последнюю очередь :crazy:

Andbar

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

kruzer25

Тут куда более важные вопросы не решаются...
У них просто явно в списке приоритетов хорошая работа гостей стоит выше, чем хостов; а с гостями ещё есть что делать.

margadon

думаю, тебе стоит вскрыть чип и начать пилить кварцы
или как там время устроено
по-другому-то несолидно, и от ntp ты трусами отмахиваешься :)

YUAL

Моя ОС такое поддерживает?
2 - скорее всего да. вроде как описанный выше метод считается единственно возможной практикой для ntp сервиса.
винда не поддерживает. она время синхронизирует скачками и растягивать не умеет.

YUAL

угу. там обычно где-то в районе батарейки биоса обитает такой блестящий столбик круглого или овального сечения. вот его аккуратно вскрываешь и наращиваешь туда недостающие микроны кварца, или они у тебя отстают?

tata2410

Вообще часы после бута должны контролироваться hpet на частоте около 14 МГц, соответственно, если время убегает гораздо быстрее, чем в e-9 раз на единицу времени, то такому железу место в мусорке. Хотя мб венда не умеет hpet юзать напрямую и калибруется по тикам процессора.

kruzer25

Ну, похоже, дело всё-таки не в железе, и какой-то workaround я нашёл: http://www.jaylee.org/post/2009/10/14/Hyper-V-CPU-Load-and-S...

vall

какие hpet, какие кварцы! косое время это стандартная проблема всех виртуальных машин плохо прилепленных к хост оси.

tata2410

Та у него в хосте едет, как я понял.

kruzer25

У меня Hyper-V, там хоста как такового нет, то, что я называл хостом - скорее "основная" виртуалка, которая тоже работает через гипервизор.

vall

и в хосте тоже может ехать, гипервизор вмешивается в доставку прерываний и учёт времени.

tata2410

Ну какбе хост обязан быть заточен на взаимодействие с гипервизором, если же в этой связке получается лажа, то причина в хреновом коде. Вмваре тоже грешит уезжанием времени в контрольном домене, ксен - либо у гостей под очень большой нагрузкой, либо у фуллвиртуализованных гостей, контрольный домен не страдает(если правильный клоксурс пользовать, конечно).

vall

совершенно верно, может глючить а может и не глючить — зависит от чётности числа багов в коде

elenangel

неа, не 1-2 секунды а я бы сказал 50мс. мне по некоторым причинам (в игрушке одной) надо было точное время до милисекунд. я каждый день синхронизировался и готов поклясться что время после синхронизации всегда соответствует настоящему если так можно выразиться с точностью не менее чем 50 милисекунд.
Оставить комментарий
Имя или ник:
Комментарий: