cpu时间

linux top 命令查看内存及多核CPU的使用讲述

牧云@^-^@ 提交于 2020-02-16 10:55:46
查看多核CPU命令 mpstat -P ALL 和 sar -P ALL 说明:sar -P ALL > aaa.txt 重定向输出内容到文件 aaa.txt top命令 经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。 本文通过一个运行中的WEB服务器的top监控截图,讲述top视图中的各种数据的含义,还包括视图中各进程(任务)的字段的排序。 top进入视图 第一行: 10:08:45 — 当前系统时间 10 days, 3:05 — 系统已经运行了10天3小时5分钟(在这期间没有重启过) 1 users — 当前有1个用户登录系统 load average: 0.00, 0.00, 0.00 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。 load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。 第二行: Tasks — 任务(进程),系统现在共有135个进程,其中处于运行中的有1个,134个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。 第三行:cpu状态 0.3% us —

sql server数据库性能的优化

狂风中的少年 提交于 2020-02-16 07:29:11
KeyLife富翁笔记 作者: HongYuan 标题: sql server数据库性能的优化 关键字: 分类: 个人专区 密级: 公开 (评分: , 回复: 0, 阅读: 676) »» 数据库设计   实现sql server数据库的优化,首先要有一个好的数据库设计方案。在实际工作中,许多sql server方案往往是由于数据库设计得不好导致性能很差。实现良好的数据库设计必须考虑这些问题:   1. 逻辑数据库规范化问题   一般来说,逻辑数据库设计会满足规范化的前3级标准:   第1规范:没有重复的组或多值的列;   第2规范: 每个非关键字段必须依赖于主关键字,不能依赖于一个组合式主关键字的某些组成部分;   第3规范: 一个非关键字段不能依赖于另一个非关键字段。   遵守这些规则的数据库设计会产生较少的列和更多的表,因而也就减少了数据冗余,也减少了用于存储数据的页。   2. 生成物理数据库   要想正确选择基本物理实现策略,必须了解和利用好数据库访问格式和硬件资源的操作特点,特别是内存和磁盘子系统i/o。以下是一些常用技巧:   与每个表列相关的数据类型应该反映数据所需的最小存储空间,特别是对于被索引的列更是如此。比如能使用smallint类型就不要用integer类型,这样索引字段可以被更快地读取,而且可以在一个数据页上放置更多的数据行,因而也就减少了i

数据库性能优化

我是研究僧i 提交于 2020-02-16 07:26:30
数据库设计   实现sql server数据库的优化,首先要有一个好的数据库设计方案。在实际工作中,许多sql server方案往往是由于数据库设计得不好导致性能很差。实现良好的数据库设计必须考虑这些问题:   1. 逻辑数据库规范化问题    一般来说,逻辑数据库设计会满足规范化的前3级标准:    第1规范:没有重复的组或多值的列;    第2规范: 每个非关键字段必须依赖于主关键字,不能依赖于一个组合式主关键字的某些组成部分;    第3规范: 一个非关键字段不能依赖于另一个非关键字段。    遵守这些规则的数据库设计会产生较少的列和更多的表,因而也就减少了数据冗余,也减少了用于存储数据的页。   2. 生成物理数据库    要想正确选择基本物理实现策略,必须了解和利用好数据库访问格式和硬件资源的操作特点,特别是内存和磁盘子系统i/o。以下是一些常用技巧:    与每个表列相关的数据类型应该反映数据所需的最小存储空间,特别是对于被索引的列更是如此。比如能使用smallint类型就不要用integer类型,这样索引字段可以被更快地读取,而且可以在一个数据页上放置更多的数据行,因而也就减少了i/o操作。    把一个表放在某个物理设备上,再通过sql server的段把它的不分簇索引放在一个不同的物理设备上,这样能提高性能

Oracle AWR 报告详解

杀马特。学长 韩版系。学妹 提交于 2020-02-16 07:05:30
转自: http://blog.csdn.net/laoshangxyc/article/details/8615187 持续更新中。。。 Oracle awr报告详解 DB Name DB Id Instance Inst num Startup Time Release RAC ORCL 1295334343 orcl 1 09-1月 -12 18:01 11.2.0.1.0 NO DB Name :数据库名 DB Id :数据库Id(获取方法select dbid from v$database;) Instance: 实例名 Inst num: 实例个数,这里为单实例 Startup Time: 实例启动时间 Release :Oracle数据库版本 RAC:是否是RAC Host Name Platform CPUs Cores Sockets Memory (GB) XIANGYC Microsoft Windows IA (32-bit) 4 2 1 1.87 Host Name: 主机名 Platform:数据库所在平台,即主机系统(可以从v$database中查出)。 CPUs:逻辑cpu数量可以从oracle数据库初始化参数cpu_count查看(show parameter cpu_count)。 Cores:cpu核数。 Sockets:CPU插槽

