Uptime
Uptime is a measure of system reliability, expressed as the period of time a machine, typically a computer, has been continuously working and available. Uptime is the opposite of downtime.

It is often used as a measure of computer operating system reliability or stability, in that this time represents the time a computer can be left unattended without crashing or needing to be rebooted for administrative or maintenance purposes.
Conversely, long uptime may indicate negligence, because some critical updates can require reboots on some platforms.[1]
Records
[edit]In 2005, Novell reported a server with a 6-year uptime.[2][3] This level of uptime is common when servers are maintained under an industrial context and host critical applications such as banking systems.
Netcraft maintains the uptime records for many thousands of web hosting computers.
A server running Novell NetWare has been reported to have been shut down after 16 years of uptime due to a failing hard disk.[4][5]
Determining system uptime
[edit]Unix-like systems (Linux, FreeBSD)
[edit]Using uptime
[edit]Most Unix-like systems including Linux, FreeBSD, Mac OS X, and SySVr4 have the uptime command. It also displays the system load averages for the past 1, 5, and 15-minute intervals:
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
This command originated in 3.0BSD and has become ubiquitous among Unix systems ever since.[6] Despite almost always providing the same collection of information and being so ubiquitous, it is not part of any Unix-related standard, neither SUS nor POSIX.
On Linux, the uptime command is part of coreutils.
On BSD, the uptime command is hard link to the w program.[7] The w program is based on the RSTS/E, TOPS-10, and TOPS-20 SYSTAT program.[8]
Using system-specific interfaces
[edit]Each Unix-like system also has its own private interfaces for obtaining the system uptime.
Linux
[edit]On Linux, several procfs files provide information on the system uptime. The main file is /proc/uptime, but /proc/stat provides related information too.[9]
$ cat /proc/uptime
350735.47 234388.90
The first number is the total number of seconds the system has been up. The second number is how much of that time the machine has spent idle, in seconds.[10] On multi-core systems (and some Linux versions) the second number is the sum of the idle time accumulated by each CPU.[11]
The C API for uptime information is sysinfo().[12]
BSD
[edit]On BSD systems and macOS (a combination of BSD and XNU parts), the uptime information is available from the sysctl system, both in the form of the sysctl command and the sysctl() C function. The sysctl entry is called kern.boottime, which provides boot time that can be converted to an uptime by subtracting it from the current time:[13]
$ sysctl kern.boottime
kern.boottime: { sec = 1271934886, usec = 667779 } Thu Apr 22 12:14:46 2010
macOS also provides the uptime as clock_gettime(CLOCK_MONOTONIC_RAW), a POSIX interface with implementation-defined starting point; macOS sets the starting point at system boot.[14]. mach_timebase_info() and CACurrentMediaTime() are additional ways to access the same raw monotonic clock.
On FreeBSD (but not macOS), the kernel exports three symbols that can be used as extern variables in C to obtain the boot time and uptime. They are called boottime, time_second, and time_uptime. These require no function call at all to use, unlike sysctl().[15] Higher-precision uptime is provided from functions such as microuptime().[16]
Microsoft Windows
[edit]Windows Task Manager
[edit]
Some versions of Microsoft Windows include an uptime field in Windows Task Manager, under the "Performance" tab. The format is D:HH:MM:SS (days, hours, minutes, seconds).
systeminfo
[edit]The output of the systeminfo command includes a "System Up Time"[17] or "System Boot Time" field.
C:\>systeminfo | findstr "Time:"
System Up Time: 0 days, 8 hours, 7 minutes, 19 seconds
The exact text and format are dependent on the language and locale. The time given by systeminfo is not reliable. It does not take into account time spent in sleep or hibernation. Thus, the boot time will drift forward every time the computer sleeps or hibernates.[citation needed]
NET command
[edit]The NET command with its STATISTICS sub-command provides the date and time the computer started, for both the NET STATISTICS WORKSTATION and NET STATISTICS SERVER variants. The command NET STATS SRV is shorthand for NET STATISTICS SERVER.[18] The exact text and date format is dependent on the configured language and locale.
C:\>NET STATISTICS WORKSTATION | findstr "since"
Statistics since 8/31/2009 8:52:29 PM
Windows Management Instrumentation (WMI)
[edit]Uptime can be determined via Windows Management Instrumentation (WMI), by querying the LastBootUpTime property of the Win32_OperatingSystem class.[19] At the command prompt, this can be done using the wmic command:
C:\>wmic os get lastbootuptime
LastBootUpTime
20110508161751.822066+060
The timestamp uses the format yyyymmddhhmmss.nnn, so in the above example, the computer last booted up on 8 May 2011 at 16:17:51.822. The text "LastBootUpTime" and the timestamp format do not vary with language or locale. WMI can also be queried using a variety of application programming interfaces, including VBScript or PowerShell.[20][21]
Uptime.exe
[edit]Microsoft formerly provided a downloadable utility called Uptime.exe, which reports elapsed time in days, hours, minutes, and seconds.[22]
C:\>Uptime
SYSTEMNAME has been up for: 2 day(s), 4 hour(s), 24 minute(s), 47 second(s)
The time given by Uptime.exe is not reliable. It does not take into account time spent in sleep or hibernation. Thus, the boot time will drift forward every time the computer sleeps or hibernates.[citation needed]
FreeDOS
[edit]The uptime command is also available for FreeDOS. The version was developed by M. Aitchison.[23]
OpenVMS
[edit]On OpenVMS systems, the show system command can be used at the DCL command prompt to obtain the system uptime. The first line of the resulting display includes the system's uptime, displayed as days followed by hours:minutes:seconds. In the following example, the command qualifier /noprocess suppresses the display of per-process detail lines of information.[24]
$ show system/noprocess
OpenVMS V7.3-2 on node JACK 29-JAN-2008 16:32:04.67 Uptime 894 22:28:52
The command output above shows that node JACK on 29 January 2008 at 16:32:04.67 has an uptime of 894 days 22 hours 28 minutes and 52 seconds.
See also
[edit]- Availability
- List of POSIX commands
- Maintenance window
- System profiler
- Transmission Control Protocol § TCP timestamps – can allow remote estimation of uptime
- Website monitoring
- Who (Unix) – can display the time the system was booted
References
[edit]- ^ "How to install multiple Windows updates or hotfixes with only one reboot". Microsoft Knowledge Base. 2018-04-17. Retrieved 2024-02-01.
- ^ Kearns, Dave (2005-12-01). "Marathon servers". Network World. IDG Communications. Archived from the original on 2013-05-08. Retrieved 2019-07-11.
- ^ "Uptime Workhorses: Still Crazy after all these Years". Novell Cool Solutions: Trench. Novell. 12 Jan 2006. Archived from the original on 2019-09-06. Retrieved 2019-07-11.
- ^ Bright, Peter (2013-03-29). "Epic uptime achievement unlocked. Can you beat 16 years?". Arc Technica. Condé Nast. Retrieved 2019-07-11.
- ^ Axatax (2013-03-28). "So long to a valiant companion". Ars OpenForum. Condé Nast. Archived from the original on 2014-07-26. Retrieved 2014-07-26.
- ^
- ^ unknown; Bostic, Keith (October 21, 1988). "File usr.bin/w/Makefile artifact". University of California, Berkeley Computer Systems Research Group. Retrieved November 22, 2022.
ln ${DESTDIR}/usr/ucb/w ${DESTDIR}/usr/ucb/uptime
- ^ unknown; Joy, Bill (October 21, 1988). "File usr.bin/w/w.c artifac". University of California, Berkeley Computer Systems Research Group. Retrieved November 22, 2022.
This program is similar to the systat command on Tenex/Tops 10/20
- ^
- ^ Doleželová, Marie; Jahoda, Mirek; et al. "/proc/uptime". Deployment Guide - Red Hat Enterprise Linux 6. Red Hat, Inc. Retrieved 2018-12-12.
- ^ Schwidefsky, Martin (2009-05-11). "Re: [PATCH] Re: /proc/uptime idle counter remains at 0". Linux kernel mailing list (Mailing list). Retrieved 2014-04-22.
- ^ – Linux System Calls Manual from ManKier.com
- ^ "Mac OS X Manual Page For sysctl(8)". Mac Dev Center. Apple. 2009-10-15. Archived from the original on 2010-01-14. Retrieved 2014-04-22.
- ^ "Getting iOS system uptime, that doesn't pause when asleep". Stack Overflow.
- ^ – FreeBSD Kernel Developer's Manual
- ^ – FreeBSD Kernel Developer's Manual
- ^ Shultz, Greg (2005-08-10). "Tracking down uptime in Windows XP". TechRepublic. CBS Interactive. Archived from the original on 2012-07-08. Retrieved 2014-04-22.
- ^ Sinay, Yuval (2006-10-25). "How to find Windows uptime?". Microsoft Knowledge Base. Microsoft. Retrieved 2014-04-22.
- ^ "Win32_OperatingSystem class". Microsoft. 2018-05-30. Retrieved 2019-07-11.
- ^ "How Can I Tell if a Server has Rebooted?". Hey, Scripting Guy! Blog. Microsoft. 2004-09-07. Archived from the original on 2010-05-01. Retrieved 2014-04-22.
- ^ "How Can I Determine the Uptime for a Server?". Hey, Scripting Guy! Blog. Microsoft. 2005-08-02. Archived from the original on 2010-05-15. Retrieved 2014-04-22.
- ^ "Uptime.exe Tool Allows You to Estimate Server Availability with Windows NT 4.0 SP4 or Higher". Microsoft Knowledge Base. Microsoft. 2012-08-20. Archived from the original on 2014-04-24. Retrieved 2014-04-22.
- ^ Aitchison, M. (1998-04-15). "Package uptime in group Unix-like". ibiblio.org. Archived from the original on 2019-07-17. Retrieved 2019-07-11.
- ^ "Undocumented OpenVMS Features". PARSEC Group. 2008-10-29. Archived from the original on 2011-05-11. Retrieved 2014-04-22.