Linux Server Uptime Command To Find Out How Long The System Has Been Running

last updated in Categories ,

I would like to find out how long the system has been running under a UNIX or Linux operating system. How do I find out system uptime? How to tell how long the Linux system has been running on?

Both Linux and Unix-like systems comes with various command to find out server uptime command. Under Linux file /proc/uptime has uptime information and file /var/run/utmp has information about who is currently logged on. However, information from /proc or utmp file is not directly readable by humans so you need to use the following commands.

UNIX / Linux uptime command

Open a command-line terminal (select Applications > Accessories > Terminal), and then type the following commands:
$ uptime
Sample outputs:

 21:54:11 up 13 days,  4:29,  1 user,  load average: 0.21, 0.21, 0.12

The uptime command gives a one line display of the following information.

  • The current time (21:54:11)
  • How long the system has been running (up 13 days)
  • How many users are currently logged on (1 user)
  • The system load averages for the past 1, 5, and 15 minutes (0.21, 0.21, 0.12)

See uptime in pretty format pass the -p option to the uptime command

$ uptime -p
Sample outputs:

up 3 days, 2 hours, 11 minutes

This is the same information contained in the header line displayed by the w command and top command:
$ w
Sample outputs:

 21:56:06 up 13 days,  4:31,  1 user,  load average: 0.03, 0.14, 0.09
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    21:54    0.00s  0.02s  0.00s vi

$ top
Sample outputs:

Fig.01: UNIX uptime top command output
Fig.01: UNIX uptime top command output

Please note that the w command displays who is logged on and what they are doing while top command provides a dynamic real-time view of a running Linux/UNIX/BSD operating systems.

See also

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

20 comment

  1. The only problem with the uptime command is that it isn’t always obvious what units of measure to the time it has been up. Just a bit confusing for those new to it, especially those from the Windoze world trying to come over to Linux. Just fleshing out the units (up 5 hours:54 minutes (days:hours:minutes)) on this would certainly help in bringing more over, especially if we can get into the man&info pages.

    1. $ uptime
      07:55:56 up 3 days, 17:37, 6 users, load average: 0.04, 0.06, 0.01

      by default it will give how many days the OS is up, and how many hours:mins.
      if it less than 1 day, it will give only hours:mins.

  2. How do I get only time information excluding other load information

    # 1. run Command
    # 2. strip unneeded leading data
    # 3. check if the uptime is greater than 24 hours
    # 4. make the output human readable
    # 5. trim any leading space

    uptime | \
    sed s/^.*up// | \
    awk -F, '{ if ( $3 ~ /user/ ) { print $1 $2 } else { print $1 }}' | \
    sed -e 's/:/\ hours\ /' -e 's/ min//' -e 's/$/\ minutes/' | \
    sed 's/^ *//'
  3. @Kunal It’s 4 hours and 29mins. So from the output the server uptime is 13 days, 4 hours and 31 mins.

  4. Did you see the output within one hour of startup? Is it, e.g. 0:15, :15 or 15 for the 15 minutes after startup?

  5. On most systems you can do cat /proc/uptime if you’re only interested in the uptime. The first number is how many seconds the system has been up for, and the second number is how many seconds it’s spent idle.

  6. How can i see the only up time without any other information is there Any command to know only the Uptime i mean to say the if i issue a command it should print 21:54:11 up 13 days, 4:29

    Still, have a question? Get help on our forum!