最終更新日 2025年2月14日

uptimeコマンドとは?
本セクションではuptimeコマンドについて以下の内容を説明します。

uptimeコマンドの概要
uptimeコマンドは、Linuxシステムの稼働時間やロードアベレージ(負荷状況)を確認するための基本的なコマンドです。
システムの安定稼働を維持するために、現在の稼働時間や負荷の推移を把握することは重要です。特に、サーバー管理者にとって、負荷の増減を把握し、適切な対処を行うことは不可欠です。
uptimeコマンドの出力には、以下の情報が含まれています。
- システムの稼働時間(起動してからの経過時間)
- 現在ログインしているユーザー数
- ロードアベレージ(1分・5分・15分の平均負荷)
では、具体的な活用方法について見ていきましょう。

システム稼働時間を確認する
システムの稼働時間を知りたい場合、uptime
コマンドを実行するだけで確認できます。
$ uptime
出力結果
12:34:56 up 10 days, 3:45, 2 users, load average: 0.15, 0.10, 0.05
この結果から、システムが10日と3時間45分稼働しており、現在2人のユーザーがログインしていることが分かります。

先輩、サーバーがどれくらい動いているのか知りたいんですけど、どうすればいいですか?

uptime
コマンドを使えば簡単に確認できるよ。これを実行すれば、起動時間が分かる。

じゃあ、サーバーが落ちた時間を知ることもできますか?

それならuptime -s
を使うと、起動した時刻が表示されるよ。
ロードアベレージの確認
uptimeコマンドの出力には、「ロードアベレージ(load average)」が表示されます。これは、システムの負荷を示す重要な指標です。
例えば、以下の出力を見てみましょう。
12:34:56 up 10 days, 3:45, 2 users, load average: 1.20, 0.80, 0.75
この場合、最後の1.20、0.80、0.75という数値がロードアベレージで、それぞれ1分・5分・15分の平均負荷を表しています。

ロードアベレージって何ですか?数値が高いと問題ですか?

ロードアベレージは、CPUがどれくらいの負荷を受けているかの目安だよ。一般的には、CPUコア数と比較して判断する。

例えば、ロードアベレージが1.20ならどう解釈すればいいですか?

もし1コアのCPUなら、CPUが100%以上使われている状態。4コアなら余裕があると判断できる。

負荷が高い時はどう対処すればいいですか?

top
やhtop
でどのプロセスがCPUを食ってるか確認するといいよ。
他の監視コマンドとの違い
uptimeコマンドは、シンプルに稼働時間とロードアベレージを確認するためのものですが、他のコマンドと組み合わせることで、より詳細なシステム状況を把握できます。
コマンド | 目的 |
---|---|
uptime | システム稼働時間・負荷確認 |
top | CPU・メモリ使用率を確認 |
htop | 視覚的にリソース使用状況を確認 |
w | ログイン中のユーザー情報を確認 |

uptime
とtop
って、どっちを使えばいいですか?

軽く確認するならuptime
、プロセス単位で詳しく知りたいならtop
だね。

ロードアベレージが高かったら、top
やhtop
で原因を探ればいいってことですね!

その通り!まずはuptime
で異常がないかチェック、必要なら他のコマンドで詳細を確認するといい。

topコマンドについては以下の記事で紹介しているのでよかったら見てみてください!
スポンサーリンクまとめ
uptime
コマンドは、システムの稼働時間とロードアベレージを素早く確認できる- ロードアベレージはCPUコア数と比較して判断する
top
やhtop
と組み合わせると、詳細な負荷分析が可能
これらを活用すれば、サーバーの健全性を素早く把握し、適切な管理ができます。
uptimeコマンドの基本的な使い方
本セクションではuptimeコマンドについて基本的な使い方を紹介します。