学习动态性能表 第一篇--v$sysstat

左心房为你撑大大i 提交于 2020-02-16 06:59:54
学习动态性能表 第一篇 --v$sysstat   按照 OracleDocument 中的描述, v$sysstat 存储自数据库实例运行那刻起就开始累计全实例 (instance-wide) 的资源使用情况。 类似于 v$sesstat ,该视图存储下列的统计信息: 1>. 事件发生次数的统计 ( 如: user commits) 2>. 数据产生,存取或者操作的 total 列 ( 如: redo size) 3>. 如果 TIMED_STATISTICS 值为 true, 则统计花费在执行操作上的总时间 ( 如: CPU used by this session) v$sysstat 视图常用列介绍: l STATISTIC#: 标识 l NAME: 统计项名称 l VALUE: 资源使用量 该视图还有一列 class- 统计类别但极少会被使用,各类信息如下: 1 代表事例活动 2 代表 Redo buffer 活动 4 代表锁 8 代表数据缓冲活动 16 代表 OS 活动 32 代表并行活动 64 代表表访问 128 代表调试信息 注意: Statistic# 的值在不同版本中各不相同,使用时要用 Name 做为查询条件而不要以 statistic# 的值做为条件。 使用 v$sysstat 中的数据   该视图中数据常被用于监控系统性能。如 buffer cache

CPU中断的工作原理,从最底层讲起

