System administrators and Linux experts need a strong understanding of the command line, including the various important commands that help them audit systems. One such command is uptime
.
uptime
is a metric that measures system reliability and stability. It’s represented as the percentage of time that a system remains continuously operational and is available to use. If a system's uptime is high, it indicates that it’s more reliable and stable. Information about uptime is essential, as it helps to monitor how long the system has been running (or up) since the last reboot or shutdown.
uptime
commandJust as it sounds, the uptime
command is used to display how long the system has been running or has remained active. This command retrieves the following information:
You can invoke the uptime
command using the following syntax:
uptime
For example, running the uptime
command on a Linux system will display an output similar to:
20:11:37 up 172 days, 22 min, 4 users, load average: 0.23, 0.54, 0.31
In the above output, 20:11:37
is the system current time; 172
days, 22
min is the system uptime; 4
is the number of active users; and 0.23
, 0.54
, 0.31
are the average system load times for the past one, five, and fifteen-minute durations, respectively.
You can also invoke the uptime command with various options to customize the displayed information using the following syntax:
uptime [options]
The following options are used with uptime
to get specific details about the system:
uptime
commanduptime
version information and exituptime
information in pretty format/proc/uptime
commandYou can also read the /proc/uptime
file to get the system uptime. /proc is a virtual or pseudo-filesystem, also known as a process information pseudo-filesystem. It contains information about the system and the processes it’s currently running. Files in the /proc directory contain detailed information about kernel, processes, system memory, and hardware configuration.
The /proc
file system is generated when the system boots, and it’s removed when the system shuts down.
The /proc
directory contains a file named/uptime that provides the following information:
In a multi-core system, the second value in the /proc/uptime
is the combined idle time of each CPU. For example, if a quad-core CPU is idle for 1 second, then the overall system idle time will be 4 seconds. Consequently, the overall system idle time may be greater than the overall system uptime on multi-core systems.
For example, running the cat /proc/uptime
command on a Linux system regenerates the /proc/uptime file with the following information:
1629.24 4171.98
In the above output, 1629.24
is the system uptime and 4171.98
is the system idle time. Clearly, system idle time is greater than system uptime.
/proc/uptime
There are many commands that display system uptime, such as uptime
, w
, and top
. Unlike the /proc/uptime
file, these commands show the uptime in an attractive format or human-readable form.
So, what’s the use of the /proc/uptime
file if there are already various commands serving the same purpose?
Like any other file in the proc file system, the contents of the /proc/uptime file are generated on the fly. This means that whenever you view the contents of the file, the kernel recalculates the value of uptime and idle time and then displays the result. So, the
file is actually the most accurate source of information for every command that deals with uptime and idle time./proc/uptime
Commands like uptime and w use the output of this file to get uptime measured in seconds and then render them in different formats. Similarly, the top command uses both of the values found in the /proc/uptime
file to calculate the CPU’s idle time percentage.
Another use for the /proc/uptime
file is that you can read it in your custom scripts and use its output for various use cases. For example, if a server needs to be rebooted every month to install the latest security patches and firmware updates, a simple script can be created to continuously read the output of the /proc/uptime
file. As soon as the first value of uptime exceeds 2,592,000 (assuming 30 days in each month), the system will reboot automatically or raise a notification for the system manager.
uptime
vs /proc/uptime
Both the uptime
and /proc/uptime
can be used to view the uptime of a system. The chart below highlights the major differences between them:
uptime |
/proc/uptime |
---|---|
Is a Linux command |
Is a pseudo-file in Linux |
Displays uptime in human-readable format |
Displays uptime by seconds |
Does not display the CPU idle time |
Displays CPU idle time |
Uses the uptime value present in the |
The kernel generates this file on the fly when you display the contents of this file |
Can be used with various options to display customized or filtered uptime information |
Doesn’t provide options to customize or filter uptime information |
Can display the current time, boot time, and system load averages |
Displays only uptime and idle time information |
Linux uptime is an important metric that shows how long the system has been running or how much time has passed since the system last rebooted. It can also be seen as the duration a system can be left unsupervised without crashing.
The uptime
command is one of the most used commands to determine system uptime because it provides additional system information, like current time, number of active users, and load averages. The /proc/uptime
file displays uptime in seconds (instead of the well-understood time format of hours, minutes, and seconds), which can be challenging to comprehend at first. This is perhaps why uptime isn’t as popular a command, or used as widely.
That said, this file is the most accurate source for the uptime
command as well as others—like top and w—that deal with uptime and idle time. The differences mentioned in this article between uptime
and /proc/uptime
can help system administrators and Linux experts judge which command is best suited to their given use case.
Write for Site24x7 is a special writing program that supports writers who create content for Site24x7 “Learn” portal. Get paid for your writing.
Apply Now