cpu时间

oracle监控参数

老子叫甜甜 提交于 2020-02-04 12:25:53
Sar –u 检查CPU的繁忙程度 列 说明 Usr 用户模式下cpu运行所占的百分比 Sys 系统模式下cpu运行所占的百分比 Wio 因为有进程等待块I/O而使cpu处于闲置状态所占百分比 Idle Cpu为闲置状态所占百分比 sar –u 10 8 第一个数字展示二次相邻的sar读取之间隔了多少秒,第二数字是打算好了让sar运行的次数。 较低的idel时间可能说明有些进程正消耗大量的cpu时间,或是说明cpu的处理能力不足。请使用ps或是top命令去找出cpu密集型的作业吧 写得很差,需要大量磁盘访问的查询,同样能够消耗大量的cpu资源 值得关注wio返回的高额数值与cpu的沉重负荷 展示的高额wio,即io等待时间,表明有磁盘争用的问题。可以用iostate命令来准确定位磁盘争用究竟发生在哪里 需要检查输出结果 较低的cpu空闲时间值 高比例的io等待时间 或是用wio>10来判断 Sys>15的瓶颈,这表明交换,调页或备份可能造成了瓶颈 异常高的usr 这可能是由于没有好好的给应用程序调过优,或是由于过度使用了cpu Sar –d命令找出i 大专栏 oracle监控参数 o问题 需要注意 Busy大于50%的设备 如果avwait大于avserv 不均衡的磁盘io负载 Busy和avque取值高表明存在着磁盘io瓶颈。 Sar –d 5 2

操作系统(四)

感情迁移 提交于 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处于忙状态所占时间的百分比; 吞吐量

操作系统的发展史

断了今生、忘了曾经 提交于 2020-02-03 17:57:51
操作系统的发展史 一、手工操作——穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片)后,才让下一个用户上机。 手工操作方式两个特点: 用户独占全机。不会出现因资源已被其他用户占用而等待的现象,但资源的利用率低。 CPU 等待手工操作。CPU的利用不充分。 20世纪50年代后期,出现 人机矛盾 。:手工操作的慢速度和计算机的高速度之间形成了尖锐矛盾,手工操作方式已严重损害了系统资源的利用率(使资源利用率降为百分之几,甚至更低),不能容忍。唯一的解决办法:只有摆脱人的手工操作,实现作业的自动过渡。这样就出现了成 批处理 。 二、批处理——磁带存储 批处理系统:加载在计算机上的一个 系统软件 ,在它的控制下,计算机能够自动地、成批地处理一个或多个用户的作业(这作业包括程序、数据和命令)。 2.1 联机批处理系统 主机与输入机之间增加一个存储设备——磁带,在运行于主机上的监督程序的自动控制下,计算机可自动完成:成批地把输入机上的用户作业读入磁带,依次把磁带上的用户作业读入主机内存并执行并把计算结果向输出机输出

Android功耗统计算法

陌路散爱 提交于 2020-02-02 19:12:07
基于Android 6.0的源码剖析。 Power_profile.xml文件demo: <?xml version="1.0" encoding="utf-8"?> <!-- ** ** Copyright 2009, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License") ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See

jvm 垃圾收集器

