linux计算服务器最近一次重启的时间

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

这个命令要分成两个来看,首先是取出了/proc/uptime文件中的第一个数字,也就是当前机器已运行的时间,假设为$X 秒

date -d "$X second ago" 意思是取 X秒前的时间,并按照"%Y-%m-%d%H:%M:%S"的形式输出。这是date命令的用法

因此, second ago 不是awk中出现的,而是date命令的一种表述用法,用于计算出若干秒前的时间,
整个命令的最终作用就是计算出机器最近一次启动的时间
second:秒
ago:之前
有关/proc/uptime这个文件里两个参数所代表的意义:

[root@app ~]#cat /proc/uptime 
3387048.81 3310821.00

第一个参数是代表从系统启动到现在的时间(以秒为单位):
3387048.81秒 = 39.20195381944444天,说明这台服务器已连续开机39.20195381944444天

 第二个参数是代表系统空闲的时间(以秒为单位):

3310821.00秒 = 38.3196875天,说明这台机器从开机到现在一共只有38天左右没事干。

 计算一下空闲率:

3310821.00 / 3387048.81 = 0.9774943278718207

也就是说:它的空闲率是97%

 空闲率高低并不意味着,它做的工作很多,还有跟服务器的配置和性能有很大的关系,这台服务器有这么低的空闲率,或者说这么高的利用率,是因为它的配置比较低。

 空闲率跟服务器的配置有很大的关系,服务器的性能越好,配置越高,它处理的速度越快,配置高的服务器处理的时间要小于配置低的服务器。

 从空闲时间,你就可以判断你的服务器负载是否过大,看一下是不是有导常情况发生,如果空闲时间很小,说明你的服务器已经在满负荷运行,然后决定是不是需要升级你的服务器。

原文地址:https://www.cnblogs.com/python-cat/p/8029112.html