• 締切済み

OS時刻の変化の検知方法

お世話になります。 現状、下記の事象が発生し、原因調査をしております。 調査方法としまして下記の切り口を模索しているのですが 以下の短所があり、パッとしません。 おすすめの調査方法がございましたらご教示頂けないでしょうか? OSはwindowsXPです。 ■発生事象 あるシステムの複数端末のうち、 2台だけ時刻に誤差(1時間の間に1分以上進む)が生じる。 発生頻度は年に1回あるかないか。 ※『1時間の間』というのはシステム内に時刻監視機能があり   1時間周期で監視しているため。 ※原因としましてはHD的な問題ではなく、SWの問題と考えて  おります。 ※問題と考えるSWとはOSを含めセキュリティソフトなど   市販ソフトを含みます ■調査方法1 1分周期(60秒スリープ)でOS時刻を出力するVBSを作成し、 前回との誤差が60秒でないタイミングをチェックする (同タイミングで起動中のSWも出力する) 【短所】 1分単位で誤差の発生がわかるが、SWの特定が困難 (単発で動作するSWが原因の場合) ■調査方法2 監査ポリシーの「特権使用」の監査設定を行い、イベントビューアでチェックする 【短所】 特権が使用された時刻はわかるが、時間をどう変更されたかは わからない。 また、どのSWが使用したかも不明

みんなの回答

  • ninoue
  • ベストアンサー率52% (1288/2437)
回答No.1

少し質問内容について考え違いをしているかも知れませんが、以下のような点が気になりました。 A:時刻の最初の合せ方、B:時刻の表示内容(前回との時間差:60秒等、実際の時刻:時分秒表示等)、C:時刻の比較方法、D:表示されている時刻の分解能、E:あるCPUの時刻が進んだ後毎回進んで表示されるのか等詳細が分らないと原因の判断が出来ません。 F:1秒の進み遅れを問題にされる場合、表示の分解能は0.1秒はないと原因の追究は出来ないと思われます。(1分を問題にされる場合、1秒の分解能でチェック等) G:それとシステム内の時刻監視機能について説明があれば良いのですが。 H:システム相互間の時間差はシステム間のメッセージ交信等で確認されているのでしょうか。 それとも各CPUで其々表示された時刻等で確認されているのでしょうか。 J:プログラムの実行間隔はスリープで指定されているのでしょうか。 K:タスク・スケジューラの繰返し実行機能で指定する方が確実だと思われますが。 http://www.atmarkit.co.jp/fwin2k/win2ktips/1332reptsk/reptsk.html (時間管理機能のsleep, delay, interval等の区別) L:スリープで指定していた場合、途中で再起動が他のプログラムが長く実行していた為に遅れた場合、その影響がその後の再起動に影響してしまいます。 もっとも他のプログラムが時々長く実行したり、イベント待ちを引起している為の問題があるのではないかを追及されているのでしたら、Kの繰返し実行機能:inteval機能を使っていたら反って問題を見逃す事になってしまいますが。 OSの管理している時刻は水晶時計の精度では正しく進んでいるが、以上のようなSW上の問題でアプリケーション表示系の問題があるのではないかと気になっています。 以上などの点についてお知らせ下さい。