uptimeコマンドの実行方法
uptimeコマンドは、オプションなしで実行するだけで、システムの稼働時間やロードアベレージを簡単に確認できる便利なコマンドです。
サーバーの負荷状況を手軽に把握できるため、定期的な監視やトラブルシューティングの第一歩として活用されます。
$ uptime
上記の結果、以下のような出力が得られます。
14:25:36 up 5 days, 2:34, 3 users, load average: 0.50, 0.60, 0.55
この結果には、現在の時刻・稼働時間・ログインユーザー数・ロードアベレージが含まれています。
では、それぞれの項目について詳しく見ていきましょう。

uptime を実行するだけで得られる情報
uptimeコマンドの出力には、以下の4つの情報が含まれています。
- 現在の時刻
- システムの稼働時間
- ログイン中のユーザー数
- ロードアベレージ(1分・5分・15分の平均負荷)

先輩、サーバーの状態を簡単に確認したいんですが、何か良いコマンドはありますか?

uptime
を実行するだけで、今の負荷や稼働時間がすぐに分かるよ。

えっ、そんなに簡単なんですか?

うん、試しに打ってみて。

出力の各項目の説明
本セクションではuptimeコマンドの出力の各項目を詳しく解説します。

現在の時刻
出力の最初に表示されるのが、コマンドを実行した時点の時刻です。
14:25:36 up 5 days, 2:34, 3 users, load average: 0.50, 0.60, 0.55
↑ここ

この最初の時間って何ですか?

今の時刻を表してる。uptimeを実行した瞬間の時間だよ。
システムの稼働時間
「up 5 days, 2:34」の部分が、システムが起動してからの経過時間を示します。
14:25:36 up 5 days, 2:34, 3 users, load average: 0.50, 0.60, 0.55
↑ここ

このup 5 days, 2:34
って何ですか?

サーバーが起動してから何日何時間経っているかを表してる。

じゃあ、5日前の朝に再起動したってことですか?

そういうこと。でも正確な起動時間を知りたいなら、uptime -s
を使うといいよ。
ログイン中のユーザー数
「3 users」の部分が、現在ログインしているユーザー数を示します。
14:25:36 up 5 days, 2:34, 3 users, load average: 0.50, 0.60, 0.55
↑ここ

この3 users
って、何を意味してるんですか?

今、サーバーにログインしてるユーザーが3人いるってことだね。

SSHとかで接続してる人の数ですか?

そう、それも含まれる。でも、もっと詳細に知りたければwho
やw
コマンドを使うといい。
ロードアベレージ(負荷平均値)
「load average: 0.50, 0.60, 0.55」の部分が、1分・5分・15分のロードアベレージを表します。
14:25:36 up 5 days, 2:34, 3 users, load average: 0.50, 0.60, 0.55
↑ここ

このロードアベレージって何を意味してるんですか?

システムの負荷状況だよ。1分、5分、15分の平均負荷を表してる。

0.50とか0.60って、どんな値なら問題なんですか?

基本的にはCPUのコア数と比較するといい。例えば、4コアのサーバーなら、ロードアベレージが4を超えると負荷が高いと判断できる。

なるほど、単純に大きいほどヤバいってことですね!

そうだね。負荷が高いと感じたらtop
やhtop
で詳細をチェックするといいよ。
まとめ
uptime
コマンドを実行するだけで、サーバーの状態を手軽に確認できる- 出力には「現在の時刻・稼働時間・ログインユーザー数・ロードアベレージ」が含まれる
- ロードアベレージの数値はCPUコア数と比較して判断する
- 詳細な負荷分析をする場合は、
top
やhtop
と組み合わせるとよい
uptimeコマンドは、サーバー監視の第一歩として最適なツールです。シンプルなコマンドですが、定期的に実行して負荷状況をチェックすることで、安定したシステム運用を可能にできます。
スポンサーリンクuptimeコマンドのオプション一覧と詳細解説
uptimeコマンドには、オプションを指定することで取得できる情報をカスタマイズできます。
特定の情報だけを表示したい場合や、スクリプトで利用する際に便利です。
ここでは、主なオプションとその使い方を詳しく解説します。
-p オプション システムの稼働時間のみを表示
「システムが起動してからの経過時間だけを知りたい」ときに便利なのが -p
オプションです。
通常のuptime
コマンドでは時刻やロードアベレージも表示されますが、-p
を使うと稼働時間のみが出力されます。
コマンド例
$ uptime -p
出力例
up 10 days, 3 hours, 15 minutes

