无选项uptime命令会显示一行信息,依次为:当前时间、系统已经运行了多长时间、目前有多少用户登录、系统在过去的1分钟、5分钟和15分钟内的平均负载。输出结果等同于top命令汇总区的第一行。
2.命令格式
uptime[options]
3.选项说明
-p,--pretty采用可读友好的格式输出系统已运行时长-h,--help显示帮助信息-s,--since以格式yyyy-mm-ddHHSSformat输出系统启动时间-V,--version显示版本信息
4.常用示例
(1)查看系统运行时长与平均负载。
uptime2255up445days,9:38,5users,loadaverage:0.08,0.08,0.06
显示的信息依次为:当前时间(2255)、系统已经运行了多长时间(up445days,9:38,表示445天9时38分钟)、目前有多少登录用户(5users)、系统在过去的1分钟、5分钟和15分钟内的平均负载(loadaverage:0.08,0.08,0.06)。
(2)查看系统启动时间。
uptime-s2018-07-201321
(3)只输出系统运行时长。
uptime-pup1year,11weeks,4days,9hours,43minutes
5.拓展知识
5.1什么是系统平均负载
系统平均负载指单位时间内,系统中处于可运行状态和不可中断状态的进程数,也就是平均活跃进程数,他和CPU使用率没有直接关系。
可运行状态的进程指正在使用CPU或正在等待使用CPU的进程,也就是我们常用ps命令看到的,处于R状态(Running或Runnable)的进程。
5.2系统平均负载多少时合理
uptime命令给出的三个时间段的平均负载并不是标准化的,因为系统中CPU核心数量是不定的。所以平均负载为1意味着拥有一个CPU核心的系统一直在忙碌,而在一个拥有4个CPU核心的系统上,意味着系统75%的时间是空闲的。
所以,当系统平均负载除以CPU核心数小于等于1表示系统没有出现过载的情况。最理想的情况是每个CPU上都刚好运行一个进程,这样CPU就得到了充分的利用。
三个时间段统计出的系统平均负载,我们以哪个数字为准?一分钟?五分钟?还是十五分钟?我们应该着眼于五分钟或者十五分钟的平均数值,如果前一分钟的负载情况是1.00,那么仍可以说明认定服务器情况还是正常的,但是如果十五分钟的数值仍然保持在1.00,那么就值得注意了。
另外,读取文件/proc/loadavg可直接查看系统平均负载。
cat/proc/loadavg0.040.030.051/31921900
除了前3个数字表示系统平均负载外,后面的一个分数,分母表示系统进程总数,分子表示正在运行的进程数;最后一个数字表示最近运行的进程ID。
5.3获取系统CPU核心数
使用lscpu命令查看。
或者直接访问文件/proc/cpuinfo获取CPU核心数。
grep‘modelname’/proc/cpuinfo|wc-l6
5.4平均负载与CPU使用率的关系
在日常使用中,我们经常容易把平均负载和CPU使用率混淆,这里我们做下区分。
平均负载是指单位时间内,系统中处于可运行状态和不可中断状态的进程数,所以,他不仅包扩了正在使用CPU的进程,还包括等待CPU和等待I/O的进程。
而CPU使用率,是单位时间内CPU繁忙情况的统计,和平均负载并不一定完全对应。比如:
(1)CPU密集型进程,使用大量CPU会导致平均负载升高,此时这两者是一致的;
(2)I/O密集型进程,等待I/O也会导致平均负载升高,但是CPU使用率不一定很高;
(3)存在大量等待CPU调用的进程也会导致平均负载升高,此时的CPU使用率也会比较高。
给我们公号发送命令二字,获取“每天一个Linux命令”系列的完整目录。
原文标题:每天一个Linux命令(72):uptime命令
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。