Время в виртуальной машине
Atom Ответить
21.03.2013


Кто-нить сталкивался с такой проблемой - роботы работают на виртуальных машинах (vmware, windows xp). В начале дня синхронизируем время в xp, к концу торгов часы отстают минуты на 2-3 от реального времени, притом что если выходной и робот не работает - то отставания никакого нет. В чем может быть причина?



Спасибо:




15 Ответов
MenDel

Фотография
Дата: 21.03.2013
Ответить


Eskra Перейти
Кто-нить сталкивался с такой проблемой - роботы работают на виртуальных машинах (vmware, windows xp). В начале дня синхронизируем время в xp, к концу торгов часы отстают минуты на 2-3 от реального времени, притом что если выходной и робот не работает - то отставания никакого нет. В чем может быть причина?


Причину не скажу, но я поставил прогу Absolute Time Corrector, она у меня автоматически часы каждую минуту проверяет, если надо то сама подводит. Очень удобная вещь, рекомендую.
Спасибо: Eskra

transdex

Фотография
Дата: 21.03.2013
Ответить


Eskra Перейти
В чем может быть причина?


Очень полезная статья:

http://www.vmware.com/fi...g-In-VirtualMachines.pdf

Спасибо: Eskra

Eskra

Фотография
Дата: 21.03.2013
Ответить


Похоже то, что надо, спасибо - буду читать
Автор топика
Спасибо:

Moadip

Фотография
Автор статей Программист
Дата: 21.03.2013
Ответить


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

Если по простому, то системный таймер обновляется с некоторой периодичностью и если есть проблемы с железом/драйверами/софтом, то он не обновляется "во время".
Из за этого постепенно накапливается отставание.

DPC Latency Checker - тулза для проверки.

В идеале должно выглядеть так:


У меня же было так:


Из за этого и были проблемы.
Спасибо: Eskra

Eskra

Фотография
Дата: 21.03.2013
Ответить


Ого, да у меня там все красно-желтое, на домашнем все нормально... Попробую завтра с утра, когда робот работать не будет. Спасибо большое
Автор топика
Спасибо:

ra81

Фотография
Дата: 22.03.2013
Ответить


Такая байда может быть если загрузка DPC в диспетчере задач высокая. То есть отложенный вызов процедур фигачит чего-то но посколь нагрузка большая не успевает отфигачивать. Других причин в латенси объяснить не могу. Даже уже не помню от чего такое может вылазить, но бывает что вылазит
Спасибо:

Eskra

Фотография
Дата: 22.03.2013
Ответить


А что такое DPC? С помощью проги от Moadip увидел, что вообще задержки сильно скачут на виртуалке и зависят от загрузки цп, те запускаю какую-нибудь прогу - сразу задержки в красную зону. Судя по статье - это проблема всех виртуалок, у меня еще все сделано на гипервизоре ESXi, может от этого тоже зависит
Автор топика
Спасибо:

Eskra

Фотография
Дата: 22.03.2013
Ответить


У меня похоже гостевые ос не синхронизирутся с хостом и где это включить не могу найти)
Автор топика
Спасибо:

Moadip

Фотография
Автор статей Программист
Дата: 22.03.2013
Ответить


Цитата:
А что такое DPC?

DPC

Цитата:
У меня похоже гостевые ос не синхронизирутся с хостом и где это включить не могу найти)

[IMG]http://i51.fastpic.ru/thumb/2013/0322/1b/6ac398b14fd5cdf561fa1f4e4fb0401b.jpeg[/IMG]
Спасибо:

transdex

Фотография
Дата: 22.03.2013
Ответить


Если кратко:
Сначала надо выбрать способ синхронизации - через tools или w32time (или NTP client)
через tools:
Отключаем w32time (в настройках времени -вкладка "время интернета" - снять галку "выполнять синхронизацию"
Вставляем в .vmx файл строчки:
tools.syncTime = true
tools.syncTime.period = 60

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

через w32time
отключаем синхронизацию в tools (можно через окошко tools в гостевой машине)
Настраиваем время интернета на адрес хоста (на нем должен быть настроен NTP сервер, на ESXi настраивается )
Через реестр ставим время обновления почаще, не более 15мин.

Через ntp client:
Отличный бесплатный NTP сервер/клиент для windows (порт с UNIX):
http://www.meinbergglobal.com/english/sw/ntp.htm
Желательно найти поблизости (ping не более 3-4мс) NTP сервер Stratum1, тогда можно рассчитывать на отклонение от точного времени порядка 10мс.

PS.
http://kb.vmware.com/sel...ayKC&externalId=1318
http://www.mustbegeek.co...machine-and-esxi-server/
Спасибо:

Eskra

Фотография
Дата: 22.03.2013
Ответить


Ага, спасибо - нашел и включил через tools. Я встречал упоминание, что tools каждую минуту время сравнивает, это так? И еще - не будет ли каких косяков в работе робота в момент синхронизации, у меня несколько таймеров используется и Thread.Sleep?
Автор топика
Спасибо:

Eskra

Фотография
Дата: 27.03.2013
Ответить


Все настроил - работает как часы, всем огромное спасибо за помощь!
Автор топика
Спасибо:

Eskra

Фотография
Дата: 27.03.2013
Ответить


Работает как часы))
Автор топика
Спасибо:

westtrd

Фотография
Дата: 27.03.2013
Ответить


Eskra Перейти
Кто-нить сталкивался с такой проблемой - роботы работают на виртуальных машинах (vmware, windows xp). В начале дня синхронизируем время в xp, к концу торгов часы отстают минуты на 2-3 от реального времени, притом что если выходной и робот не работает - то отставания никакого нет. В чем может быть причина?

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

Eskra

Фотография
Дата: 27.03.2013
Ответить


Да, в результате так и сделал
Автор топика
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy