kernel: calcru: runtime went backwards

После перевода виртуалки на VMWare 8 появился баг, на консоль стали валиться сообщения вида:

kernel: calcru: runtime went backwards from 89 usec to 85 usec for pid 516 (moused)

Варианты лечения:

прописать:

kern.hz=100

в файл

/boot/loader.conf

и перезагрузиться и/или выполнить:

sysctl kern.timecounter.hardware

если у вас таймер TSC (такой был у меня), поставить:

sysctl kern.timecounter.hardware=i8254

и добавить строку

kern.timecounter.hardware=i8254

в файл

/etc/sysctl.conf

Пока таких сообщений не замечено, полет нормальный.


Теги: , , , , , , ,

Яндекс Лебедев

На сайте Яндекс.ру не так давно появился сервис времени – time.yandex.ru.

Дизайн этой страницы, как и всех других, сделала пресловутая контора Лебедева.

time is running out

Хорош ли сервис? Да, несомненно, и даже в некоторой степени полезен. Хорошо ли он сделан?
Лично я оценил его на троечку.

Я считаю, что, в современном веб-дизайне, юзабилити должно быть на первом месте. Если сайт красив, но им ужасно неудобно пользоваться, то это уже не дизайн, а халтура. (Я однажды потратил минут 20, чтобы найти хоть какие-то контакты на сайте банка, который слепила студия Тёмы, поматерился и ушел, так и не став клиентом того банка 😉 )

Я не знаю, кто именно делал саму страницу, но на ней есть кричащие минусы:

  1. Перезагрузка страницы при сравнении разницы времени.
    При клике "Найти разницу" страница перезагружается и меняется ее URL.
    Зачем? Тёма/Яндекс – чтите о технологии AJAX, это не страшно, это уже давно изобрели.
  2. Чтобы "найти разницу", нужно только вручную вбить названия городов.
    Подсказки это круто, но почему бы не сделать возле каждых часиков две кнопочки –  "слева", "справа". При нажатии на левую кнопочку копировать название города в левую часть сравнения, при нажатии на правую – в правую часть.
    Опять же, это не сложно и может сэкономить кучу нажатий на клавиши.
  3. Все часики показывают текущее время, но нельзя показать/сравнить заданное время.
    Было бы очень полезно, правда.
  4. На странице есть ссылка на информер, – почему бы не сделать возле каждых часиков крохотную кнопку – кликнул, получил информер. Удобно ведь, разве нет?
  5. Информер только на трэше флеше и только с круглыми часиками, какие-либо настройки отсутствуют.

Вот Тёма пишет-пишет свое куроводство ководство, а сам же совсем не думает над проектами, эх.. Творческий кризис?


Теги: , , , , , , , , , , , , , , ,

Синхронизация времени

Вы не забыли сегодня перевести часы? =)

Наверняка ваша операционная система Виндовc сделала эту работу за вас. А если у вас не настроена синхронизация времени или не работает по какой-то причине, можете воспользоваться замечательной утилитой Atomic TimeSync. Еще на этом сайте есть масса других утилит, которые могут вас пригодиться. Сервер времени (NTP) можно поискать в Интернет. Для Украины вполне сгодится ntp.colocall.net.


Теги: , , , , , , , ,

FreeBSD под VMWare: Теперь часы работают как часы

Снова добрался до виртуальной FreeBSD, а там.. ужос! Часы отстали на 4 часа.. В предыдущем посте о часах я выбирал разные таймеры. Ни один не работает как нужно. Что делать?

TSC

Я остановился на таймере TSC. Он должен работать на частоте процессора. dmesg рапортует о частоте:

Timecounter "TSC" frequency 3302974606 Hz quality 800


Этот параметр можно посмотреть через sysctl

~> sysctl -a | grep tsc_<br />
machdep.tsc_freq:  3302974606


При таком значении часы отстают, значит оно должно быть меньше.

Fix

Открываем файл vmware.log и ищем строку, содержащую TimeTracker

Sep 14 11:11:05: vmx| TimeTracker host to guest rate conversion  46219175637833 @ 2999990000Hz -> 46219175637833 @ 2999990000Hz<br />
Sep 14  11:11:05: vmx| TimeTracker host to guest rate conversion ((x * 2147483648)  >> 31) + 0


Копируем магическое 🙂 2999990000 и записываем его в sysctl:

~> sysctl machdep.tsc_freq=2999940000<br />
machdep.tsc_freq:  3302974606 -> 2999940000<br />
~> echo “sysctl machdep.tsc_freq=2999940000”  >> /etc/sysctl.conf<br />
# one more trick:<br />
~> echo "kern.hz=100" >> /boot/loader.conf


И синхронизируем часы с сервером времени, например:

ntpdate -bs 132.236.56.250


Все, теперь часы работают как часы 🙂

За тестовый час они не отстали и не обогнали контрольный сервер ни на секунду.


Теги: , , , , , , , , , , , , ,

time is ticking out

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

Посмотрите какие таймеры присутствуют на вашей системе:

<br />
~> dmesg | grep Timecounter<br />
Timecounter "i8254" frequency  1193182 Hz quality 0<br />
Timecounter "ACPI-fast" frequency 3579545 Hz quality  1000<br />
Timecounter "TSC" frequency 3035844535 Hz quality 800<br />
Timecounters  tick every 1.000 msec<br />


Проверьте, какой таймер используется:

<br />
~> sysctl kern.timecounter.hardware<br />
kern.timecounter.hardware: ACPI-fast<br />


Установите другой таймер:

<br />
~> sysctl -w kern.timecounter.hardware=i8254<br />
kern.timecounter.hardware: ACPI-fast –> i8254<br />


Добавьте настройки в файл /etc/sysctl.conf, чтобы таймер использовался при загрузке системы:

<br />
kern.timecounter.hardware=i8254<br />


Синхронизируйте время на машине:

<br />
ntpdate -bs 132.236.56.250<br />


Тепеть подождите несколько дней и проверьте, будут ли отставать ваши часы.


Теги: , , , , , , , , , , , , ,