做性能测试的必备知识系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1806772.html 课前准备,安装 sysbench 下载 sysbench git clone https://github.com/akopytov/sysbench.git 安装依赖 yum install autoconf automake libtool -y 编译安装 cd sysbench/ ./autogen.sh ./configure --w…
做性能测试的必备知识系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1806772.html 前言 上一篇文章中,举例了大量进程等待 CPU 调度的场景 灵魂拷问 既然进程是在等待,并没有运行,为什么系统的平均负载还是会升高呢 回答 本文的重点:CPU 上下文切换就是罪魁祸首 先来聊聊 Linux 提出疑问 之前说最好一个 CPU 运行一个进程,这样 CPU 利用率刚刚好 但事实上我们的 Linux 会同时运行很多进程,包括系统态的和…
做性能测试的必备知识系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1806772.html 查看系统 CPU 信息 cat /proc/cpuinfo 查看物理 CPU 的总个数 cat /proc/cpuinfo | grep "physical id" | uniq | wc -l 查看每个 CPU 的核数 cat /proc/cpuinfo | grep "cpu core" | uniq CPU…
做性能测试的必备知识系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1806772.html 回顾 CPU 使用率是单位时间内 CPU 使用情况的统计,以百分比的方式展示 灵魂拷问 最常用什么指标来描述系统的 CPU 性能? 回答 CPU 使用率,而不是平均负载,CPU 上下文切换 CPU 使用率 前言 前面说过,Linux 作为一个多任务操作系统,将每个 CPU 的时间划分为很短的时间片,在通过调度器轮流分配给各个任务使用,因此造成…
做性能测试的必备知识系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1806772.html stress 介绍 Linux 系统压力测试工具,这里通过异常进程模拟平均负载升高的场景 来看看 stress 命令行参数的讲解 参数 含义 -?.--help 帮助文档 --version.-v 版本号 -q 退出 -n 显示已完成指令的情况 -t N.--timeout N 运行 N 秒后停止 --backoff N 等待 N 微秒后开始…
做性能测试的必备知识系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1806772.html 内存映射 日常生活常说的内存是什么 比方说,我的笔记本电脑内存就是 8GB 的 这个内存其实是物理内存 物理内存也称为主存,大多数计算机用的主存都是动态随机访问内存(DRAM) 灵魂拷问 只有内核才可以直接访问物理内存,那么进程要访问内存时,怎么办? 虚拟地址空间 为了解决上面的问题,Linux 内核给每个进程都提供了一个独立的虚拟地址空间,…
做性能测试的必备知识系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1806772.html 缓存 从 free 命令可以看到,缓存其实就是 Buffer 和 Cache 两部分的总和 字面意思,Buffer 是缓存区,Cache 是缓存,两者都是数据再内存中的临时存储 Buffer 和 Cache 的区别 man free 执行上面的命令,可以从帮助手册中看到 buffer 和 cache 说明 Buffers:内核缓冲区用到的内存…
使用Deepfakes(AI换脸) 软件,拼的就是配置,耗的就是时间,考验的是耐心. 配置好了,时间就少了. 所以玩这种软件,硬核需求就是:配置,配置,配置.  我的电脑能跑这个软件么?也是很多新手的必问题目. 下面就介绍一下window系统查看显卡和显存的几种方法.因为的系统为win10, 我就主要win下面的操作.最后说一下win7. 方法1:设备管理 首先,点击任务栏最左边的window图标或者按一下Ctrl和Alt中间的Win图标. 然后,搜“设备管理器” 然后,双击打开,找到显卡适配器…
CPU 上下文切换是什么 CPU 上下文切换,就是先把前一个任务的 CPU 上下文(也就是 CPU 寄存器和程序计数器)保存起来,然后加载新任务的上下文到这些寄存器和程序计数器,最后再跳转到程序计数器所指的新位置,运行新任务. CPU上下文的分类 CPU 上下文切换根据任务的不同,可以分为以下三种类型 : 进程上下文切换 - 线程上下文切换 - 中断上下文切换 引起上下文切换的原因有哪些? 对于抢占式操作系统而言, 大体有几种: ​    ​1.当前任务的时间片用完之后,系统CPU正常调度下一个…
性能测试必备的 Linux 命令系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1819490.html 介绍 系统启动up了(运行了)多长时间 语法格式 uptime [options] 字段说明 18:36:33:系统当前时间 up 24 min:已运行的累积时间 1 users:注意这里实际是连接数量,可以自己测试出来,同一用户多个连接的时候算多个 load average: 0.00 0.00 0.04:分别描述了1分钟 5分…
一.top命令 top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要.但是,它的缺点是会消耗很多系统资源. 在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等.退出 top 的命令为 q (在 top 运行中敲 q 键一次). 二.top输…
http://www.aikaiyuan.com/9347.html http://blog.csdn.net/jk110333/article/details/8683478 http://www.blogjava.net/fjzag/articles/317773.html 衡量CPU性能的指标: 1,用户使用CPU的情况:CPU运行常规用户进程CPU运行niced processCPU运行实时进程 2,系统使用CPU情况:用于I/O管理:中断和驱动用于内存管理:页面交换用户进程管理:进程开…
衡量CPU性能的指标: 1,用户使用CPU的情况:CPU运行常规用户进程CPU运行niced processCPU运行实时进程 2,系统使用CPU情况:用于I/O管理:中断和驱动用于内存管理:页面交换用户进程管理:进程开始和上下文切换 3,WIO:用于进程等待磁盘I/O而使CPU处于空闲状态的比率. 4,CPU的空闲率,除了上面的WIO以外的空闲时间 5,CPU用于上下文交换的比率 6,nice 7,real-time 8,运行进程队列的长度 9,平均负载 Linux中常用的监控CPU整体性能的…
一 先来看看ps命令: 1.查看当前某个时间点的进程:ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死. 哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的. 2.ps [选项]     下面对命令选项进行说明: -e :显示所有进程.-f :全格式,做一个较为完整的输出.-h :不显示标题.-l :长格式,较长.较详细的将该 PID 的的信息列出.-w: 宽输出.a :显示终端上的所有进程,包…
CPU上下文切换包括进程上下文切换.线程上下文切换及中断上下文切换,当任务进行io或发生时间片事件及发生中断(如硬件读取完成)时,就会进入内核态,发生CPU上下文切换. 进程上下文切换,进程的上下文信息包括, 指向可执行文件的指针, 栈, 内存(数据段和堆), 进程状态, 优先级, 程序I/O的状态, 授予权限, 调度信息, 审计信息, 有关资源的信息(文件描述符和读/写指针), 关事件和信号的信息, 寄存器组(栈指针, 指令计数器)等等,当发生进程切换时,这些保存在寄存器或高速缓存的信息需要记…
不错的文章(linux系统性能监控--CPU利用率):https://blog.csdn.net/ctthuangcheng/article/details/52795477 在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况.而监控CPU的性能一般包括以下3点:运行队列.CPU使用率和上下文切换. 对于每一个CPU来说运行队列最好不要超过3,例如,如果是双核CPU就不要超过6.如果队列长期保持在3以上,说明任何一个进程运行时都不能马上得到cpu的响应,这时可能需要考…
基础知识 示例: 开发机器是1个物理CPU,4核8线程,Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 基础 i3:2核模拟4线程,无睿频 i5:4核模拟4线程,有睿频,平台不同(CPU核数也不相同,详见:`常见型号`) i7:4核模拟8线程, 常见型号示例 台式机:i5有双核四线程(如i5 670)也有4核四线程(如i5 750),i7有4核8线程(如i7 860)以及6核12线程(如i7 3960x) 笔记本:i5双核四线程(如i5 2647M),i7有双核四…
1.top 使用权限:所有使用者 使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 说明:即时显示process的动态 d :改变显示的更新速度,或是在交谈式指令列( interactive command)按s q :没有任何延迟的显示速度,如果使用者是有superuser的权限,则top将会以最高的优先序执行 c :切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S :累积模式,会将己完成或消失的子行程( d…
转载:http://www.cnblogs.com/xianghang123/archive/2011/08/25/2153591.html 衡量CPU性能的指标: 1,用户使用CPU的情况:CPU运行常规用户进程CPU运行niced processCPU运行实时进程 2,系统使用CPU情况:用于I/O管理:中断和驱动用于内存管理:页面交换用户进程管理:进程开始和上下文切换 3,WIO:用于进程等待磁盘I/O而使CPU处于空闲状态的比率. 4,CPU的空闲率,除了上面的WIO以外的空闲时间 5,…
一.top命令 top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要.但是,它的缺点是会消耗很多系统资源. 在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等.退出 top 的命令为 q (在 top 运行中敲 q 键一次). 二.top输…
--怎么查看系统的上下文切换情况 过多的上下文切换,会把cpu时间消耗在寄存器.内核栈以及虚拟内存等数据的保存和恢复上,缩短进程真正运行的时间,成了系统性能大幅下降的一个元凶. 查看,使用vmstat,来查看系统的上下文切换 -vmstat是一个常用的系统性能分析工具,主要用来分析系统的内存使用情况,也常用来分析cpu上下文切换和中断的次数 #每隔5秒输出1组数据 [root@rac2 ~]# vmstat 5 procs -----------memory---------- ---swap-…
什么是CPU 上下文 我们都知道,Linux是一个多任务操作系统,它远支持大于CPU数量的任务同时运行,当然,这些任务实际上并不是真的在同时运行,而是因为系统在很短时间内,将CPU轮流分配给他们,造成多任务同时运行的错觉. 而在每个任务运行前,CPU都需要知道任务从哪里加载.又从哪里开始运行.也就是说,需要系统事先帮它设置好CPU寄存器和程序计数器(Program Counter.PC). CPU寄存器,是CPU内置的容量小.但速度极快的内存.而程序计数器,则是用来存储CPU正在执行的指令位置.…
在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况.而监控CPU的性能一般包括以下3点:运行队列.CPU使用率和上下文切换. 1.top 这个命令很常用,在第三行有显示CPU当前的使用情况. 如上所示,top命令可以看到总体的系统运行状态和cpu的使用率 . %us:表示用户空间程序的cpu使用率(没有通过nice调度) %sy:表示系统空间的cpu使用率,主要是内核程序. %ni:表示用户空间且通过nice调度过的程序的cpu使用率. %id:空闲cpu %wa:c…
一.CPU上下文切换 1.上下文切换,有时也称做进程切换或任务切换,是指CPU从一个进程或线程切换到另一个进程或线程. 2.vmstat是一个常用的系统性能分析工具,主要用来分析系统内存使用情况,也常用来分析CPU上下文切换和中断的次数. 例:vmstat -w 上下文切换需要特别关注的四列内容: cs(context switch) 是每秒上下文切换的次数.in(interrupt) 则是每秒中断的次数.r(Running or Runnable) 是就绪队列的长度.b(Blocked) 则是…
实验一 查看CPU和内存,用机器指令和汇编指令编程   实验目的 了解什么是Debug,以及Debug中需要用的一些功能 R:查看.改变CPU寄存器的内容 D:查看内存中的内容 E:改写内存中的内容 U:将内存中的机器指令翻译成汇编指令 T:执行一条机器指令 A:以汇编指令的格式在内存中写入一条机器指令 实验内容及过程 (1)使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后CPU中相关寄存器中内容的变化.   用e命令将指令写入内存,之后通过d命令查看内存中的机器代码,验证正…
  linux操作系统是将CPU轮流分配给任务,分时执行的.而每次执行任务时,CPU需要知道CPU寄存器(CPU内置的内存)和程序计数器PC(CPU正在执行指令和下一条指令的位置)值,这些值是CPU执行任务所依赖的环境,也就是CPU上下文.   CPU上下文切换,就是把前一个任务的CPU上下文(CPU寄存器和程序计数器)保存起来,然后加载入新任务的上下文到CPU寄存器和程序计数器中,最后跳转到程序计数器所指的位置,运行新任务.   保存下来的上下文会在系统内核中,并在任务重新调度执行时再次加载进…
上一节,我给你讲了 CPU 上下文切换的工作原理.简单回顾一下,CPU 上下文切换是保证 Linux 系统正常工作的一个核心功能,按照不同场景,可以分为进程上下文切换.线程上下文切换和中断上下文切换.具体的概念和区别,你也要在脑海中过一遍,忘了的话及时查看上一篇. 今天我们就接着来看,究竟怎么分析 CPU 上下文切换的问题. 怎么查看系统的上下文切换情况 通过前面学习我们知道,过多的上下文切换,会把 CPU 时间消耗在寄存器.内核栈以及虚拟内存等数据的保存和恢复上,缩短进程真正运行的时间,成了系…
上一节,我给你讲了要怎么理解平均负载( Load Average),并用三个案例展示了不同场景下平均负载升高的分析方法.这其中,多个进程竞争 CPU 就是一个经常被我们忽视的问题. 我想你一定很好奇,进程在竞争 CPU 的时候并没有真正运行,为什么还会导致系统的负载升高呢?看到今天的主题,你应该已经猜到了,CPU 上下文切换就是罪魁祸首. 我们都知道,Linux 是一个多任务操作系统,它支持远大于 CPU 数量的任务同时运行.当然,这些任务实际上并不是真的在同时运行,而是因为系统在很短的时间内,…
如何理解CPU上下文切换(二) 1.引 你们好,可爱的小伙伴们.^_^ 多个进程竞争CPU就是一个经常被我们忽视的问题. 你们一定很好奇,进程在竞争CPU的时候并没有真正运行,为什么还会导致系统的负载升高呢?其实CPU上下文切换就是罪魁祸首. 我们都知道,Linux是一个多任务操作系统,它支持远大于CPU数量的任务同时运行.当然,这些任务实际上并不是真的在同时运行,而是因为系统在很短的时间内,将CPU轮流分配给它们,造成多任务同时运行的错觉. 而在每个任务运行前,CPU都需要知道任务从哪里加载,…
具体分析 自愿上下文切换变多了,说明进程都在等待资源,有可能发生了 I/O 等其他问题: 非自愿上下文切换变多了,说明进程都在被强制调度,也就是都在争抢 CPU,说明 CPU 的确成了瓶颈: 中断次数变多了,说明 CPU 被中断处理程序占用,还需要通过查看 /proc/interrupts 文件来分析具体的中断类型. 小结 碰到上下文切换次数过多的问题时,我们可以借助 vmstat . pidstat 和 /proc/interrupts 等工具,来辅助排查性能问题的根源. 过多上下文切换会缩短…