cpu参数

Linux终端下 dstat 监控工具

点点圈 提交于 2019-12-01 08:02:28
关于dstat dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了。dstat可以很方便监控系统运行状况并用于基准测试和排除故障。 dstat可以让你实时地看到所有系统资源,例如,你能够通过统计IDE控制器当前状态来比较磁盘利用率,或者直接通过网络带宽数值来比较磁盘的吞吐率(在相同的时间间隔内)。 dstat将以列表的形式为你提供选项信息并清晰地告诉你是在何种幅度和单位显示输出。这样更好地避免了信息混乱和误报。更重要的是,它可以让你更容易编写插件来收集你想要的数据信息,以从未有过的方式进行扩展。 Dstat的默认输出是专门为人们实时查看而设计的,不过你也可以将详细信息通过CSV输出到一个文件,并导入到Gnumeric或者Excel生成表格中。 特性 结合了vmstat,iostat,ifstat,netstat以及更多的信息 实时显示统计情况 在分析和排障时可以通过启用监控项并排序 模块化设计 使用python编写的,更方便扩展现有的工作任务 容易扩展和添加你的计数器(请为此做出贡献) 包含的许多扩展插件充分说明了增加新的监控项目是很方便的 可以分组统计块设备/网络设备,并给出总数 可以显示每台设备的当前状态 极准确的时间精度

多线程基础体系知识清单

三世轮回 提交于 2019-12-01 07:48:33
前言 本文会介绍Java中多线程与并发的基础,适合初学者食用。 线程与进程的区别 在计算机发展初期,每台计算机是串行地执行任务的,如果碰上需要IO的地方,还需要等待长时间的用户IO,后来经过一段时间有了批处理计算机,其可以批量串行地处理用户指令,但本质还是串行,还是不能并发执行。 如何解决并发执行的问题呢? 于是引入了进程的概念,每个进程独占一份内存空间,进程是内存分配的最小单位,相互间运行互不干扰且可以相互切换,现在我们所看到的多个进程“同时"在运行,实际上是进程高速切换的效果。 那么有了线程之后,我们的计算机系统看似已经很完美了,为什么还要进入线程呢?如果一个进程有多个子任务,往往一个进程需要逐个去执行这些子任务,但往往这些子任务是不相互依赖的,可以并发执行,所以需要CPU进行更细粒度的切换。所以就引入了线程的概念,线程隶属于某一个进程,它共享进程的内存资源,相互间切换更快速。 进程与线程的区别: 进程是资源分配的最小单位,线程是CPU调度的最小单位。所有与进程相关的资源,均被记录在PCB中。 线程隶属于某一个进程,共享所属进程的资源。线程只由堆栈寄存器、程序计数器和TCB构成。 进程可以看作独立的应用,线程不能看作独立的应用。 进程有独立的地址空间,相互不影响,而线程只是进程的不同执行路径,如果线程挂了,进程也就挂了。所以多进程的程序比多线程程序健壮,但是切换消耗资源多。

MTK 功耗优化(1)---MTK PerfService

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-01 06:05:02
在MTK芯片上如何控制CPU的核数和频率-MTK PerfService 一句话: PerfService 就是用来调整 CPU/GPU 资源的。对于老的 API ,可以更简单地讲就是调 CPU 核数和 CPU 频率的。 简介 kernel 中实现了两个 driver ,一个负责控制开关 CPU 的核数,叫做 hot-plug 驱动,另一个负责调整 CPU 的频率,叫做 DVFS 驱动。 kernel 中的 driver 会根据系统的负载情况下,自动调整使用几个 CPU 和调整 CPU 频率。如果负载高了,提高频率,或者多开几个核,或者开大核。如果负载降下去了,就可以关大核,关核,降频。 虽然现在的自动调频和调核的策略已经定义了很多,也在不断地完善,但是有两个问题:一是总有覆盖不到的情况,或者干脆就是互相矛盾的需求导致策略冲突。二是自动调度都是后知后觉的,只有发现负载上来了或者降下去了,才来做负载调节,需要一定的时间。这样,要么是效率不够,要么是功耗无谓地消耗掉。 PerfService 就是一个在用户空间来主动调节系统能力的服务。 调用PerfService 步骤 动态加载libperfservicenative.so 注册用户场景PerfServiceNative_userReg/PerfServiceNative_userRegBigLittle