a 夏天 提交于 2020-02-15 13:23:23
  前言   中断的概念属于硬件层。虽然我们在进行软件编程时不会直接使用中断,但理解它对我们来说依然重要。   我们在使用线程切换及状态管理、异常处理、硬件与处理器的交互、I/O操作等指令时,中断都在默默的为我们服务。   处理器基于硬件封装对外的指令集,底层语言封装指令集为我们提供更加简单的抽象,高级语言基于底层语言赋予程序更明确的语义。可以看到在这条关系链条中,下层的变动会牵一发而动全身影响上层。而上层想要提高效率,改变机制也必须得到下层的支持。   像 I/O 处理的不断演进,从占用CPU等待到通过中断阻塞等待到多路复用与异步,如果没有下层的支持上层是不可能实现的。而不了解下层的原理我们也很难真正理解一个机制的高效的原因。因此了解下层的原理对应用层工程师来说同样重要。   什么是中断   现代计算机具有多任务处理的能力,往往一台我们办公使用的普通计算机上都会同时运行着几十上百的任务(进程)。我们很难想象,我们点击一下鼠标,需要等待计算机的进程调度模块调度到鼠标处理任务后再给我们做出响应,这对我们来说是不可接受的。   现实是我们在点击鼠标或键盘时(正如我现在在做的事情),计算机会立即给我反馈处理结果,计算机与我们之间是在进行实时交互的。而实时性的实现便是依赖了中断,中断是为了顺应人们对实时性交互的需求而产生的技术。中断之所以有用,是因为它会立刻停下当前的程序(软件

2020人工智能Ai芯片前言解读

一世执手 提交于 2020-02-15 09:51:25
芯片的概念: (半导体元件产品的统称)集成电路, 缩写 作 IC;或称微电路、微芯片、晶片/芯片,在 电子学 中是一种把 电路 (主要包括半导体设备,也包括被动组件等)小型化的方式,并时常制造在半导体 晶圆 表面上。 专业地讲就是: 将电路制造在半导体芯片表面上的集成电路又称 薄膜 (thin-film)集成电路。另有一种 厚膜 (thick-film) 集成电路 (hybrid integrated circuit)是由独立半导体设备和被动组件,集成到衬底或线路板所构成的小型化 电路 。 人工智能(Artificial Intelligence,AI)芯片的定义:从广义上讲只要能够运行人工智能算法的芯片都叫作 AI 芯片。但是通常意义上的 AI 芯片指的是针对人工智能算法做了特殊加速设计的芯片,现阶段,这些人工智能算法一般以深度学习算法为主,也可以包括其它机器学习算法。 AI芯片也被称为AI加速器或计算卡,即专门用于处理人工智能应用中的大量计算任务的模块(其他非计算任务仍由CPU负责)。当前,AI芯片主要分为 GPU 、 FPGA 、 ASIC 。 人工智能芯片四大类(按技术架构分类): 1、通用芯片(GPU)。 GPU是单指令、多数据处理,采用数量众多的计算单元和超长的流水线,主要处理图像领域的运算加速。 GPU是不能单独使用的,它只是处理大数据计算时的能手

MIT 6.828 JOS/XV6 LAB4-partA

不羁岁月 提交于 2020-02-14 20:17:02
这一部分要实现的是对多核处理器的支持,然后实现系统调用只喜欢用户应用创建新的应用,而且还要实现round-robin调度算法 Multiprocessor support jos中对CPU进行了抽象 要描述一个CPU, 需要知道id,运行状态,当前正在运行的进程 所有的cpu数目放在cpus数组中 接下来则是对有多个cpu的处理器的抽象,这里使用了三个结构体,总之是比较乱,目前还不能完全看懂 多核处理器的初始化都在mp_init函数中完成,首先是调用mpconfig函数,主要功能是寻找一个MP 配置条目,然后对所有的CPU进行配置,找到启动的处理器 接下来就是要完成lapic(local advanced programmable interrupt controller) apic主要是为与其连接的处理器传送中断信号 而CPU控制与其相关联的apic需要通过读写其中的寄存器,而读写寄存器则是通过映射IO(memory mapped IO)的方法来实现的 有一些物理内存是与apic的寄存器硬件相连的,这样可以通过读写内存完成对寄存器的读写 JOS中在ULIM之上,预留了4MB的内存空间来映射APIC的寄存器 所以在使用APIC之前首先要完成映射。首先需要调用mmio_map_region函数来实现 mmio_map_region函数的实现 这部分的实现还是比较简单的

如何用perf工具

拟墨画扇 提交于 2020-02-14 17:03:40
Perf 简介 Perf 是用来进行软件性能分析的工具。 通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计。它不但可以分析指定应用程序的性能问题 (per thread),也可以用来分析内核的性能问题,当然也可以同时分析应用代码和内核,从而全面理解应用程序中的性能瓶颈。 最初的时候,它叫做 Performance counter,在 2.6.31 中第一次亮相。此后他成为内核开发最为活跃的一个领域。在 2.6.32 中它正式改名为 Performance Event,因为 perf 已不再仅仅作为 PMU 的抽象,而是能够处理所有的性能相关的事件。 使用 perf,您可以分析程序运行期间发生的硬件事件,比如 instructions retired ,processor clock cycles 等;您也可以分析软件事件,比如 Page Fault 和进程切换。 这使得 Perf 拥有了众多的性能分析能力,举例来说,使用 Perf 可以计算每个时钟周期内的指令数,称为 IPC,IPC 偏低表明代码没有很好地利用 CPU。Perf 还可以对程序进行函数级别的采样,从而了解程序的性能瓶颈究竟在哪里等等。Perf 还可以替代 strace,可以添加动态内核 probe 点,还可以做 benchmark 衡量调度器的好坏 perf 的基本使用

到底应该怎么理解“平均负载”?

廉价感情. 提交于 2020-02-14 10:49:20
极客时间-倪鹏飞 课程《Liunx性能优化实战》学习专栏 ............................................................................................... 一、什么是平均负载 正确定义:单位时间内,系统中处于可运行状态和不可中断状态的平均进程数。 错误定义:单位时间内的cpu使用率。 可运行状态的进程:正在使用cpu或者正在等待cpu的进程,即ps aux命令下STAT处于R状态的进程 不可中断状态的进程:处于内核态关键流程中的进程,且不可被打断,如等待硬件设备IO响应,ps命令D状态的进程 理想状态:每个cpu上都有一个活跃进程,即平均负载数等于cpu数 过载经验值:平均负载高于cpu数量70%的时候 二、相关命令 cpu核数: lscpu、 grep 'model name' /proc/cpuinfo | wc -l 显示平均负载:uptime、top,显示的顺序是最近1分钟、5分钟、15分钟,从此可以看出平均负载的趋势 watch -d uptime: -d会高亮显示变化的区域 strees: 压测命令,--cpu cpu压测选项,-i io压测选项,-c 进程数压测选项,--timeout 执行时间 mpstat: 多核cpu性能分析工具,-P ALL监视所有cpu