先輩、パフォーマンス調査で top
や vmstat
はよく使うんですが、perf
って何ができるんですか?

uptime -p
を使うといいよ。余計な情報がなく、経過時間だけが出る。

ログとかでスクリプトに組み込むときに使えそうですね!

そうそう。人間が見るよりも、機械処理向きのフォーマットだから便利だよ。
-s オプション システムの起動時刻を表示
「サーバーが最後に起動した時刻を知りたい」ときは -s
オプションを使います。
通常のuptime
では「何日前に起動したか」しか分かりませんが、-s
を使えば正確な起動時刻が確認できます。
コマンド例
$ uptime -s
出力例
2024-02-10 08:15:23

サーバーがいつ起動したのか、正確な時刻を知りたいんですけど…

uptime -s
で調べられるよ。

なるほど!これは障害調査のときに役立ちそうですね。

そうだね。サーバーが再起動した原因を調べるとき、ログのタイムスタンプと照らし合わせるのに便利だよ。
–help オプション オプション一覧を確認
uptimeコマンドの使い方を忘れた場合は --help
オプションで確認できます。
手軽にオプション一覧を表示できるので、他のオプションがないか調べたいときに便利です。
使用例
$ uptime --help
出力例
Usage: uptime [OPTION]...
-p, --pretty show uptime in pretty format
-s, --since system up since
--help display this help and exit
--version output version information and exit

オプションの一覧を知りたいときってどうすればいいですか?

uptime --help
で確認できるよ。他のLinuxコマンドと同じだね。

短いオプションしかないんですね。

シンプルなコマンドだからね。でも、-p
と -s
だけでも結構使いどころがあるよ。
まとめ
uptime -p
:システムの稼働時間のみを表示(スクリプト向け)uptime -s
:システムの起動時刻を表示(障害調査向け)uptime --help
:オプション一覧を確認uptime >> log
:ログに保存し、cronと組み合わせると監視にも活用可能
uptimeコマンドのログ保存・出力方法
システムの稼働状況を定期的に記録したい場合、uptimeの出力をログファイルに保存すると便利です。
特に、負荷の推移を分析する際に役立ちます。
使用例(ログに保存)
$ uptime >> /var/log/uptime.log
cronジョブで定期記録
以下のように crontab
に設定すると、5分ごとにuptimeの情報を記録できます。
*/5 * * * * /usr/bin/uptime >> /var/log/uptime.log

uptimeの結果をログに残したいんですが、どうすればいいですか?

リダイレクト(>>
)を使えば、ログファイルに保存できるよ。

負荷の推移を記録するのに便利ですね!

そうだね。cronと組み合わせれば、自動で記録できるから監視に使えるよ。
uptimeコマンドの実践的な活用方法
uptimeコマンドは、単に稼働時間を確認するだけでなく、サーバーの負荷状況を把握し、適切な対応を取るためにも活用できます。
負荷が高い時間帯の分析や、リソース管理の最適化、cronを利用した監視の自動化まで、実践的な活用方法を紹介します。
- サーバーの稼働状況チェック
- 負荷増加時の対処法(プロセス管理、システムリソース監視)
- ロードアベレージの理解と適切な判断基準
- 高負荷時の対応策(CPU使用率の最適化)
- cronジョブで定期的にuptimeを監視
- まとめ

サーバーの稼働状況チェック
サーバーの負荷状況を素早く把握するために、定期的にuptimeコマンドを実行し、ロードアベレージの推移を監視することが重要です。
特に、負荷が高い時間帯を特定することで、最適なリソース管理やパフォーマンス改善が可能になります。
負荷が高い時間帯を分析
$ uptime
出力例
14:30:15 up 10 days, 3:45, 4 users, load average: 1.80, 2.10, 2.30

