红联Linux门户
Linux帮助

取得linux系统运行时间与系统启动时间

发布时间:2015-11-01 09:18:45来源:linux网站作者:linux_zhu

查看系统运行时间与负载,使用uptime命令

$ uptime  
11:23:24 up  2:18,  3 users,  load average: 0.00, 0.01, 0.05 


查看/proc/uptime 文件计算系统启动时间
$ cat /proc/uptime  
8565.04 8236.71 
 
第一个数值代表系统总的运行时间,第二个数值则代表系统空闲的时间,都是用秒来表示的。如果系统里第二个数字比第一个数字还要大,则说明你的cpu是多核的,cpu0上闲了一秒, cpu1上闲了两秒,加起就是三秒。。 


由此可以得出,使用date命令即可计算出系统启动时间。

date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S" 

date -d //显示指定字符串所描述的时间。 
date -d "number second ago" + "%Y-%m-%d %H:%M:%S" //number秒以前的时间,以%Y-%m-%d %H:%M:%S格式显示


查看/proc/uptime 文件还可以计算系统运行时间

命令如下:

cat /proc/uptime| awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系统已运行:%d天%d时%d分%d秒",run_days,run_hour,run_minute,run_second)}' 


脚本如下:

#!/bin/bash 
 
SUMTIME=`awk -F. '{print $1}' /proc/uptime` 
DAY=`echo $[$SUMTIME / 86400]` 
HOUR=`echo $[$SUMTIME % 86400 / 3600]` 
MINUTE=`echo $[$SUMTIME % 3600 / 60]` 
SECOND=`echo $[$SUMTIME % 60]`
printf "$DAY day $HOUR:$MINUTE:$SECOND\n"


php获取Linux系统运行时间:http://www.linuxdiyf.com/linux/1254.html

Linux启动时间的极限优化:http://www.linuxdiyf.com/linux/334.html

Linux下如何查看进程准确启动时间:http://www.linuxdiyf.com/linux/1242.html

Linux下巧用ps得到运行线程个数和线程启动时间:http://www.linuxdiyf.com/linux/5583.html