优先级

性能检测工具介绍-Linux系统命令行

ぐ巨炮叔叔 提交于 2020-02-05 07:01:38
本文介绍的关于Linux自带命令进行性能检测的介绍,详细介绍这些linux自带的工具的使用。 一、uptime uptime命令的显示结果包括服务器已经运行了多长时间,有多少登陆用户和对服务器性能的总体评估(load average)。load average值分别记录了上个1分钟,5分钟和15分钟间隔的负载情况,load average不是一个百分比,而是在队列中等待执行的进程的数量。如果进程要求CPU时间被阻塞(意味着CPU没有时间处理它),load average值将增加。另一方面,如果每个进程都可以立刻得到访问CPU的时间,这个值将减少。 load average的最佳值是1,这说明每个进程都可以立刻被CPU处理,当然,更低不会有问题,只说明浪费了一部分的资源。但在不同的系统间这个值也是不同的,例如一个单CPU的工作站,load average为1或者2都是可以接受的,而在一个多CPU的系统中这个值应除以物理CPU的个数,假设CPU个数为4,而load average为8或者10,那结果也是在2多点而已。 可以使用uptime判断一个性能问题是出现在服务器上还是网络上。例如,如果一个网络应用运行性能不理想,运行uptime检查系统负载是否比较高,如果不是这个问题更可能出现在你的网络上。 二、top Top命令显示了实际CPU使用情况,默认情况下

Linux常用性能检测命令

故事扮演 提交于 2020-02-05 06:57:37
Linux常用性能检测命令、uptime、top、iostat、Vmstat、pstree、Numastat、sar、free、Pmap、Strace、ulimit 一、uptime Uptime命令的显示结果包括服务器已经运行了多长时间,有多少登陆用户和对服务器性能的总体评估(load average)。load average值分别记录了上个1分钟,5分钟和15分钟间隔的负载情况,load average不是一个百分比,而是在队列中等待执行的进程的数量。如果进程要求CPU时间被阻塞(意味着CPU没有时间处理它),load average值将增加。另一方面,如果每个进程都可以立刻得到访问CPU的时间,这个值将减少。 UP kernel下的load average的最佳值是1,这说明每个进程都可以立刻被CPU处理,当然,更低不会有问题,只说明浪费了一部分的资源。但在不同的系统间这个值也是不同的,例如一个单CPU的工作站,load average为1或者2都是可以接受的,而在一个多CPU的系统中这个值应除以物理CPU的个数,假设CPU个数为4,而load average为8或者10,那结果也是在2多点而已。 你可以使用uptime判断一个性能问题是出现在服务器上还是网络上。例如,如果一个网络应用运行性能不理想,运行uptime检查系统负载是否比较高

Linux Top命令详解

喜欢而已 提交于 2020-02-05 01:47:32
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 第一行,任务队列信息 同 uptime 命令的执行结果 系统时间:07:27:05 运行时间:up 1:57 min, 当前登录用户: 3 user 负载均衡(uptime) load average: 0.00, 0.00, 0.00 average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。 load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了 第二行,Tasks — 任务(进程) 总进程:150 total, 运行:1 running, 休眠:149 sleeping, 停止: 0 stopped, 僵尸进程: 0 zombie 第三行,cpu状态信息 0.0%us【user space】— 用户空间占用CPU的百分比。 0.3%sy【sysctl】— 内核空间占用CPU的百分比。 0.0%ni【】— 改变过优先级的进程占用CPU的百分比 99.7%id【idolt】— 空闲CPU百分比 0.0%wa【wait】— IO等待占用CPU的百分比 0.0%hi【Hardware IRQ】— 硬中断占用CPU的百分比 0.0%si

NVIC中断优先级管理

