Red Hat Enterprise Linux で hwclock コマンドを実行すると timed out エラーが発生する

Solution Unverified - Updated -

Environment

Red Hat Enterprise Linux

Issue

  • 一部のシステムでは、hwclock コマンドを実行すると、以下のメッセージが表示されます。
    # hwclock --show
    select() to /dev/rtc to wait for clock tick timed out
  • ハードウェアクロックをシステムクロックと同期しても、同じエラーが表示されます。
    # hwclock --systohc
    select() to /dev/rtc to wait for clock tick timed out
  • 上述のタイムアウトメッセージが原因で、再起動するたびにシステムの時間が変わります。

Resolution

hwclock コマンドで --directisa オプションを使用すると、ISA マシンで発生した問題は解決します。このオプションを指定して、明示的な I/O 命令を使用して、/dev/rtc デバイスを使用せずにハードウェアにアクセスします。

たとえば以下のようになります。

    # hwclock --show --directisa
    Sun 26 Apr 2009 12:10:11 PM IST  -0.910523 seconds

    # hwclock --systohc --directisa
    #

--directisa オプションの詳細は、man hwclock を実行して man ページを参照してください。

再起動時にハードウェアクロックを同期しながら、--directisa オプションが使用されるようにするには、/etc/sysconfig/clock ファイルに以下のパラメーターを追加します。

    # cat /etc/sysconfig/clock
    ZONE="Asia/Calcutta"
    UTC=false
    ARC=false
    CLOCKFLAGS="--directisa"

このパラメーターを追加後、次回システムを再起動すると、正しいシステム時間が表示されます。

Root Cause

hwclock コマンドは、ハードウェアクロックを問い合わせたり、設定したりするために使用されます。hwclock は、デフォルトでは /dev/rtc デバイスを使用してハードウェアクロックにアクセスします (rtc デバイスドライバーから送られるとみなします)。

タイムアウトエラーメッセージは、ISA マシンでのみ表示されます。再起動時に Red Hat Enterprise Linux が hwclock --systohc コマンドを使用してハードウェアクロックをシステムクロックで同期するため、再起動するたびにシステム時間が変わります。ただし、このタイムアウトエラーが原因で、システムが同期を実行できません。

  • Component
  • ntp

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.