00. 目录
01. 命令概述
uptime命令能够打印系统总共运行了多长时间和系统的平均负载。uptime命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
02. 命令格式
uptime [参数]
03. 常用选项
-p | 以漂亮的格式显示机器正常运行的时间 |
---|---|
-s | 系统自开始运行时间,格式为yyyy-mm-dd hh:mm:ss |
-h | 显示帮助信息 |
04. 参考示例
4.1 显示当前系统运行负载情况
[deng@redhat ~]$ uptime
10:23:46 up 1 day, 12:19, 3 users, load average: 0.00, 0.01, 0.11
[deng@redhat ~]$
4.2 使用-p参数显示机器正常运行的时间
[deng@redhat ~]$ uptime -p
up 1 day, 12 hours, 19 minutes
[deng@redhat ~]$
4.3 使用-s参数显示机器启动时间
[deng@redhat ~]$ uptime -s
2019-07-28 22:04:08
[deng@redhat ~]$
4.4 系统运行负载说明
[deng@redhat ~]$ uptime
10:23:46 up 1 day, 12:19, 3 users, load average: 0.00, 0.01, 0.11
10:23:46 表示当前时间
up 1 day, 12:19 系统运行时间
3 users 正在登录的用户数
load average: 0.00, 0.01, 0.11 依次是 1分钟,5分钟,15分钟的平均负载(load average)
4.5 相关解释
平均负载:
简单来说,平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和CPU使用率并没有直接关系。
最理想的平均活跃进程数
就是刚好每个CPU上都刚好运行着一个进程,这样每个CPU都得到了充分的利用。比如平均负载为4时意味着什么呢?
- 在只有4个CPU的系统上,意味着所有的CPU都刚好被完全占用。
- 在8个CPU的系统上,意味着CPU有50%的空闲。
- 而在有2个CPU系统上,意味着有一半的进程竞争不到CPU。
平均负载为多少时合理
平均负载比CPU个数大的时候,系统就已经出现了过载。
- 如果1分钟,5分钟,15分钟的三个值基本相同,或者相差不大,那就说明系统负载很平稳。
- 如果1分钟的值远小于15分钟的值,就说明系统最近1分钟负载在减少,而过去15分钟内却有很大负载。
- 反之则相反,如果1分钟的值远大于15分钟的值,说明近1分钟负载在增加,这种情况可能是临时性的,也可能还会持续,要持续观察,一旦1分钟的平均负载超过了CPU的数量,意味着系统正在发生过载的问题。
例如:一个单核系统上,平均负载为1.78,0.60,6.56,说明1分钟内,系统有78%的超载,而在15分钟内有556%的超载。
实际生产中,平均负载多高时需要关注
平均负载高于CPU数量70%时,就应该分析排查负载高问题了。
平均负载与CPU使用率
- CPU密集型进程,使用大量CPU会导致平均负载升高,此时两者时一致的。
- I/O密集型进程,等待I/O也会导致平均负载升高,但CPU使用率不一定很高。
- 大量等待CPU的进程调度也会导致平均负载升高,此时的CPU使用率也会比较高。