六月ゝ 毕业季﹏ 提交于 2020-02-05 00:02:06
中断管理方法 首先,对STM32中断进行分组,组0~4(分配二进制位数)。同时对每个中断设置一个抢占优先级和一个响应优先级 分组配置是在寄存器SCB->AIRCR中配置: 抢占优先级&响应优先级区别(数值越大级别越低) 高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的 抢占优先级相同的中断,高响应优先级不可以打断低响应 抢占优先级相同的中断,当两个中断同时发生的情况下,哪个响应优先级高,哪个先执行 如果两个中断的抢占优先级和响应优先级都是一样的,则看哪个中断先发生就先执行 举例: 假定设置中断优先级组为2,然后设置中断3(RTC中断)的抢占优先级为2,响应优先级为1。中断6(外部中断0)的抢占优先级为3,响应优先级为0。中断7(外部中断1)的抢占优先级为2,响应优先级为0。 那么这3个中断的优先级顺序为:7>3>6 注意:一般情况下,系统代码执行过程中,只设置一次中断优先级分组,比如分组2,设置好分组后一般不会再改变分组。 中断优先级分组代码 中断优级分组函数 NVIC_PriorityGroupConfig void NVIC_PriorityGroupConfig ( uint32_t NVIC_PriorityGroup ) ; 这个函数的作用是对中断的优先级进行分组,这个函数在系统中只能被调用一次,一旦分组确定好就最好不要更改。 此函数的实现为 void NVIC

stm32中断概览

落花浮王杯 提交于 2020-02-04 22:12:21
STM32 中断非常强大,每个外设都可以产生中断。 异常类型 F429 在内核水平上搭载了一个异常响应系统, 支持为数众多的系统异常和外部中断。其中系统异常有 10 个,外部中断有 91 个。除了个别异常的优先级被定死外,其它异常的优先级都是可编程的。 NVIC NVIC 是嵌套向量中断控制器,控制着整个芯片中断相关的功能,它跟内核紧密耦合,是内核里面的一个外设。 中断配置 在配置中断的时候我们一般只用 ISER、ICER 和 IP 这三个寄存器,ISER 用来使能中断,ICER 用来失能中断,IP 用来设置中断优先级。 中断优先级 在 NVIC 有一个专门的寄存器:中断优先级寄存器 NVIC_IPRx(在 F429 中,x=0…90) 在 F429 中,只使用了高 4bit,如下所示 用于表达优先级的这 4bit,又被分组成抢占优先级和子优先级。如果有多个中断同时响应,抢占优先级高的就会 抢占 抢占优先级低的优先得到执行,如果抢占优先级相同,就比较子优先级。如果抢占优先级和子优先级都相同的话,就比较他们的硬件中断编号,编号越小,优先级越高。 优先级分组 优先级的分组由内核外设 SCB 的应用程序中断及复位控制寄存器 AIRCR 的PRIGROUP[10:8]位决定,F429 分为了 5 组,具体如下:主优先级=抢占优先级 设置优先级分组可调用库函数 NVIC

路由协议综述

这一生的挚爱 提交于 2020-02-04 21:01:47
diandian路由协议综述 简介 路由是数据通信网络中最基本的要素。路由信息就是指导报文发送的路径信息,路由的过程就是报文转发的过程。 根据路由目的地的不同,路由可划分为: 网段路由:目的地为网段,IPv4地址子网掩码长度小于32位或IPv6地址前缀长度小于128位。 主机路由:目的地为主机,IPv4地址子网掩码长度为32位或IPv6地址前缀长度为128位。 根据目的地与该路由器是否直接相连,路由又可划分为: 直连路由:目的地所在网络与路由器直接相连。 间接路由:目的地所在网络与路由器非直接相连。 根据目的地址类型的不同,路由还可以分为: 单播路由:表示将报文转发的目的地址是一个单播地址。 组播路由:表示将报文转发的目的地址是一个组播地址。 静态路由与动态路由 FW不仅支持静态路由,同时也支持RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)、IS-IS(Intermedia System-Intermedia System)和BGP(Border Gateway Protocol)等动态路由协议。 静态路由与动态路由的区别 静态路由配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。缺点是不能自动适应网络拓扑的变化,需要人工干预。 动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化

Threadx _tx_thread_suspend线程挂起

