「chrony と ntp、どっちを使えばいいの?」
Linuxサーバーの時刻同期(NTP)は、システムの安定運用に欠かせない重要な要素です。
この記事では、Linuxで時刻同期のステータスを確認するコマンドを解説します。現代のLinux(RHEL 7/8/9、AlmaLinuxなど)で標準の
chrony と、古いシステムで使われる ntp の両方に対応した確認手順をまとめました。【この記事でわかること】
・chronyc sourcesコマンドで現在同期中のNTPサーバーを確認できる・chronyc trackingでシステム時刻のズレ量(fast/slow)を確認できる
・古い環境(CentOS 6以前)ではntpq -pコマンドを使う
・timedatectlでOS全体の時刻同期状態を素早く確認できる
1. 【現代の標準】chronyの同期状態を確認する
CentOS 7やRHEL 7以降、Ubuntu 20.04以降など、近年のLinuxディストリビューションでは chrony(クロニー) が標準のNTPクライアントとして採用されています。まずchronydの起動状態を確認する
chronyc コマンドを実行する前に、まず chrony のサービス(デーモン)が動いているかを確認しましょう。# systemctl status chronyd * chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled) Active: active (running) since Mon 2026-02-24 10:00:00 JST; 3 days ago
Active: active (running) であれば正常です。停止している場合は以下のコマンドで起動してください。# systemctl start chronyd
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
現在同期しているサーバー一覧を表示する
どのNTPサーバーと同期しているかを確認するには、chronyc sources コマンドを使用します。-v オプションを付けると、ヘッダー(項目の説明)が付いて見やすくなります。# chronyc sources -v .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current best, '+' = combined, '-' = not combined, | / '?' = unreachable, 'x' = time may be in error, '~' = time too variable. || .- xxxx [ yyyy ] +/- zzzz || Reachability register (octal) -. | xxxx = adjusted offset, || Log2(Polling interval) --. | | yyyy = measured offset, || \\ | | zzzz = estimated error. || | | \\ MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* ntp1.jst.mfeed.ad.jp 2 6 377 25 +456us[ +480us] +/- 20ms ^+ ntp2.jst.mfeed.ad.jp 2 6 377 24 -123us[ -123us] +/- 20ms ^? 192.168.1.100 0 7 0 - +0ns[ +0ns] +/- 0ns
この記号を見るだけで、同期が正常かどうかが分かります。
| 記号 | 意味 |
|---|---|
* |
現在同期中のサーバー(メイン)。これがあれば正常です。 |
+ |
同期候補(サブ)。メインに何かあった場合に切り替わります。 |
? |
到達不能(通信できていない)。ファイアウォールなどを確認してください。 |
詳細な同期ステータスを確認する
サーバーとの「時刻のズレ」や「同期してからの経過時間」など、システム全体の時刻同期状況を詳しく見るにはchronyc tracking を使います。# chronyc tracking Reference ID : 85F3ECD1 (ntp1.jst.mfeed.ad.jp) ← 同期先IPの16進数表記 Stratum : 3 Ref time (UTC) : Mon Feb 24 10:00:00 2026 System time : 0.000000001 seconds fast of NTP time Last offset : +0.000000002 seconds RMS offset : 0.000000005 seconds
System time の項目を見ることで、NTPサーバーに対して自サーバーの時刻がどれくらいズレているか(fast/slow)を確認できます。【トラブル】「506 Cannot talk to daemon」エラーが出る場合
# chronyc sources 506 Cannot talk to daemon
chronyd サービスが停止しているか、インストールされていない場合に表示されます。・サービスが停止している場合:
systemctl start chronyd で起動してください。・chronyがインストールされていない場合:
dnf install chrony でインストール後、systemctl enable --now chronyd で有効化してください。2. 【古い環境】ntpの同期状態を確認する
CentOS 6以前や、意図的にntp パッケージをインストールして使っている環境では、ntpq コマンドを使用します。ntpq -p コマンドで一覧表示
# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *ntp1.jst.mfeed. 133.243.238.163 2 u 45 64 377 15.123 0.123 0.456 +ntp2.jst.mfeed. 133.243.238.164 2 u 40 64 377 14.890 -0.567 0.123
chronyと同様に、左端の記号が重要です。
| 記号 | 意味 |
|---|---|
* |
現在同期中のサーバー(正常) |
+ |
同期候補のサーバー(正常) |
| (空白) | 同期の対象外(通信はできているが品質が低いなど) |
3. OS全体の時刻設定を確認する(timedatectl)
chrony や ntp が動いているかどうかも含めて、OSの時刻設定全体をサクッと確認したい場合は timedatectl コマンドが便利です。# timedatectl Local time: Mon 2026-02-24 10:00:00 JST Universal time: Mon 2026-02-24 01:00:00 UTC RTC time: Mon 2026-02-24 01:00:00 Time zone: Asia/Tokyo (JST, +0900) NTP enabled: yes NTP synchronized: yes
NTP synchronized: yes となっていれば、時刻同期は正常に機能しています。4. chrony.confの主要パラメータと設定例
chronydの設定ファイルは/etc/chrony.conf(RHEL系)または /etc/chrony/chrony.conf(Debian/Ubuntu系)です。設定を変更した後は systemctl restart chronyd で反映します。主要パラメータ一覧
# NTPサーバーを個別指定(iburst: 初回同期を高速化) server ntp.nict.jp iburst # NTPプール(複数サーバーを自動選択) pool pool.ntp.org iburst # 起動直後に大きなズレ(1秒以上)があれば即時補正する # 以降は通常の段階補正に切り替え("3 -1" は3回まで即時補正を許可) makestep 1.0 3 # ハードウェアクロック(RTC)との同期 rtcsync # ログ出力先 logdir /var/log/chrony
| パラメータ | 説明 |
|---|---|
server |
NTPサーバーを1台指定する。iburstを付けると初回同期が速くなる |
pool |
NTPプールを指定する。複数台のサーバーが自動で割り当てられる |
iburst |
最初の問い合わせを集中して送り、初期同期を高速化するオプション |
makestep |
起動時に大きなズレがある場合に即時補正する。引数は「閾値(秒)」と「許可回数」 |
rtcsync |
システム時刻をRTC(ハードウェアクロック)に定期的に書き戻す |
設定変更後の確認手順
# 設定ファイルを編集後、chronydを再起動 systemctl restart chronyd # 同期が開始されているか確認(* が付いていればOK) chronyc sources -v
5. NTPプールの選び方
NTPサーバーの選択は、応答速度・安定性・地域的な近さで決まります。本番環境では複数のサーバーを組み合わせるのが基本です。主要なNTPサーバー・プール
| サーバー / プール | 特徴 | 推奨用途 |
|---|---|---|
ntp.nict.jp |
国立研究開発法人 情報通信研究機構(NICT)が運営する国内公式サーバー。高精度で安定 | 国内本番サーバー(第1候補) |
pool.ntp.org |
世界中のNTPサーバーのプール。地域に近いサーバーが自動で割り当てられる | 汎用・開発環境・海外サーバー |
asia.pool.ntp.org |
アジア地域のプール。日本からの応答速度が比較的速い | アジア圏の汎用サーバー |
time.aws.com |
AWS提供のNTPサービス。EC2インスタンスからは最も低レイテンシー | AWS EC2環境(第1候補) |
time.google.com |
Googleが提供するNTPサーバー。うるう秒を徐々に吸収するSmear対応 | GCP環境、汎用 |
国内本番環境での推奨設定例
# RHEL/AlmaLinux/Rocky Linux の /etc/chrony.conf 推奨設定 # nict.jpを第1候補、pool.ntp.orgをバックアップとして使用 server ntp.nict.jp iburst pool pool.ntp.org iburst makestep 1.0 3 rtcsync logdir /var/log/chrony
6. systemd-timesyncdとchronyの使い分け
Linuxの時刻同期ツールには chrony と systemd-timesyncd の2つが広く使われています。どちらを選ぶかはディストリビューションと用途で決まります。systemd-timesyncd とは
systemd-timesyncdはsystemdに内蔵された軽量なNTPクライアントです。追加インストールが不要で、Ubuntuなどのデスクトップ・軽量サーバー環境ではデフォルトで有効になっています。NTPサーバーへの問い合わせ(クライアント機能)のみで、NTPサーバー機能は持ちません。chrony vs systemd-timesyncd の比較
| 比較項目 | chrony | systemd-timesyncd |
|---|---|---|
| 同期精度 | 高い(マイクロ秒レベル) | 標準(サーバー用途には十分) |
| NTPサーバー機能 | あり(ローカルNTPサーバーとして動作可) | なし(クライアント専用) |
| 設定ファイル | /etc/chrony.conf |
/etc/systemd/timesyncd.conf |
| デフォルト採用 | RHEL 7以降、AlmaLinux、Rocky Linux | Ubuntu 18.04以降(デスクトップ・軽量環境) |
| 同時起動 | 不可(どちらか一方を使う) | |
どちらを使うべきか
・RHEL/AlmaLinux/Rocky Linux系:chronydが標準。追加インストール不要でそのまま使う・Ubuntu(本番サーバー):精度や複数サーバー管理が必要なら chrony をインストールして systemd-timesyncd を停止する
・Ubuntu(開発・軽量環境):systemd-timesyncdで十分。設定不要で使える
Ubuntu でchronyに切り替える手順
# Ubuntu で chrony に切り替える # 1. systemd-timesyncdを停止・無効化 systemctl stop systemd-timesyncd systemctl disable systemd-timesyncd # 2. chrony をインストール・有効化 apt install -y chrony systemctl enable --now chrony # 3. 同期確認 chronyc sources -v
systemd-timesyncd の同期状態確認
systemd-timesyncdを使っている環境では timedatectl または以下のコマンドで確認します。# systemd-timesyncd の同期状態を確認 timedatectl show-timesync --all # または systemctl status systemd-timesyncd
本記事のまとめ
| 環境・目的 | 確認コマンド / 設定 |
|---|---|
| chronydの起動状態を確認する | systemctl status chronyd |
| 現代の標準(chrony)同期サーバーの確認 | chronyc sources -v |
| chronyの詳細な時刻ズレを確認する | chronyc tracking |
| 古い環境(ntp)同期サーバーの確認 | ntpq -p |
| OS全体の時刻設定を簡易確認する | timedatectl |
| chrony.conf にNICTサーバーを設定する | server ntp.nict.jp iburst |
| 起動時の大きなズレを即時補正する | makestep 1.0 3(chrony.conf) |
| Ubuntu で chrony に切り替える | systemctl disable systemd-timesyncd → chrony インストール |
Linuxサーバーの時刻管理を体系的に学びたい方へ
時刻同期の設定ミスはログ調査を困難にしたり、SSL証明書エラーを引き起こす原因になります。正確に設定・確認できるスキルを身につけましょう。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます