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

Posted on in Categories , last updated August 6, 2016

I‘d like to find out how long the system has been running under UNIX or Linux operating system. How do I find out system uptime?

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)

This is the same information contained in the header line displayed by the w and top commands:
$ 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    123.xxx.yy.zzz    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.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

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. 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.

  4. 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

Leave a Comment