サーバーの負荷が高い時間帯を知るにはどうすればいいですか?

uptime
を定期的に実行して記録すると、どの時間帯に負荷が高くなるのかが分かるよ。

それを自動化する方法はありますか?

cronを使って定期的にログを取れば、負荷の推移を簡単に追跡できるよ。
負荷増加時の対処法(プロセス管理、システムリソース監視)
負荷が高くなったら、top
や htop
でCPU使用率の高いプロセスを特定し、必要に応じて対処する。
$ top

ロードアベレージが高いときは、何をチェックすればいいですか?

top
や htop
を使って、CPUを大量に消費しているプロセスを特定するといい。

高負荷のプロセスを見つけたらどうすればいいですか?

必要ならkill
コマンドで停止するか、システムリソースを最適化する方法を検討しよう。
topコマンドについては以下の記事で紹介しているのでよかったら見てみてください!
ロードアベレージの理解と適切な判断基準
ロードアベレージの計算方法と意味
ロードアベレージ(load average) は、システムのCPUにどれだけの負荷がかかっているかを示す指標です。
以下の3つの値が表示されます。
load average: 1.20, 0.80, 0.75
- 1分平均値(1.20): 直近1分間の平均負荷
- 5分平均値(0.80): 直近5分間の平均負荷
- 15分平均値(0.75): 直近15分間の平均負荷

ロードアベレージの数値は、どれくらいが正常ですか?

CPUのコア数と比較して判断するのが基本だよ。

例えば4コアのサーバーでロードアベレージが4を超えたらヤバいですか?

その通り。ロードアベレージがCPUコア数を大きく超えると、システムが処理しきれない状態になっている可能性がある。

1分・5分・15分の平均値の使い分け
- 1分の値 → 短期的な負荷の変動をチェック
- 5分の値 → 一時的なスパイクが落ち着くかを確認
- 15分の値 → 長期的な負荷傾向を把握

どの値を見ればいいんですか?

短期の変動を見るなら1分、安定した負荷を見るなら15分。通常は5分値を基準にすることが多い。
高負荷時の対応策(CPU使用率の最適化)
高負荷状態が続く場合、以下の対応を検討しましょう。
- 不要なプロセスを停止 (
kill
,pkill
) - 優先度の低いプロセスを制限 (
nice
,renice
) - cronジョブの実行タイミングを調整
- 負荷の高いプロセスを識別し、最適化
$ ps aux --sort=-%cpu | head

CPU使用率が高すぎるとき、どうやって制御すればいいですか?

nice
や renice
でプロセスの優先度を下げると、影響を抑えられるよ。

psコマンドについては以下の記事で紹介しているのでよかったら見てみてください!
スポンサーリンクcronジョブで定期的にuptimeを監視
uptime の結果をログに保存する方法
定期的にロードアベレージを記録するには、cronを使ってログを自動保存する。
*/5 * * * * /usr/bin/uptime >> /var/log/uptime.log

サーバーの負荷を定期的に記録するにはどうすればいいですか?

cronを設定して、5分おきにuptime
の結果をログに保存するといい。
負荷が高い場合に自動通知するスクリプトの作成
一定のロードアベレージを超えたら通知するスクリプトを作成する。
#!/bin/bash
THRESHOLD=5.0
LOAD=$(uptime | awk '{print $(NF-2)}' | sed 's/,//')
if (( $(echo "$LOAD > $THRESHOLD" | bc -l) )); then
echo "High load detected: $LOAD" | mail -s "Server Load Alert" admin@example.com
fi

負荷が高くなったら自動で通知できませんか?

mail
コマンドを使えば、ロードアベレージが一定以上になったときにメール通知できるよ。

おお、これは便利ですね!
まとめ
- uptimeで負荷の推移を確認し、定期的にログを記録
- 高負荷時は
top
,htop
,ps aux
でプロセスを特定 - cronを使い自動監視、スクリプトで通知を設定
- ロードアベレージの適切な判断基準を理解し、負荷の最適化を行う
このように、uptimeコマンドを活用することで、サーバーの安定稼働を効率的に管理できます。

