稼働時間とは、システムの信頼性を示す指標であり、通常はコンピュータなどの機器が継続的に稼働し、利用可能な状態にある期間を表します。稼働時間は、停止時間とは正反対の概念です。

これは、コンピュータのオペレーティングシステムの信頼性や安定性を測る指標としてよく用いられます。なぜなら、この時間は、コンピュータがクラッシュしたり、管理やメンテナンスのために再起動する必要が生じることなく、無人で放置できる時間を表すからです。
逆に、長時間稼働は怠慢を示している可能性があり、一部のプラットフォームでは重要なアップデートに再起動が必要になる場合がある。[ 1 ]
2005年、ノベルは6年間稼働したサーバーを報告した。[ 2 ] [ 3 ]このレベルの稼働率は、サーバーが産業環境で維持され、銀行システムなどの重要なアプリケーションをホストする場合によく見られる。
Netcraftは、数千台ものウェブホスティングコンピュータの稼働時間記録を管理しています。
Novell NetWareを実行しているサーバーが、ハードディスクの故障により 16 年間の稼働後にシャットダウンされたと報告されている。[ 4 ] [ 5 ]
Linux、FreeBSD、Mac OS X、SysVr4など、ほとんどのUnix系システムにはuptimeコマンドが搭載されています。このコマンドは、過去1分、5分、15分間隔のシステム負荷平均値も表示します。
user@Linux$ uptime 18:17:07 up 68 days, 3:57, 6 users, load average: 0.16, 0.07, 0.06 user@BSD$ uptime 3:01AM up 69 days, 7:53, 0 users, load averages: 0.08, 0.07, 0.05このコマンドは3.0BSDで誕生し、それ以来 Unix システムで広く使われるようになりました。[ 6 ]ほぼ常に同じ情報を提供し、非常に広く使われているにもかかわらず、SUS や POSIX などの Unix 関連の標準には含まれていません。
Linuxでは、uptimeコマンドはGNU coreutils、BusyBox、Toyboxの一部です。
BSDでは、uptimeコマンドはwプログラムにハードリンクされています。[ 7 ] wプログラムはRSTS/E、TOPS-10、TOPS-20のSYSTATプログラムに基づいています。[ 8 ]
各Unix系システムには、システムの稼働時間を取得するための独自のプライベートインターフェースも備わっている。
Linuxでは、いくつかのprocfsファイルがシステムの稼働時間に関する情報を提供します。メインファイルはです/proc/uptimeが、/proc/stat関連情報も提供します。[ 9 ]
$ cat /proc/uptime 350735.47 234388.90最初の数値は、システムが稼働している合計秒数です。2 番目の数値は、そのうちマシンがアイドル状態だった時間(秒)です。[ 10 ]マルチコアシステム(および一部の Linux バージョン)では、2 番目の数値は各 CPU によって蓄積されたアイドル時間の合計です。[ 11 ]
BSD システムおよびmacOS (BSD と XNU の部分の組み合わせ) では、稼働時間情報はsysctlシステムから、 sysctlコマンドとC 関数の両方の形式で取得できますsysctl()。sysctl エントリは と呼ばれkern.boottime、起動時間を提供し、それを現在の時刻から減算することで稼働時間に変換できます。[ 13 ]
$ sysctl kern.boottime kern.boottime: { sec = 1271934886, usec = 667779 } 2010 年 4 月 22 日木 12:14:46macOS は、実装定義の開始点を持つ POSIX インターフェイスとして稼働時間も提供しますclock_gettime(CLOCK_MONOTONIC_RAW)。macOS はシステム起動時に開始点を設定します。[ 14 ]mach_timebase_info()および は、CACurrentMediaTime()同じ生の単調クロックにアクセスするための追加の方法です。
FreeBSD (macOS を除く) では、カーネルは C 言語で変数として使用できる 3 つのシンボルをエクスポートし、extern起動時間と稼働時間を取得します。これらはboottime、、、time_secondおよびと呼ばれますtime_uptime。これらは、とは異なり、使用するために関数呼び出しをまったく必要としませんsysctl()。[ 15 ]より高精度の稼働時間は、などの関数から提供されますmicrouptime()。[ 16 ]

Microsoft Windowsの一部のバージョンでは、 Windowsタスクマネージャーの「パフォーマンス」タブに稼働時間フィールドが表示されます。形式はD:HH:MM:SS(日、時、分、秒)です。
コマンドの出力には、systeminfo「システム稼働時間」[ 17 ]または「システム起動時間」フィールドが含まれます。
C:\> systeminfo | findstr "Time:"システム稼働時間: 0 日 8 時間 7 分 19 秒表示されるテキストと形式は、言語と地域によって異なります。表示される時刻は信頼できません。スリープ状態や休止状態systeminfoに費やされた時間は考慮されていないためです。したがって、コンピュータがスリープ状態または休止状態になるたびに、起動時刻は少しずつ進んでいきます。
このNETコマンドとそのサブコマンドは、と のSTATISTICS両方のバリアントについて、コンピュータが起動した日時を提供します。このコマンドは の省略形です。[ 18 ]正確なテキストと日付の形式は、設定されている言語とロケールによって異なります。NET STATISTICS WORKSTATIONNET STATISTICS SERVERNET STATS SRVNET STATISTICS SERVER
C:\> NET STATISTICS WORKSTATION | findstr "since" 2009年8月31日午後8時52分29秒以降の統計情報稼働時間は、 Windows Management Instrumentation (WMI)を使用してクラスLastBootUpTimeのプロパティを照会することで確認できますWin32_OperatingSystem。[ 19 ]コマンドプロンプトでは、次のコマンドを使用して実行できますwmic。
C:\> wmic os get lastbootuptime LastBootUpTime 20110508161751.822066+060タイムスタンプは の形式を使用するyyyymmddhhmmss.nnnため、上記の例では、コンピュータが最後に起動したのは 2011 年 5 月 8 日 16:17:51.822 です。「LastBootUpTime」というテキストとタイムスタンプの形式は、言語やロケールによって変わりません。WMI は、VBScriptやPowerShellなど、さまざまなアプリケーション プログラミング インターフェイスを使用して照会することもできます。[ 20 ] [ 21 ]
Uptime.exeマイクロソフトは以前、経過時間を日、時間、分、秒で報告するダウンロード可能なユーティリティを提供していました。 [ 22 ]
C:\>稼働時間 SYSTEMNAME の稼働時間: 2 日 4 時間 24 分 47 秒表示される時間は信頼できません。スリープや休止状態Uptime.exeに費やされた時間は考慮されていないためです。したがって、コンピュータがスリープまたは休止状態になるたびに、起動時間は少しずつ進んでいきます。
このコマンドはFreeDOSuptimeでも利用可能です。このバージョンはM. Aitchisonによって開発されました。[ 23 ]
OpenVMSシステムでは、このコマンドをDCL コマンド プロンプトshow systemで使用して、システムの稼働時間を取得できます。結果として表示される最初の行には、システムの稼働時間が日数、続いて時間:分:秒の順で表示されます。次の例では、コマンド修飾子により、プロセスごとの詳細情報行の表示が抑制されます。[ 24 ]/noprocess
$ show system/noprocess OpenVMS V7.3-2 on node JACK 29-JAN-2008 16:32:04.67 Uptime 894 22:28:52上記のコマンド出力は、2008年1月29日16時32分04.67秒時点で、ノードJACKの稼働時間が894日22時間28分52秒であることを示しています。
ln ${DESTDIR}/usr/ucb/w ${DESTDIR}/usr/ucb/uptime
このプログラムは、Tenex/Tops 10/20 の systat コマンドに似ています。
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)