最近发现自己学的很多东西没有做好积淀的工作,也萌生了写一些东西的念头.本人也没有写博客的习惯,下边就写一下手机端的性能测试. 最近公司,要我们从事对竞品的性能测试,我负责CPU和内存的性能测试,下面就和大家来分享一下android应用程序的CPU和内存的性能测试. 首先稍做分析一下测试环境:我们知道CPU和内存占用是一个实时变化的状态,而市面上还没有具体的哪款android应用能做到实时监控CPU和内存占用并使用log日志保存.考虑到android的底层框架是基于Linux的平台,所有我们可以通…
首先稍做分析一下测试环境:我们知道CPU和内存占用是一个实时变化的状态,而市面上还没有具体的哪款android应用能做到实时监控CPU和内存占用并使用log日志保存.考虑到android的底层框架是基于Linux的平台,所有我们可以通过Linux的资源监控命令来实现对android平台的资源实时监控. 要做到上边的测试环境的实现,需要具备以下几点: 1.被测试的手机具备root权限:因为涉及到底层的linux命令,需要读取或执行相应的文件.至于如何root你的手机,不同型号的手机root的方法不…
原文:.NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用? 都知道可以在任务管理器中查看进程的 CPU 和内存占用,那么如何通过 .NET 编写代码的方式来获取到 CPU 和内存占用呢? .NET 中提供了 PerformanceCounter 类型,可以用来监视系统中大量的性能问题. 本文内容 获取全局 CPU 和内存占用 获取当前进程的 CPU 和内存占用 获取全局 CPU 和内存占用 要获取到全系统中的 CPU 占用率,获取全系统中内存占用,需要首先分…
接上一篇 CPU跟内存一样,存在一些测试子项,如下清单所示 1.空闲状态下的应用CPU消耗情况 2.中等规格状态下的应用CPU消耗情况 3.满规格状态下的应用CPU消耗情况 4.应用CPU峰值情况 CPU的测试方法分为几类 1.使用android提供的adb shell dumpsys cpuinfo |grep packagename >/address/cpu.txt来获取 ,要root 2.使用top命令 adb shell top |grep packagename>/address/…
本篇文章总结了Android App性能测试过程中常用的adb命令.通过这些adb命令,可以查看App的性能数据,为评判性能好坏作参考. CPU相关 显示占用CPU最大的5个应用 adb shell top –m 5 查看CPU信息 adb shell dumpsys cpuinfo 内存相关 查看内存信息 adb shell dumpsys meminfo FPS相关 查看GPU信息 adb shell dumpsys gfxinfo 功耗相关 查看电池信息 adb shell dumpsys…
公司最近使用ElasticSearch作为数据报表汇总引擎.上线三个月累计数据800万,但是今天突然大面积出现查询超时,上服务器查看服务运行情况,发现cpu使用率高达300% mem 使用率也到了90%,下面记录了整个排查问题的过程 1.首先查看elastic cpu和mem占用情况 //首先查看所有进程 # top //找到对应的elasticserch运行的PID,查看占用内存比较高的线程,Ctrl+c 退出 #top -Hp 12345 //为了下面方便调用API,将elasticsear…
内存增序 ps aux --sort rss 内存减序 ps aux --sort -rss cpu增序 ps auxw --sort=%cpu cpu减序 ps auxw --sort=-%cpu 内存占用最多的10个进程 cpu占用最多的10个进程…
1.win键+R键打开运行对话框框,输入gpedit.msc打开本地组策略编辑器(组策略):2.依次打开计算机配置-管理模板-Windows组件-Windows Defender:3.如果要关闭Windows defender,则将“关闭 Windows Defender”项设置为“已启用”即可.4.如果要保留Windows defender,只解决CPU占用和内存占用高的问题,则继续下列步骤:5.打开“实时保护”,将里面的“不论何时启动实时保护,都会启动进程扫描”这一配置项设置为“已禁用”(此…
一.介绍: GT(随身调)是 APP 的随身调测平台,它是直接运行在手机上的"集成调测环境"(IDTE, Integrated Debug Environment).利用 GT,仅凭一部手机,无需连接电脑,您即可对APP进行快速的性能测试(CPU.内存.流量.电量.帧率/流畅度等等).开发日志的查看.Crash 日志查看.网络数据包的抓取.APP内部参数的调试.真机代码耗时统计等.如果您觉得 GT 提供的功能还不够满足您的需要,您还可以利用 GT 提供的基础 API 自行开发有特殊功能…
4.高效使用内存 4.1 说说内存 Android设备的性能主要取决于以下三因素: CPU如何操纵特定的数据类型: 数据和指令需占用多少存储空间: 数据在内存中的布局 4.2 数据类型 int和long数据使用了某些版本的快速排序算法排序,而short数据使用计数排序,它的算法复杂度是线性的.因此使用short类型,是一石二鸟之策:更少的内存消耗(2MB,而不是int的4MB或long的8MB),更快的运行速度 处理大量数据时,使用可满足要求的最小数据类型.如,基于性能和空间的考量,选择shor…
CPU---监控值的获取方法.脚本实现和数据分析 1.获取CPU状态数据 adb shell dumpsys cpuinfo | findstr packagename 自动化测试脚本见cpustatus.py 数据分析:做曲线图,可看出随着用户使用,CPU使用率逐渐增高,达到40%多,40%多是否是合理的值呢? 需要取经验值,再测20-30分钟,看CPU使用率是不是恒定的,如果是恒定的,并且这个值又在当前系统支持下的一个合理的范围,那么就是合理的.如果CPU使用率一直上升不下降到80%多,那么…
1,查看CPU占用量最高的会话及SQL语句   select spid,cmd,cpu,physical_io,memusage, (select top 1 [text] from ::fn_get_sql(sql_handle)) sql_text from master..sysprocesses order by cpu desc,physical_io desc   2,查看缓存重用次数少,内存占用大的SQL语句   SELECT TOP 100 usecounts, objtype,…
1.使用top命令 输入M表示按内存排序,也就是RES这一列从大到小排序了 它占用了3.3%的内存,用134568除以4030416结果就是3.3左右 也就是说 总物理内存是3.84GB RES这一列除以1024约等于130MB左右的物理内存,而VIRT这一列不具备参考性.因为可以看到它和实际的物理内存差不多大.甚至比物理内存还大 %MEM:进程使用的物理内存和总内存的百分比 通过下面命令可以查看物理内存占用前十的进程 其中VSZ这一列不具备参考性,RSS这一列才是实际物理内存占用情况 head…
一.端口占用情况   https://www.cnblogs.com/CEO-H/p/7794306.html (1)查看所有端口.进程的使用情况:netstat -tunlp (2)查看某一端口的使用情况: netstat -tunlp|grep 5560 二.查看内存使用情况 (1)查看占用情况(动态):top https://blog.csdn.net/hongkaihua1987/article/details/76573963 按下P(大写)可以找到占用内存最大的进程 (2)查看占用情…
iftop 查看带宽占用情况(总)yum install -y iftop 安装iftopnethogs 查看进程流量 curl http://218.5.73.233:8060/ip.php 查看出口ip 查看当前线程:ps -ef|grep javaps -ef|gerp com.meiya.main(包名) 1.CPU使用率情况命令:top 备注:用户占用CPU1.5%,系统占用CPU1.5%,空闲95.3%,其他占用1.7%:2.内存使用率情况命令:free -g 备注:内存总大小15G…
Android 是一个基于 Linux 内核的移动操作系统,Linux 的 CPU 占有率的计算方式也可以应用到 Android App 上. 今天分享的这个脚本的功能,是在多核情况下计算进程的 CPU 占有率.详细的算法,有一篇别人写的关于 Linux 环境下计算进程和线程的 CPU 占有率的文章,推荐一读,链接附在文末. 这里就简单说下计算步骤吧: 1.获取测试设备的 CPU 核心数 2.计算进程的 CPU 使用时间 3.计算总的 CPU 使用时间 4.进程的 CPU 使用率 = (进程的…
CpuInfo.java package com.dtest; import java.io.BufferedReader; import java.io.FileWriter; import java.io.InputStreamReader; class CpuInfo{ public static String getcpu(String packageName) throws Exception{ String str = null; try { Runtime runtime = Ru…
项目架构: React+TS+DVA 设备及软件: 设备:Mac 软件:VSCode 场景: 在Mac中使用VSCode运行时发现项目编译非常卡顿,时间长达五六分钟以上,并且项目启动后访问页面,页面也会有明显的卡顿. 初步检查: 打开活动监视器发现Code Helper启动了好几个,并且长时间占用非常高的CPU及内存(CPU超过100%,1个Code Helper进程占用1个多G内存) 解决方案: 将以下代码插入到VSCode的setting.json中去,并退出重新启动VSCode和项目 "s…
下面通过模拟实例分析排查Java应用程序CPU和内存占用过高的过程.如果是Java面试,这2个问题在面试过程中出现的概率很高,所以我打算在这里好好总结一下. 1.Java CPU过高的问题排查 举个例子,如下: package com.classloading; public class Test { static class MyThread extends Thread { public void run() { // 死循环,消耗CPU int i = 0; while (true) {…
原文  http://taobaofed.org/blog/2015/12/04/cpu-allocation-profiler/ 前言 6 月底的时候淘宝众筹的 H5 接入到了支付宝钱包,上线前支付宝钱包就对性能提出了明确要求:即页面静态下 app 的 CPU 消耗要低于 10%.我面临的第一个问题并不是如何优化,而是要如何便利地查看 CPU 的占用率.CPU 占用率的有效分析对于性能优化是至关重要的.因此,本文并不会讲移动端 CPU 占用率的优化,而是讲其“前戏”——如何查看移动端的 CPU…
转:http://www.kuqin.com/shuoit/20150618/346693.html?utm_source=www.race604.com 前言 在智能手机App竞争越来越激烈的今天,Android App各项性能如CPU.内存消耗等都是我们在开发测试中需要关注的指标,如何将App打造得更加“优雅”是我们需要不断追求探索的方向,下面我们从内存 和流畅度两个纬度来说说如何对Android App进行评测和调优. 一.内存 内存不是无限使用的,如果内存过大或泄漏会出现OOM(Out…
adb shell ->cat/sys/class/net/wlan0/address 获取Mac地址 abd shell –>cat /proc/cpuinfo 获取CPU信息 adb shell ->cat /proc/meminfo 查看当前内存占用 adb shell -> cat /proc/iomem 查看IO内存分区adb shell top 查看设备CPU和内存占用情况 adb shell top –n 1 刷新一次内存信息,然后返回 adb shell ps 查看…
安卓应用的流量统计有多种方式,点击「阅读原文」可以看到一篇别人写的文章,关于安卓流量数据的获取,写的挺全的,列举了几种不同方式的优劣.(见文末参考链接) 今天我要分享的是通过脚本一键获取应用的启动流量.脚本的编写方式和之前的<Shell脚本 | 性能测试之启动时间>有点类似.其实写了这么多shell脚本,说白了就是把各种平时手动执行的adb命令整合起来,然后再通过awk.grep.sed等命令将特定位置的数据从源文件里取出来经过加减乘除等操作最后输出想要的信息. 所以你看,也没多大技术含量.…
项目用的ivew+admin ivewUI,直接从github上拉下来用的,配置也没改,我们页面比较多,大该30个页面的样子,一启用,我们的电脑就卡了,然后,看一下,内存占用 1.5G+了,我们电脑4G内存..so..注:webpack用的还是2.2版本http://www.css88.com/doc/webpack2/concepts/ 分析:内存占用大应该是 webpack-dev-server这个插件机制导致的 devtool这个配置是将babel-loader转换后的代码生成一份对应的源…
内存测试: 思路 目前做的是酒店APP,另下载安装几个个第三方酒店的APP以方便对比(相当于可以做竞品测试) 数据的获取来源是ADB底层命令,而且最好是不需要root权限,因为很多手机root很麻烦或者无法root 获取数据之后需要存储到excel表单,然后根据数据自动进行绘图形成简单的曲线图用于观察 记录数据的过程可以用Monkey操作/手工操作,后期也可以考虑加入自动化测试用例进行联动 疑问: 此APP是需要登录的,MONKEY测试过程中退出账号后无法再进入程序内部,不知道其他公司是如何避免…
翻自:http://developer.android.com/training/articles/memory.html 在任何软件开发环境中,RAM都是宝贵的资源,但在移动操作系统中更加珍贵.尽管Dalvik虚拟机有垃圾回收机制,也不要忽略分配和释放内存. 为了让GC回收内存,你要避免内存泄漏(通常因为全局成员变量引用对象引起),并且在适当的时候释放对象引用.对大多数app来说,垃圾回收负责剩下的:当相应的对象离开app活动线程范围时,系统回收内存分配.为了让GC回收内存,你要避免内存泄漏(…
前言 APP内存的使用,是评价一款应用性能高低的一个重要指标.虽然现在智能手机的内存越来越大,但是一个好的应用应该将效率发挥到极致,精益求精. 这一篇中我们将着重介绍Android的内存优化.本文的篇幅很长,但是请不要嫌烦,因为每看一节,你就多了一份在面试官面前装X的资本. 什么是内存 通常情况下我们说的内存是指手机的RAM,它主要包括一下几个部分: - 寄存器(Registers读音:[ˈrɛdʒɪstɚ]) 速度最快的存储场所,因为寄存器位于处理器内部,所以在程序中我们无法控制. - 栈(S…
系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书本上的优化就适合眼下正在运行的系统,不同的系统.不同的硬件.不同的应用优化的重点也不同. 优化的方法也不同.优化的参数也不同.性能监测是系统优化过程中重要的一环,如果没有监测.不清楚性能瓶颈在哪里,怎么优化呢?所以找到性能 瓶颈是性能监测的目的,也是系统优化的关键.系统由若干子系统构成,通常修改一个子系…
原文:关于Android中图片大小.内存占用与drawable文件夹关系的研究与分析 相关: Android drawable微技巧,你所不知道的drawable的那些细节 经常会有朋友问我这个问题:“能不能一个App只提供一套切图适应所有的分辨率呢?”我觉得有必要写一篇文章来研究一下这个问题,所以就有了这篇文章. 研究内容 研究方法 测试环境 研究过程 结果分析 结论 另外一个难以解释的问题 研究内容 本篇内容主要探讨以下场景:同一张图片,放置在不同的drawable文件夹,在同一设备上运行,…
在实际的开发当中,尤其软件运行在一个硬件设备比较差的环境下,对软件占用资源大的问题是开发者们必须要解决的问题,系统比较卡.觉得应该看看程序的cpu和内存消耗 一直以来都在windows下编程,已经习惯了windows任务管理器或者资源监视器,此时猛然发现在android环境下自己还真不知道如何查看当前程序的cpu和内存消耗.于是查了一些资料,发现这篇文章讲的还算详细,本文对其进行了整理,并做了一点补充.先简单介绍下我的android安装目录,现在悔不该把android安装在C盘,太占地方了,搞的…