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>命令的更多相关文章

  1. ubuntu命令大全

    一.文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls -l 列出当前目录下文件的详细信息 cd .. 回当前目录的上一级目录 cd - 回 ...

  2. ubuntu命令行下java工程编辑与算法(第四版)环境配置

    ubuntu命令行下java工程编辑与算法(第四版)环境配置 java 命令行 javac java 在学习算法(第四版)中的实例时,因需要安装配套的java编译环境,可是在编译java文件的时候总是 ...

  3. Ubuntu命令整理

    linux下find命令的使用和总结 - CS408 - 博客园 ubuntu 命令简写和全称 su:Swith user  切换用户,切换到root用户 cat: Concatenate  串联 u ...

  4. Ubuntu命令基础

    Ubuntu命令基础 1.打开终端窗口快捷键. Ctrl+alt+t 2.更新设置root密码. $sudo passwd  root  3.切换到root用户用su,前提是自己设置了root密码(看 ...

  5. ubuntu命令错误集

    1.在ubuntu命令行使用rz从windows传输文件时出现乱码 解决方法:使用 rz -e    选项进行传输,一般小文件传输不用加 -e 选项,大文件传输需要.

  6. 改变Ubuntu命令行 用户名显示前缀

    改变Ubuntu命令行 用户名显示前缀 1.修改命令 [root@daokr ubuntu]#vim ~/.bashrc 修改第 56行 注释掉原来 # PS1='${debian_chroot:+( ...

  7. Ubuntu命令行操作

    一.文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls -l 列出当前目录下文件的详细信息 cd .. 回当前目录的上一级目录 cd - 回 ...

  8. Ubuntu命令集(持续更新)

    Ubuntu命令集,生活工作汇总,没有顺序.(持续更新...) 1 pwd:没有参数,在终端现实我们当前所处的文件夹位置:ctrl+l:清除当前终端屏: 2 --------------------- ...

  9. ubuntu命令行打开html文件的方法

    1.Ctrl+Alt+T可以打开shell,F11可以全屏显示,输入以下命令即可打开js17.html,并且指定浏览器,比如指定chrome, 复制代码 代码如下: google-chrome js1 ...

  10. ubuntu命令行相关命令使用心得

    一.Ubuntu解压缩zip,tar,tar.gz,tar.bz2 ZIP zip可能是目前使用得最多的文档压缩格式.它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac ...

随机推荐

  1. 【题解】洛谷P1966 [NOIP2013TG] 火柴排队(树状数组+逆序对)

    次元传送门:洛谷P1966 思路 显然在两排中 每排第i小的分别对应就可取得最小值(对此不给予证明懒) 所以我们只在意两排的火柴是第几根 高度只需要用来进行排序(先把两个序列改成有序的方便离散化) 因 ...

  2. System.Reflection 获取描述

    我们需要获取类,属性,方法的描述.这个跟获取枚举的描述一样,需要我们通过反射来做.这还需要我们的利用System.ComponentModel:Description  的属性来完成. 新建一个类:使 ...

  3. oracle与infomix异同点

    之前是做oracle数据库应用开发的,现在工作用的是informix,特别不习惯.用了一段时间后才慢慢适应,最近做系统升级,把informix换成oracle数据库.顺便整理了一下informix与o ...

  4. 编程开发之--Oracle数据库--存储过程和存储函数(2)

    上一小结我们简单介绍了存储过程和存储函数,对存储过程和存储函数有了一个基本的了解,接下来介绍在java程序中如何调用我们创建的存储过程和存储函数 1.在应用程序中调用我们的存储过程 创建一个简单的Ja ...

  5. 升级MAC OS到10.13, 10.14系统后UNITY工程无法加载资源的解决办法

    升级MAC OS到10.13, 10.14系统后,出现UNITY工程无法加载资源的情况: Unity项目中Asset目录显示为空! 解决办法一: 打开Launchpad中的磁盘工具 (也就是实用工具下 ...

  6. OO 第三次博客总结

    调研规格化设计 1950年代,第一次分离,主程序和子程序的分离程序结构模型是树状模型,子程序可先于主程序编写.通过使用库函数来简化编程,实现最初的代码重用.产生基本的软件开发过程:分析—设计—编码—测 ...

  7. vue-cli3 使用mint-ui

    关于vue-cli3.x按需引入mint-ui问题记录: 按需引入 借助 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的. 首先,安装 babel-p ...

  8. 前端基础-BOM和DOM的介绍

    阅读目录 BOM和DOM的简述 DOM详细操作 事件 一.BOM和DOM的简述 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我 ...

  9. Mysql-数据的完整性约束

    一 .介绍 二 .not null与default 三 .unique 四 .primary key 五 .auto_increment 六 .foreign key 一 .介绍 约束条件与数据类型的 ...

  10. jQuery+zTree

    0 zTree简介 树形控件的使用是应用开发过程中必不可少的.zTree 是一个依靠 jQuery 实现的多功能 “树插件”.优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点. 0.0 ...