web-dev-qa-db-ja.com

Ubuntuの起動時間を知る方法

先月のシステム起動時間のターミナルログから取得する方法。前回のブートコマンドを使用しようとしましたが、月の初めから情報が返されました。

3
webcaptcha

Ubuntuがシステム化されていることは知っていますが、これをUbuntuでテストしたことはありません。 systemdを使用している場合は、次のコマンドが機能するはずです。

systemd-analyze

ブートパフォーマンスを向上させようとしている場合は、次の出力を確認することをお勧めします。

systemd-analyze blame

詳細は Arch Wiki を参照してください

6
Steven Walton

Ubuntuでは、ファイル/var/log/wtmplastはデフォルトでこのファイルからデータを取得します)は、次の構成に従ってlogrotateによってローテーションされます。

/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

ご覧のとおり、ローテーションファイルは毎月ローテーションされ、ローテーションファイルは1つしか存在しないため、/var/log/wtmpには当月のログが含まれ、/var/log/wtmp.1には前月のログが含まれます。それより前のログは保存されません。必要に応じて、この構成を必要に応じて変更できます。

lastコマンドを実行すると、デフォルトでlastによってファイル/var/log/wtmpが読み取られるため、今月のログが表示されます。前月のログは/var/log/wtmp.1に保存されていることがわかっているので、last-fオプションを使用してそのファイルから読み取るように指示できます。

last -f /var/log/wtmp.1

lastbを使用しているときの/var/log/btmpファイルについても同様です。

3
heemayl

最後のブート

who -b

持続するブート(しゃれの意図なし)

last boot
  • これにより、1日目から今日までのブーツが一覧表示されます
2
Archemar

システムブート日付を取得する別の方法は、vmstat(8)を統計モードで-stats引数。

コマンドは次の行を公開します。

...
TIMESTAMP boot time
...

したがって、行はgawk(1)で解析でき、タイムスタンプはdate(1)コマンドを使用して以下のコマンドで人間が読める形式:

  $ TIMESTAMP=$(vmstat --stats | awk '/boot time/{print $1}')
  $ date -d @$TIMESTAMP
  or
  $ date -d @$(vmstat --stats | awk '/boot time/{print $1}')

また、dmesg(1)-T引数とともに使用して、タイムスタンプを人間が読める形式でCommand Lineパターンを検索します。

コマンドラインパターンラインは、カーネルブートコマンドラインと、システムブート時間を提供するカーネルリングバッファー内のタイムスタンプを示します。

$ dmesg -T|grep -i 'Command line'|head -1

これらのアプローチは、Ubuntuディストリビューションだけでなく、すべてのLinuxシステムで機能します。最後に、最も移植性のある方法はwho -bは、Linux、Unix、OSX、FreeBSDなどのシステム間で移植可能であるため、前述のとおりです。

1
sbz