Android 性能分析之TraceView使用(应用耗时分析)

瘦欲@ 提交于 2019-12-01 04:59:42
Android 性能分析之TraceView使用(应用耗时分析) 本文链接: https://blog.csdn.net/ecliujianbo/article/details/76608558 文章概览: TraceView概述 trace文件的3种生成方式 Android studio 直接生成(推荐) 嵌入代码代码生成 使用DDMS来生成 TraceView界面及参数介绍 使用TraceView分析,定位问题 相关资料 TraceView概述 Traceview是android平台配备一个很好的性能分析的工具。它可以把trace文件转化为图形,通过图形化的方式让我们了解我们要跟踪的程序的性能。当你有一个trace 的日志文件时(通过在程序添加trace代码或使用DDMS或studio生成),你可以使用TraceView加载日志文件,Traceview 可以帮助你调试你的应用和分析它的性能。 trace文件的3种生成方式 第一种,使用android studio 直接生成(推荐) 操作: 1,点击Monitors–>CPU栏目上的小闹钟(如下图),开始记录。 2,操作你手机需要分析的功能。比如,UI卡顿那块,应用耗时那块.. 3,在此点击Monitors–>CPU栏目上的小闹钟(如下图),结束记录,这是会生成trace文件。(可以点击studio 左侧的Captures

Android系统性能调优工具介绍

╄→尐↘猪︶ㄣ 提交于 2019-12-01 04:12:06
经作者授权,发表Tieto某青年牛的一篇《程序员》大作。 Android 系统性能调优工具介绍 在软件开发过程中,想必很多读者都遇到过系统性能问题。而解决系统性能问题的几个主要步骤是: 测评:对系统进行大量有针对性的测试,以得到合适的测试数据。 分析系统瓶颈:分析测试数据,找到其中的hotspot(热点,即bottleneck)。 性能优化:对hotspot相关的代码进行优化。 由上述步骤可知,性能优化的目标对象是 hotspot 。如果找到的 hotspot 并非真正的热点,则性能优化的结果必然是事倍功半甚至竹篮打水一场空。所以,作为 Android 性能调优相关知识的第一部分,本篇首先将向读者介绍 Android 平台中三个重要的性能测试工具,它们能很好得帮助开发者找到 hotspot 。 一 Traceview 介绍 1.1 Traceview 简介 Traceview 是 Android 平台特有的数据采集和分析工具,它主要用于分析 Android 中应用程序的 hotspot 。 Traceview 本身只是一个数据分析工具,而数据的采集则需要使用 Android SDK 中的 Debug 类或者利用 DDMS 工具。二者的用法如下: 开发者在一些关键代码段开始前调用Android SDK中Debug类的startMethodTracing函数

对缓存的思考——提高命中率

混江龙づ霸主 提交于 2019-12-01 03:36:07
开篇 编写高效的程序并不只在于算法的精巧,还应该考虑到计算机内部的组织结构,cpu微指令的执行,缓存的组织和工作原理等。 好的算法在实际中不见得有高效率,如果完全没有考虑缓存、微指令实现的话。 前两篇博文 局部性原理浅析 介绍了程序的局部性原理,如何写出局部性良好代码。 提高程序性能、何为缓存 讨论了存储器层次结构,计算机内部的存储结构、缓存的概念,简单的介绍了缓存的工作机制。 建议先阅读前两篇博文,虽然他们之间联系不大,在前面也有一些对本文的铺垫。而且,这是一个系列的文章。旨在优化程序性能。 这篇博文主要介绍的是缓存的组织、工作原理。拨开迷雾,让你更加清晰的认识缓存。 通用缓存结构 回顾 在 提高程序性能、何为缓存 中提到:早起的cpu存储层次只有三层,即cup的寄存器,DRAM主存和磁盘存储。因为寄存器和主存之间的访问时间开销差距很大,于是设计者在寄存器(一个时钟周期)和主存之间加入了L1缓存(2——4个时钟周期),后来由于L1缓存和主存之间的差距,又在主存和L1之间加入了L2缓存,当然后面还有L3缓存,,,等等。 在这里为了简单起见,假设CPU寄存器和主存之间只有一个L1缓存。 下图是高速缓存存储器的典型总线结构: 缓存结构 下图清晰的说明了通用缓存的组织结构: 可以看到,缓存内部是以组的形式组织的。图中的每一块代表一组,每组由一到多行组成(当然图中的是每组有多行)。

