web-dev-qa-db-ja.com

マシンの合計ランタイム

BIOSまたはCPUからLinuxシステムの合計実行時間を読み取る方法はありますか?

DmidecodeでBIOS情報を検索しました。しかし、それは私の質問には適切ではないリリース日を与えます。

次に、/procをチェックアウトしました。ただし、最後の再起動からの稼働時間の値が保持されます。おそらく、起動ごとにこれらの稼働時間の値を書き込むことはオプションかもしれません。

次に、dumpe2fsを確認しました。特定のハードドライブの合計実行時間を示します。アプリケーションの実行中にhddが変更される可能性があるので、私には役に立たない。

上記を除いて、システムの合計ランタイムをどのように読み取りまたは計算できますか?どこから読むことができますか?

7
Cumhur Sayan

私の知る限り、これはファームウェアが追跡するものではありません。 BMCでさえ、総稼働時間を測定しません。

これは以前のブートからの過去の稼働時間には役立ちませんが、 uptimed などのツールをインストールし、値を破棄しないように設定することで、今すぐ稼働時間の記録を開始できます( LOG_MAXIMUM_ENTRIESuptimed.confを0に設定します)。これは、CPUの「オン」時間の合計ではなく、オペレーティングシステムの稼働時間を測定しますが、十分に近いはずです... uptimedを実行したら、uprecordsを実行して合計を表示できます。 、 例えば

    up  1492 days, 02:57:18 | since                     Sat Sep  7 00:50:06 2013
  down    61 days, 08:11:24 | since                     Sat Sep  7 00:50:06 2013
   %up               96.051 | since                     Sat Sep  7 00:50:06 2013

quixotic で指摘されているように、ログを確認することで、稼働時間の履歴を把握できます。 systemdを実行している場合は、journalctl --list-bootsを使用してログに記録されたブーツを表示できます。ログのローテーションは、これがかなりの稼働時間を見逃す可能性があることを意味します。

JdeBP で指摘されているように、last rebootを使用すると、関連する稼働時間を含むより長いブーツのリストが表示される場合があります。

10
Stephen Kitt

オペレーティングシステムからその情報を取得するのに問題がない場合は、tuptimeを使用して、Linuxシステムの合計時間の完全なレポートを表示できます。 、システムクラッシュを含みます。

たとえば、デフォルトの出力と再開として:

# tuptime

System startups:    8   since   08:32:29 AM 11/24/2016
System shutdowns:   3 ok   -   4 bad
System uptime:      99.99 %   -   1 year, 195 days, 5 hours, 47 minutes and 14 seconds
System downtime:    0.01 %   -   1 hour, 6 minutes and 34 seconds
System life:        1 year, 195 days, 6 hours, 53 minutes and 48 seconds

Largest uptime:     240 days, 7 hours, 38 minutes and 10 seconds   from   08:41:51 AM 02/07/2017
Shortest uptime:    18 hours, 15 minutes and 14 seconds   from   02:26:05 PM 02/06/2017
Average uptime:     70 days, 0 hours, 43 minutes and 24 seconds

Largest downtime:   45 minutes and 15 seconds   from   10:00:01 AM 03/14/2018
Shortest downtime:  5 seconds   from   02:26:00 PM 02/06/2017
Average downtime:   9 minutes and 31 seconds

Current uptime:     85 days, 4 hours, 41 minutes and 1 second   since   10:45:16 AM 03/14/2018

または、リスト引数を使用してすべての履歴イベントのリストを取得することもできます。これには、シャットダウンイベント、不良(クラッシュ)、またはOK(シャットダウンプロセス後)の状態が含まれます。

# tuptime -l

Startup:  1  at  08:32:29 AM 11/24/2016
Uptime:   46 days, 16 hours, 52 minutes and 32 seconds
Shutdown: BAD  at  01:25:01 AM 01/10/2017
Downtime: 5 minutes and 10 seconds

Startup:  2  at  01:30:11 AM 01/10/2017
Uptime:   27 days, 12 hours, 55 minutes and 49 seconds
Shutdown: OK  at  02:26:00 PM 02/06/2017
Downtime: 5 seconds

Startup:  3  at  02:26:05 PM 02/06/2017
Uptime:   18 hours, 15 minutes and 14 seconds
Shutdown: OK  at  08:41:19 AM 02/07/2017
Downtime: 32 seconds

Startup:  4  at  08:41:51 AM 02/07/2017
Uptime:   240 days, 7 hours, 38 minutes and 10 seconds
Shutdown: BAD  at  05:20:01 PM 10/05/2017
Downtime: 3 minutes and 17 seconds

Startup:  5  at  05:23:18 PM 10/05/2017
Uptime:   7 days, 14 hours, 56 minutes and 43 seconds
Shutdown: BAD  at  08:20:01 AM 10/13/2017
Downtime: 11 minutes and 35 seconds

Startup:  6  at  08:31:36 AM 10/13/2017
Uptime:   25 days, 1 hour, 7 minutes and 4 seconds
Shutdown: OK  at  08:38:40 AM 11/07/2017
Downtime: 39 seconds

Startup:  7  at  08:39:19 AM 11/07/2017
Uptime:   127 days, 1 hour, 20 minutes and 42 seconds
Shutdown: BAD  at  10:00:01 AM 03/14/2018
Downtime: 45 minutes and 15 seconds

Startup:  8  at  10:45:16 AM 03/14/2018
Uptime:   85 days, 4 hours, 42 minutes and 9 seconds

last rebootおよびjournalctl --list-bootsはログから情報を取得し、これらのログには最大の寿命があります。代わりに、tuptimeは専用の特定のdbファイルに情報を格納します。

Linuxを使用していると思われるインストールの場合、パッケージはDebianで利用可能で、次のように派生します。

# apt-get install tuptime

そうでない場合は、リポジトリからインストールスクリプト「tuptime-install.sh」を取得できます。 https://github.com/rfrail3/tuptime/

0
Rfraile