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%

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

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

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

posted @   什么都不会的小郭  阅读(3253)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示