
BIOSまたはCPUでLinuxシステムの総実行時間を読み取る方法はありますか?
dmidecodeでBIOS情報を取得しました。しかし、それが提供するリリース日は私の問題には適していません。
それから私はチェックアウトしました/proc
。ただし、最後の再起動以降の稼働時間値は保持されます。おそらく起動するたびにこれらの稼働時間値を作成することがオプションかもしれません。
それから私はそれを見つけましたdumpe2fs
。特定のハードドライブの合計実行時間を提供します。私のアプリケーションの実行中にハードドライブが変更される可能性があるため、これは私には役に立ちません。
上記に加えて、システムの総実行時間を読み取るか計算するにはどうすればよいですか?どこで読むことができますか?
答え1
私が知っている限り、これはファームウェアが追跡するものではありません。 BMCでさえ、総稼働時間を測定しません。
これは以前のリリースの稼働時間の記録には役立ちませんが、次のツールをインストールして今の稼働時間の記録を開始できます。uptimed
値を決して捨てないように設定します(LOG_MAXIMUM_ENTRIES
から0に設定uptimed.conf
)。これは、合計CPU「オン」時間ではなくOSの稼働時間を測定しますが、十分に近いはずです。起動して実行すると、実行して合計を表示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
指摘したとおり非現実的な、ログを見ると、過去の稼働時間がわかります。 systemdを実行している場合journalctl --list-boots
。ただし、ログの回転により、かなりの稼働時間の損失が発生する可能性があります。
指摘したとおりジェイドBP、last reboot
関連する稼働時間を含むより長い起動リストを提供できます。
答え2
オペレーティングシステムからその情報を取得するのに問題がない場合は、次のものを使用できます。開始時間システムの競合を含む、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
あるいは、listパラメータを使用して、終了イベント(不良(衝突)または正常(終了プロセス後))を理解できるすべての履歴イベントのリストを取得できます。
# 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
情報はその情報に関連する特定のデータベースファイルに保存されます。
インストールにLinuxを使用すると仮定すると、Debianとその派生パッケージでパッケージを使用できます。
# apt-get install tuptime
そうでない場合は、リポジトリからインストールスクリプト「tuptime-install.sh」を取得できます。 https://github.com/rfrail3/tuptime/