[Ubuntu] <uptime>命令

uptime 命令 就是查看系统启动时间的,前几个大家应该都很熟悉:当前时间、系统启动时间、正在登陆的用户数
最后的三个数字,分别代表过去 1分钟 5分钟 15分钟 的平均负载(Load Average) .
什么是平均负载?
平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它不仅包括了正在使用CPU的进程,也包括了等待CPU和等待I/O的进程。它和CPU使用率没有直接关系。
平均负载 可以简单理解为活跃进程数的平均值(实际上为活跃进程数的指数衰减值)
平均负载多少时比较合理?
对于这个问题,你首先应该知道你的电脑有多少个CPU,CPU的个数我们可以通过文件 /proc/cupinfo 来直接获取。具体命令如下

,从上面结果可以看到,我的cpu个数为 8
从最后这三个数据看出整个系统性能的趋势状态
在这里把 1分钟 5分钟 15分钟 这三个时间点代表的数值分别用 A B C 来代替
• 如果 A B C 三个数值基本在相同,则说明在这段时间里,系统负载相对平稳
• 如果 A 远小于 C 的值,则表示在这段时间内系统负载有减小的趋势
• 如果 A 远大于 C 的值,则表示在这段时间内系统负载有增大的趋势
在实际生产工作中,当平均负载高于CPU数量的70%(即1.70)的时候,我们就应该排查高负载的原因了,在这种高族在的情况下,可能导致进程响应变慢,从而影响系统的性能。
CPU使用率,是单位时间内CPU繁忙情况的统计,跟平均负载不完全对应。
• CPU密集型进程,也就是进程不停占用CPU,这样会导致平均负载升高,此时二者是一致的
• I/O密集型进程,这样的进程不会一直占用CPU,但是会提高平均负载,但CPU的使用率不一定高
• 大量等待CPU进程的调度也会导致平均负载升高,此时CPU的使用率也会比较高
利用平均负载提高系统性能:无非就是找到异常的进程,然后将异常进程干掉,以此来提高系统性能。
举个例子:
首先在电脑里安装两个程序:
• stress 是Linux系统压力测试工具,用它来作为异常进程来模拟负载升高的情景
• sysstat 包含Linux系统成用的性能工具,用来监控和分析系统的性能
1. 安装:
sudo apt install stress
sudo apt install sysstat
2. 打开第一个终端,启动stress
stress --cpu 1 --timeout 600

3.打开第二个终端,用uptime查看平均负载,1分钟平均负载慢慢升高到1.53(可以在启动stress后1分钟再看,这样第1分钟和第15分钟差距很明显)
uptime

4.打开第三个终端,用mpstat查看CPU使用率变化情况
mpstat -P ALL 5

可以看到第4号cpu使用率达到了100%
5.打开第四个终端,用pidstat来查询是哪个进程导致了cpu使用率为100%
pidstat -u 5 1

可以看到是stress进程导致了cpu使用率达到了100%,进程ID 为 5863
6.用kill命令干掉进程
kill 5863
[Ubuntu] <uptime>命令的更多相关文章
- ubuntu命令大全
一.文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls -l 列出当前目录下文件的详细信息 cd .. 回当前目录的上一级目录 cd - 回 ...
- ubuntu命令行下java工程编辑与算法(第四版)环境配置
ubuntu命令行下java工程编辑与算法(第四版)环境配置 java 命令行 javac java 在学习算法(第四版)中的实例时,因需要安装配套的java编译环境,可是在编译java文件的时候总是 ...
- Ubuntu命令整理
linux下find命令的使用和总结 - CS408 - 博客园 ubuntu 命令简写和全称 su:Swith user 切换用户,切换到root用户 cat: Concatenate 串联 u ...
- Ubuntu命令基础
Ubuntu命令基础 1.打开终端窗口快捷键. Ctrl+alt+t 2.更新设置root密码. $sudo passwd root 3.切换到root用户用su,前提是自己设置了root密码(看 ...
- ubuntu命令错误集
1.在ubuntu命令行使用rz从windows传输文件时出现乱码 解决方法:使用 rz -e 选项进行传输,一般小文件传输不用加 -e 选项,大文件传输需要.
- 改变Ubuntu命令行 用户名显示前缀
改变Ubuntu命令行 用户名显示前缀 1.修改命令 [root@daokr ubuntu]#vim ~/.bashrc 修改第 56行 注释掉原来 # PS1='${debian_chroot:+( ...
- Ubuntu命令行操作
一.文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls -l 列出当前目录下文件的详细信息 cd .. 回当前目录的上一级目录 cd - 回 ...
- Ubuntu命令集(持续更新)
Ubuntu命令集,生活工作汇总,没有顺序.(持续更新...) 1 pwd:没有参数,在终端现实我们当前所处的文件夹位置:ctrl+l:清除当前终端屏: 2 --------------------- ...
- ubuntu命令行打开html文件的方法
1.Ctrl+Alt+T可以打开shell,F11可以全屏显示,输入以下命令即可打开js17.html,并且指定浏览器,比如指定chrome, 复制代码 代码如下: google-chrome js1 ...
- ubuntu命令行相关命令使用心得
一.Ubuntu解压缩zip,tar,tar.gz,tar.bz2 ZIP zip可能是目前使用得最多的文档压缩格式.它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac ...
随机推荐
- mysql5.6编译安装
1.安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl -y yum -y install wget gcc-c++ ncurses nc ...
- ActiveRecord初始化,可以实现jfinal系统启动完成后,再建立数据库连接
1.JFinalConfig的afterJFinalStart方法,可以实现系统启动成功后,调用的方法 2.ActiveRecord 多数据源初始化 package com.meiah.common; ...
- oracle 11G dataguard 恢复
检查主备机的sys 密码是否一致,忘记密码可以修改,同步 .alter user sys identified by xxx: orapwd file=oraxxx.ora password=admi ...
- Oracle中函数的使用
1.decode () 例子:它的写法如下decode('a','b','c','d'),其中a,b,c,d可以是其他函数也可以是数值,依据我们自己的情况来使用,它的含义是如果a=b,那么结果显示 ...
- K3CLOUD开发-动态表单树形单据体实现银行交易对账
背景:系统手机开单生成销售单据,通过银行pos机收款,系统收款流水与银行流水可能存在差异,所以通过获取银行接口,获取消费信息自动插入到生产系统数据库,开发对账报表,实现差异汇总! 展示效果如下: 开发 ...
- Linux操作系统相关
在工作过程中,如果大家接触的操作系统比较多的话,会发现aix,hpux,CentOS,Redhat命令上都有一定的差异,实则是操作系统内引用的bash(Bourne-Again SHell)不一样,现 ...
- javascript中常见的三种开发模式
一.单例模式: 所谓单例模式,即保证一个类只有一个实例,并提供一个访问它的全局访问点. <script type="text/javascript"> //一个类有某个 ...
- cookie的简单认识
1.cookie Cokie又叫会话跟踪技术,实际上就是客户端硬盘上的一个文本文件,该文件用来存储一些数据. 首先,HTTP请求时无状态的,也就是说,你打开一个网页和下一个网页之间没有任何关系,数据不 ...
- Bootstrap04
Bootstrap04概述 一.输入框组 1.左侧添加文字 <div class="input-group"> <span class="input-g ...
- .NET Core On Liunx环境搭建之MongoDB
伴随着.NET Core的开源,Liunx服务器才是.NET 的未来,公司前几天刚刚上新了一台Liunx服务器,我进行了一下环境的搭建,把经验分享出来. 服务器信息: 服务器用的是阿里云服务器,操作 ...