时光总嘲笑我的痴心妄想 提交于 2020-02-02 13:39:45
如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 虽然我们对各个收集器进行比较,但并非要挑选出一个最好的收集器。因为直到现在为止还没有最好的垃圾收集器出现,更加没有万能的垃圾收集器, 我们能做的就是根据具体应用场景选择适合自己的垃圾收集器 。试想一下:如果有一种四海之内、任何场景下都适用的完美收集器存在,那么我们的 HotSpot 虚拟机就不会实现那么多不同的垃圾收集器了。 主要的垃圾收集器有以下几种: 一、Serial收集器 Serial(串行)收集器收集器是最基本、历史最悠久的垃圾收集器了。 大家看名字就知道这个收集器是一个单线程收集器了。它的 “单线程” 的意义不仅仅意味着它只会使用一条垃圾收集线程去完成垃圾收集工作,更重要的是它在进行垃圾收集工作的时候必须暂停其他所有的工作线程( "Stop The World" ),直到它收集结束。 虚拟机的设计者们当然知道 Stop The World 带来的不良用户体验,所以在后续的垃圾收集器设计中停顿时间在不断缩短(仍然还有停顿,寻找最优秀的垃圾收集器的过程仍然在继续)。 但是 Serial 收集器有没有优于其他垃圾收集器的地方呢? 当然有,它 简单而高效(与其他收集器的单线程相比) 。Serial 收集器由于没有线程交互的开销,自然可以获得很高的单线程收集效率。Serial 收集器多用于桌面应用

JVM垃圾收集器

