I was wondering how uptime is calculated.

Is it simply the difference between now and boot time? More specifically-- If I were to boot up, run for 5 minutes, and put the machine to sleep for a year; Upon resuming, would my uptime show 5 minutes, or 1 year and 5 minutes?

I find the verbiage in the man page a little vague on this point:

uptime - Tell how long the system has been running.


It depends on the system you are talking about. For Linux-based systems, you probably are using uptime from procps, which reads the data from /proc/uptime.

To see this, read the source-code in its Git repository, e.g., uptime.c, which uses proc/sysinfo.c.

According to CentOS documents

3.2.30. /proc/uptime

This file contains information detailing how long the system has been on since its last restart. The output of /proc/uptime is quite minimal:

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.

But the source-code in uptime.c ignores the idle value. Because the system is powered on, I would expect it to reflect the elapsed time.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.