别说谁变了你拦得住时间么 提交于 2020-02-04 19:48:33
执行线程可以调用_tx_thread_suspend自我挂起, 或者调用_tx_thread_suspend挂起某个线程 线程挂起前,先设置tx_state 或tx_suspending /* Set the suspending flag. */ thread_ptr -> tx_suspending = TX_TRUE; 如果挂起线程是当前执行线程(自我挂起),需要从就绪队列中选择出下一个最高优先级线程为执行线程,自我挂起说明当前线程是最高优先级线程: 1,如果当前线程就绪队列还有其它线程,那么选择同一个就绪队列中下一个线程. 2, 如果当前线程是就绪队列中唯一线程,那么找出下一个最高优先级就绪队列,选择其中第一个线程为执行线程。 3,选择下一个最高级就绪队列时,需要考虑基于tx_preempt_threshold抢占门限的抢占 VOID _tx_thread_suspend ( TX_THREAD * thread_ptr ) { TX_INTERRUPT_SAVE_AREA REG_1 UINT priority ; /* Thread priority */ REG_2 ULONG priority_map ; /* Working priority map */ REG_3 UCHAR priority_group ; /* Priority group */ /*

操作系统(四)

感情迁移 提交于 2020-02-04 04:31:49
CPU调度 上下文切换: ->切换CPU的当前任务,从一个进程/线程转换到另一个进程/线程; ->但是切换之前要保护现场,保存当前进程/线程在PCB/TCP中的执行上下文(也就是CPU的状态); ->切换任务,当然要读取下一个进程/线程的上下文。 CPU调度: ->从就绪队列中挑选一个进程/线程作为CPU将要运行的下一个进程/线程; ->需要调度程序(挑选进程/线程的内核函数); ->需要考虑的问题是 调度的时机。 在进程/线程生命周期的什么时候进行调度? 从一个状态到另一个状态的时候会发生调度。 内核运行调度程序的条件(满足其一即可) ->一个进程从运行状态切换到等待状态 ->一个进程被终结了 CPU调度方式 (1)不可抢占 ->调度程序必须等待事件结束(效率低,不采用); (2)可以抢占 ->调度程序在中断被响应后执行; ->当前的进程从运行切换到就绪,或者一个进程从等待切换到就绪; ->当前运行的进程可以被换出。 注意,以上一般指用户态;内核态也可能涉及到是否抢占。 调度原则 (1)调度策略 (2)程序执行模型 执行模型:程序在CPU突发和I/O中交替 ->每个调度决定都是关于在下一个CPU突发时将哪个工作交给CPU; ->在时间分片机制下,线程可能在结束当前CPU突发前被迫放弃CPU; (3)比较调度算法的准则 CPU使用率:CPU处于忙状态所占时间的百分比; 吞吐量

css优先级计算规则

♀尐吖头ヾ 提交于 2020-02-04 02:54:11
最近面试了一些求职者,我问css优先级计算规则是怎样的?答曰ID优先级>class>元素选择器,外联样式优先级低于内联样式,内联样式优先级低于行间样式,然后就没有然后了……,ID选择器的优先级确实>class选择器的优先级>元素选择器的优先级,但是外联样式优先级并不一定低于内联样式优先级。做为一个合格的前端工程师,让我们彻底搞清楚css优先级计算规则吧! 特殊性 css继承是从一个元素向其后代元素传递属性值所采用的机制。确定应当向一个元素应用哪些值时,浏览器不仅要考虑继承,还要考虑声明的特殊性,另外需要考虑声明本身的来源。这个过程就称为层叠。——《css权威指南》 上面这句话有两个词需要稍作解释,“声明”和“ 特殊性 ”。如下图,css规则由选择器和声明块组成,写在选择器后面大括号里的就叫声明。 实际上,同一个元素可以使用多个规则来指定它的字体颜色,每个规则都有自己的选择器。显然最终只有一个规则起作用(不可能一个字既是红色又是绿色),那么该规则的特殊性最高,特殊性即css优先级。很多同学仅仅知道选择器优先级ID>class>元素选择器,而不知道ID的优先级为什么大于class的优先级。那么css优先级到底是怎么计算的呢? 选择器的特殊性值表述为4个部分,用0,0,0,0表示。 ID选择器的特殊性值,加0,1,0,0 。 类选择器、属性选择器或伪类,加0,0,1,0 。 元素和伪元素

CSS选择器权重计算规则

孤街醉人 提交于 2020-02-04 02:38:52
1.第一等:代表内嵌样式;如:style=" ",权重值为10000. 2.第二等:代表ID选择器;如:#content,权重值为0100. 3.第三等:代表类,伪类和属性选择器;如:.content,权重值为0010. 4.第四等:代表元素和伪元素选择器;如:div p,权重值为0001. 5.第五等:代表通配符,子元素选择器和相邻兄弟选择器等;如:*、>、+,权重值为0000. 6.继承的样式没有权重值. 7.!important;   !important的作用是提升优先级,换句话说,加了这句的样式的优先级是最高的(比内嵌的优先级还高)。    来源: https://www.cnblogs.com/xingxing88/p/5937040.html