丶灬走出姿态 提交于 2020-02-02 13:39:28
垃圾收集器就是收集算法的具体实现,不同的虚拟机会提供不同的垃圾收集器。并且提供参数供用户根据自己的应用特点和要求组合各个年代所使用的收集器。本文讨 论的收集器基于Sun Hotspot虚拟机1.6版。 下图中展示了jdk1.6中提供的6种作用于不同年代的收集器,两个收集器之间存在连线的话就说明它们可以搭配使用。没有最好的收集器,也没有万能的收集 器,只有最合适的收集器。从Serial收集器到Parallel收集器,再到CMS收集器, G1收集器,用户线程的停顿时间在不断缩短,但是仍然没有办法完全消除。 1. Serial收集器 单 线程收集器,使用复制收集算法,收集时会暂停所有工作线程(我们将这件事情称之为Stop The World),直到收集结束,虚拟机运行在Client模式时的默认新生代收集器。 优点是:简单高效(与其他收集器的单线程相比),对于限定单个CPU的环境来说,Serial收集器没有现成交互的开销。在堆比较小的情况下,一般停顿时 间很短,是可以使用这种收集器的。如下图: 2. ParNew收集器 ParNew 收集器就是Serial的多线程版本,除了使用多条收集线程外,其余行为包括算法、STW、对象分配规则、回收策略等都与Serial收集器一摸一样。 ParNew收集器是许多运行在server模式下的虚拟机中首选的新生代收集器(一个原因是在除了serial收集器外

JVM垃圾收集器

倾然丶 夕夏残阳落幕 提交于 2020-02-02 13:39:07
问题 带着问题去学习,效率更高! 垃圾收集器和垃圾回收算法的关系?分别请你谈谈? 怎么查看服务器的垃圾收集器是哪个?如何配置垃圾收集器?谈谈你对垃圾收集器的理解? 你知道G1垃圾收集器吗? 垃圾收集算法 垃圾收集器和垃圾回收算法的关系? 垃圾算法(引用计数,复制算法,标记清除,标记整理)都是内存回收的方法论,垃圾收集器是这种算法的落地实现。 请移步 JVM中的GC收集算法有哪些 先了解相关概念 垃圾收集器主要发生的区域 主要发生在方法区和堆中,其中方法区在jdk1.8中的实现是元空间(Metaspace) 次收集器 发生在新生代中的GC,被称为Young GC(Scavenge GC,Minor GC), 新生代中的对象大多数生命周期比较短,所以这里的GC发生很频繁。 全收集器 Full GC,指发生在老年代的 GC,出现了 Full GC 一般会伴随着至少一次的 Young GC(老 年代的对象大部分是Young GC 过程中从新生代进入老年代),比如:分配担保失败。Full GC 的速度一般会比 Young GC 慢 10 倍以上。 什么时候触发GC 当 Eden 空间不足以为对象分配内存时,会触发 Young GC。 当老年代内存不足,或者显式调用 System.gc() 会触发Full GC(也会伴随着执行至少一次的Young GC)。 STW(Stop-the-world

linux的jiffies

邮差的信 提交于 2020-02-02 12:56:15
在看libvirt如何获取虚拟机的cpu占用率这个问题。计算cpu占用率不可避免的需要直到jiffies的概念。 jiffies是内核中的一个全局变量,用来记录自系统启动一来产生的节拍数。简单描述,就是1s内,内核发起的时钟中断次数。kernel中就使用这个来对程序的运行时间进行统计。这个值实在编译内核时进行设置的。一般有100,250,1000。CONFIG_HZ这个参数就是用来设置1s中的中断次数的。 查看 /proc/stat 可以看到kernel对cpu使用的各项时间进行的统计。 cat /proc/statcpu 1776 10 9610 35061503 4272 0 122 0 0 0cpu0 359 0 1820 8767364 1812 0 40 0 0 0cpu1 398 0 1578 8764789 688 0 18 0 0 0cpu2 593 3 1646 8768085 1076 0 8 0 0 0cpu3 425 6 4564 8761263 694 0 56 0 0 0 cpu的使用率一般包含 user ( 1776 ) 从系统启动开始累计到当前时刻,处于用户态的运行时间,不包含 nice值为负进程。 nice (10) 从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间 system (35061503)

EOS: billed CPU time ( us) is greater than the maximum billable CPU time for the transaction ( us)

匆匆过客 提交于 2020-02-02 10:53:21
EOS 向节点提交交易时失败 文章目录 EOS 向节点提交交易时失败 错误报出的位置 运行交易所需要的时间 交易可用时间上限 用户可用 CPU 时间 总结 EOS 向节点提交交易时失败,提示 billed CPU time (Y us) is greater than the maximum billable CPU time for the transaction (X us). 本文通过分析源代码来一探这个失败的原因,首先给出结论: 当前时间窗口内(24小时)用户 最大 CPU 时间 = 全网总 CPU 时间 * 当前用户质押 EOS 数量 / 所有用户质押 EOS 数量 当前时间窗口内用户 可用 CPU 时间 = 当前用户 最大 CPU 时间 - 当前用户已经使用 CPU 时间 当前用户 已经使用 CPU 时间是实时变化的:(1 - t / 24) * t 时间之前使用的资源大小,直到距离上次 CPU 资源使用 24 小时后(t = 24)完全恢复 Get Account 接口看到的不是实时可用的资源使用量,而是上一笔交易之后缓存的资源使用量 向 RPC 节点提交交易时 RPC 节点会计算出当前交易 CPU 使用量,这个 CPU 使用量和当前 RPC 节点 CPU 使用情况有关,通过系统计时器计算时间,因此,RPC 节点计算出的交易 CPU 使用量不是最终上链时的交易使用量

Zabbix监控PHP-FPM、Tomcat、Redis应用实战案例

做~自己de王妃 提交于 2020-02-02 00:35:12
一、Zabbix监控PHP-FPM应用实战 Nginx+PHP-FPM是目前最流行的LNMP架构,在基于PHP开发的系统下,对这些系统性能的监控,主要是关注PHP-FPM的运行状态,那么什么是PHP-FPM呢?PHP-FPM是一个PHP FastCGI管理器,它提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,对于ZPHP5.3.3之前的PHP来说,它是一个补丁包,而从PHP5.3.3版本开始,PHP内部已经集成了php-fpm模块,意味着被PHP官方收录了。在编译PHP时需指定参数“--enable-fpm”来开启PHP-FPM。 1)启用php-fpm状态功能 操作如下: 1)安装nginx [root@agent ~]# yum -y install zlib pcre pcre-devel openssl openssl-devel [root@agent ~]# wget http://nginx.org/download/nginx-1.14.1.tar.gz [root@agent ~]# tar zxf nginx-1.14.1.tar.gz -C /usr/src [root@agent ~]# cd /usr/src/nginx-1.14.1/ [root@agent nginx-1.14.1]# ./configure -