浅谈MySQL优化实施方案

妖精的绣舞 提交于 2019-12-01 02:40:00
在进行 MySQL 的优化之前必须要了解的就是 MySQL 的查询过程,很多的查询优化工作实际上就是遵循一些原则让 MySQL 的优化器能够按照预想的合理方式运行而已。 图 - MySQL查询过程 优化的哲学 优化有风险,涉足需谨慎。 优化可能带来的问题 优化不总是对一个单纯的环境进行,还很可能是一个复杂的已投产的系统。 优化手段本来就有很大的风险,只不过你没能力意识到和预见到! 任何的技术可以解决一个问题,但必然存在带来一个问题的风险! 对于优化来说解决问题而带来的问题,控制在可接受的范围内才是有成果。 保持现状或出现更差的情况都是失败! 优化的需求 稳定性和业务可持续性,通常比性能更重要! 优化不可避免涉及到变更,变更就有风险! 优化使性能变好,维持和变差是等概率事件! 切记优化,应该是各部门协同,共同参与的工作,任何单一部门都不能对数据库进行优化! 所以优化工作,是由业务需要驱使的!!! 优化由谁参与   在进行数据库优化时,应由数据库管理员、业务部门代表、应用程序架构师、应用程序设计人员、应用程序开发人员、硬件及系统管理员、存储管理员等,业务相关人员共同参与。 优化思路 优化什么 在数据库优化上有两个主要方面:即安全与性能。 安全 ---> 数据可持续性 性能 ---> 数据的高性能访问 优化的范围有哪些 存储、主机和操作系统方面 主机架构稳定性 I/O 规划及配置

CentOS查看CPU、内存、网络流量和磁盘 I/O

被刻印的时光 ゝ 提交于 2019-12-01 01:38:20
CentOS查看CPU、内存、网络流量和磁盘 I/O 安装 yum install -y sysstat sar -d 1 1 rrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s wrqm/s: 每秒进行 merge 的写操作数目。即 delta(wmerge)/s r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s rsec/s: 每秒读扇区数。即 delta(rsect)/s wsec/s: 每秒写扇区数。即 delta(wsect)/s rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算) wkB/s: 每秒写K字节数。是 wsect/s 的一半。(需要计算) avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio) avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。 await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio) svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use

查看cpu /内存

◇◆丶佛笑我妖孽 提交于 2019-11-30 22:51:59
1、 top 显示的 是 你的程序占用的的cpu的总数 2、 通过 cat/proc/cpuinfo 查看cpu 信息 cupinfo 参数的信息 endor_id :CPU制造商 cpu family :CPU产品系列代号 model   :CPU属于其系列中的哪一代的代号 model name:CPU属于的名字及其编号、标称主频 stepping  :CPU属于制作更新版本 cpu MHz  :CPU的实际使用主频 cache size :CPU二级缓存大小 physical id :单个CPU的标号 siblings :单个CPU逻辑物理核数 core id :当前物理核在其所处CPU中的编号,这个编号不一定连续 cpu cores :该逻辑核所处CPU的物理核数 apicid :用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续 fpu :是否具有浮点运算单元(Floating Point Unit) fpu_exception :是否支持浮点计算异常 cpuid level :执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容 wp :表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection) flags :当前CPU支持的功能 bogomips :在系统内核启动时粗略测算的CPU速度

linux分析工具之vmstat详解

佐手、 提交于 2019-11-30 22:51:45
一、概述 vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。首先我们查看下帮助。如下图所示: 使用语法: vmstat [-V] [-n] [delay [count]] -V:显示vmstat版本信息。 -n:只在开始时显示一次各字段名称。 -a:显示活跃和非活跃内存 -d:显示磁盘相关统计信息。 -p:显示指定磁盘分区统计信息 -s:显示内存相关统计信息及多种系统活动数量。 -m:显示slabinfo -S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes) -f:显示从系统启动至今的fork数量 。 delay:刷新时间间隔。 count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。 1.1、虚拟内存原理 在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间。当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供给有需要的进程使用。 在Linux内存管理中,主要是通过“调页Paging”和