LINUX.ORG.RU
ФорумAdmin

ХРОНИЧЕСКОЕ отставание системных часов


0

0

Доброго времени суток всем.

VMware 5.5.1
Slackware 11.0
kernel 2.6.16.31

Столкнулся с интересной проблемой с системными часами: за каждую секунду cmos
часов, системные часы отстают на 6 секунд, т.е через 1 минуту после загрузки ОС,
системные часы отстают от cmos на 6 минут, а через 10 минут после загрузки ОС -
на целый час и т.д. Такое поведение наблюдается, когда ядро собрано с
параметрами: (Processor type and features --> Timer frequency --> 1000 )

#CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000

adjtimex дает такие результаты сразу после старта системы:

# adjtimex -c20
                                    --- current ---   -- suggested --
cmos time     system-cmos  error_ppm   tick      freq    tick      freq
1164455648    -4.963366
1164455664   -11.826746  -686338.0  10000         0
1164455679   -17.695207  -586846.1  10000         0   15868   3022075
1164455695   -24.563655  -686844.8  10000         0   16868   2934575
1164455710   -30.433059  -586940.4  10000         0   15869   2648162
1164455726   -37.301482  -686842.3  10000         0   16868   2772075
1164455741   -43.170884  -586940.2  10000         0   15869   2634100
1164455756   -49.039284  -586840.0  10000         0   15868   2622075
1164455772   -55.907745  -686846.1  10000         0   16868   3020512
1164455787   -61.777114  -586936.9  10000         0   15869   2418475
1164455804   -69.645518  -786840.4  10000         0   17868   2648637
1164455819   -75.515880  -587036.2  10000         0   15870   2372687
1164455836   -83.384146  -786826.6  10000         0   17868   1742387
1164455852   -90.253537  -686939.1  10000         0   16869   2562225
1164455868   -97.121924  -686838.7  10000         0   16868   2536137
1164455884  -103.990282  -686835.8  10000         0   16868   2347075
1164455900  -110.858731  -686844.9  10000         0   16868   2942387
1164455915  -116.727089  -586835.8  10000         0   15868   2345512
1164455930  -122.595508  -586841.9  10000         0   15868   2747075
1164455946  -129.464896  -686938.8  10000         0   16869   2541912 

причем установить предлагаемый tick не получается:

# adjtimex -t 15868
adjtimex: Invalid argument
    for this kernel:
    USER_HZ = 100 (nominally 100 ticks per second)
    9000 <= tick <= 11000
    -33554432 <= frequency <= 33554432 

если изменить настройки ядра на дефолтные (Processor type and features --> Timer
frequency --> 100 ):

CONFIG_HZ_100=y
# CONFIG_HZ_250 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=100

то системные часы работаю в принципе нормально. adjtimex дает такие результаты
сразу после старта системы:

# adjtimex -c20
                                        current          suggested
cmos time     system-cmos  error_ppm   tick      freq    tick      freq
1164454803     3.957362
1164454812     4.091037    13367.5  10000         0
1164454821     4.210685    11964.8  10000         0    9880   2307000
1164454830     4.320646    10996.1  10000         0    9890    255375
1164454839     4.439168    11852.2  10000         0    9881   3133087
1164454849     3.992196   -44697.2  10000         0   10446   6369400
1164454858     4.099822    10762.6  10000         0    9892   2451300
1164454867     4.209653    10983.1  10000         0    9890   1108500
1164454876     4.320747    11109.4  10000         0    9888   5937575
1164454885     4.430086    10933.9  10000         0    9890   4331937
1164454894     4.541782    11169.6  10000         0    9888   1992262
1164454904     3.659875   -88190.7  10000         0   10881   5944025
1164454913     3.770027    11015.2  10000         0    9889   5557412
1164454922     3.880740    11071.3  10000         0    9889   1880850
1164454931     4.000093    11935.3  10000         0    9880   4239812
1164454940     4.110054    10996.1  10000         0    9890    255375
1164454949     4.219622    10956.8  10000         0    9890   2831937
1164454958     4.329766    11014.4  10000         0    9889   5608975
1164454967     4.439796    11003.0  10000         0    9889   6357412
1164454977     3.549605   -89019.1  10000         0   10890   1252250 

пределы для tick и frequency такие же как и в случае при Timer frequency 1000:

# adjtimex -t 0
adjtimex: Invalid argument
    for this kernel:
    USER_HZ = 100 (nominally 100 ticks per second)
    9000 <= tick <= 11000
    -33554432 <= frequency <= 33554432 

Может быть в этом и проблемы? При разных значениях CONFIG_HZ, значение USER_HZ
так же должно быть разным? Какие варианты решения данной проблемы могут быть и в
чем она заключается?

Заранее благодарен.

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.