uptimeコマンドを使ったサーバー監視の自動化
uptimeコマンドは手動で実行するだけでなく、シェルスクリプトや監視ツールと組み合わせることで、サーバーの負荷状況を自動で監視し、異常が発生した際にアラートを送ることができます。
ここでは、シェルスクリプトによる監視の自動化や、ZabbixやNagiosを活用した高度な監視手法を紹介します。

シェルスクリプトで自動監視&通知
uptime の出力を監視し、異常時にメール通知
ロードアベレージが閾値を超えた場合に通知するシェルスクリプトを作成し、サーバーの負荷異常を検知できるようにします。
#!/bin/bash
THRESHOLD=5.0 # 閾値(CPUコア数に応じて調整)
LOAD=$(uptime | awk '{print $(NF-2)}' | sed 's/,//')
if (( $(echo "$LOAD > $THRESHOLD" | bc -l) )); then
echo "High load detected: $LOAD" | mail -s "Server Load Alert" admin@example.com
fi

サーバーの負荷が高くなったときに、自動で通知できるようにしたいんですが…

シェルスクリプトを使えば、ロードアベレージが一定以上になったらメール通知できるよ。

これは便利ですね!負荷異常が発生してもすぐに気づけそうです。
cron と組み合わせた監視スケジュールの設定
このスクリプトをcronに登録すれば、定期的に実行し、自動で負荷監視を行うことができます。
*/5 * * * * /path/to/script.sh
ZabbixやNagiosと組み合わせた監視
uptimeデータをグラフ化して傾向を分析
ZabbixやNagiosなどの監視ツールを利用すると、uptime
のデータを収集し、グラフ化することで、負荷の傾向をより詳細に分析できます。

過去の負荷データを見たいんですけど、uptime
の結果って記録できますか?

ログに保存する方法もあるけど、ZabbixやNagiosを使えば、負荷の推移をグラフで確認できるよ。

おお、リアルタイムで監視できるんですね!
異常検知の閾値設定とアラート機能
監視ツールでは、ロードアベレージが一定の閾値を超えた場合にアラートを発報し、管理者に通知することが可能です。

NagiosやZabbixって、どうやってアラートを出すんですか?

閾値を設定しておけば、ロードアベレージが高くなったときにメールやSlackで通知が来るよ。

シェルスクリプトよりも高度な監視ができそうですね!

その通り。システム全体の監視には、こうしたツールを導入すると便利だよ。

uptimeコマンドで効率的にサーバー管理を行おう
uptimeコマンドは、サーバーの負荷監視において手軽かつ有用なツールです。
基本的な使い方から、ログ記録、監視の自動化、他の監視ツールとの連携まで、幅広く活用できます。

uptimeの基本的な使い方と応用例の復習
機能 | コマンド |
---|---|
稼働時間・負荷を確認 | uptime |
システムの起動時刻を確認 | uptime -s |
稼働時間のみ表示 | uptime -p |
負荷の記録 | uptime >> /var/log/uptime.log |

結局、uptime
ってどんなときに使うのが一番いいんでしょうか?

システムの負荷をざっくり確認するのに最適だね。手軽に監視できるから、最初に確認するべきコマンドだよ。

でも、もっと細かい情報が欲しいときは?

その場合は、top
やhtop
で詳細を確認しよう。ログインユーザーの情報が必要ならw
コマンドも使える。

監視を自動化したい場合は?

シェルスクリプト+cronで簡易的な監視を行えるし、本格的な監視ならZabbixやNagiosを導入するといい。


ゴリタン
インフラエンジニアとして、ネットワークとサーバーの運用・保守・構築・設計に幅広く携わり、
現在は大規模政府公共データの移行プロジェクトを担当。
CCNPやLPICレベル3、AWSセキュリティスペシャリストなどの資格を保有しています。