Fork me on GitHub

随笔分类 -  performance

摘要:bw_mem:测试内存带宽。 bw_mem 是 lmbench 套件中的一个工具,用于测试内存带宽。以下是 bw_mem 的使用选项: -P <parallelism>:指定并行度,即同时进行读写操作的线程数,默认为1。 -W <warmups>:指定预热时间,即测试前先进行一段时间的数据填充以缓存 阅读全文
posted @ 2024-12-17 21:58 yooooooo 阅读(85) 评论(0) 推荐(0) 编辑
摘要:当我们使用top命令查看系统的资源使用情况时会看到 load average,如下图所示。它表示系统在1、5、15分钟的平均工作负载。那么什么是负载(load)呢?它和CPU的利用率又有什么关系呢? load average:系统平均负载是CPU的Load,它所包含的信息不是CPU的使用率状况,而是 阅读全文
posted @ 2024-11-25 14:02 yooooooo 阅读(299) 评论(0) 推荐(1) 编辑
摘要:前言 上篇博客介绍了iostat的一些输出,这篇介绍blktrace这个神器。上一节介绍iostat的时候,我们心心念念希望得到块设备处理io的service time,而不是service time + wait time,因为对于评估一个磁盘或者云磁盘而言,service time才是衡量磁盘性 阅读全文
posted @ 2024-11-20 21:18 yooooooo 阅读(118) 评论(0) 推荐(1) 编辑
摘要:adb shell stop thermald adb shell stop thermal-engine adb shell "echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus" adb shell "echo 4 > /sys/dev 阅读全文
posted @ 2024-10-24 10:47 yooooooo 阅读(192) 评论(0) 推荐(0) 编辑
摘要:简介 Dhrystone是测量处理器运算能力的最常见基准程序之一,常用于处理器的整型运算性能的测量。程序是用C语言编写的,因此C编译器的编译效率对测试结果也有很大影响。 Dhrystone是由Reinhold P. Weicker在1984年提出来的一个基准测试程序,其主要目的是测试处理器的整数运算 阅读全文
posted @ 2024-10-08 11:19 yooooooo 阅读(444) 评论(0) 推荐(0) 编辑
摘要:initrd的全名是 init ramdisk,是一个启动时存在于内存的文件系统。 kernal 到 initrd的流程 在GRUB加载kernel时,kernel会先在内存中制造一个rootfs当做临时的空间供系统使用,接下来,kernel便会将initrd当做是一个系统,将其mount到root 阅读全文
posted @ 2024-09-25 16:51 yooooooo 阅读(102) 评论(0) 推荐(0) 编辑
摘要:systemd-analyze简介 systemd-analyze是Linux自带的分析系统启动性能的工具。 systemd-analyze可使用的命令: systemd-analyze [OPTIONS…] [time] systemd-analyze [OPTIONS…] blame syste 阅读全文
posted @ 2024-09-10 16:49 yooooooo 阅读(181) 评论(0) 推荐(0) 编辑
摘要:在 Android 中,Render 线程(也称为渲染线程)是一个专门用于处理 UI 绘制和动画的线程。它的主要职责是确保用户界面在屏幕上流畅且高效地呈现。这个线程的引入是为了将渲染任务从主线程(UI 线程)中分离出来,以避免主线程因过多任务阻塞而导致界面卡顿或无响应的情况。 Render 线程的主 阅读全文
posted @ 2024-09-08 22:56 yooooooo 阅读(144) 评论(0) 推荐(0) 编辑
摘要:在 Android 中,VSYNC(Vertical Synchronization)是一个垂直同步信号,用于协调显示刷新和绘图操作。VSYNC 信号的主要作用是控制屏幕刷新频率与图形渲染的同步,以确保画面显示平滑且没有撕裂现象。 VSYNC 的工作原理 显示刷新周期:屏幕的刷新率(通常为 60Hz 阅读全文
posted @ 2024-09-08 22:39 yooooooo 阅读(192) 评论(0) 推荐(0) 编辑
摘要:此篇将重点介绍几种常用的Android性能分析工具: 一、Logcat 日志 选取Tag=ActivityManager,可以粗略地知道界面Displaying的时间消耗。当我们打开一个Activity的时候,log会打印一串log如下: I/ActivityManager﹕ Displayed x 阅读全文
posted @ 2024-08-28 22:27 yooooooo 阅读(524) 评论(0) 推荐(0) 编辑
摘要:SchedTune SchedTune是一项与CPU调频相关的性能提升技术,它实现为一个cgroup控制器。 这个控制器提供了一个名称为schedtune.boost的配置参数,运行时系统可以使用它来更改该组中的进程的调度方式。 每当调整这个参数的时候,它会使受影响的进程看起来比实际更重(或更轻)。 阅读全文
posted @ 2024-08-17 13:00 yooooooo 阅读(219) 评论(0) 推荐(0) 编辑
摘要:提高缓存命中率是优化系统性能的关键策略之一。以下是一些提高缓存命中率的有效方法: 数据局部性优化: 空间局部性:优化数据访问模式,使得数据访问在空间上连续,比如通过循环展开和数据重排。 时间局部性:确保数据在被访问后不久再次被访问,比如通过循环重排和数据重用。 缓存行对齐: 确保数据结构的布局与缓存 阅读全文
posted @ 2024-07-24 15:03 yooooooo 阅读(278) 评论(0) 推荐(0) 编辑
摘要:Google在在Android11及之后版本的LMKD中,使用了psi作为杀进程的策略,本文简单介绍下psi。 转载自使用PSI(Pressure Stall Information)监控服务器资源_Linux_gameneedless_InfoQ写作社区 1.概述 当 CPU、内存或 IO 设备争 阅读全文
posted @ 2024-07-18 18:33 yooooooo 阅读(228) 评论(0) 推荐(0) 编辑
摘要:概要介绍 为了保证Android系统的顺滑体验,各个厂家都有针对性的对Android系统做了性能优化的方案。高通也基于AOSP开发了一套性能优化框架,本文叫做BoostFramework。本文将介绍下BoostFramework的基本框架。BoostFramework的结构框架 BoostFrame 阅读全文
posted @ 2024-07-17 16:24 yooooooo 阅读(162) 评论(0) 推荐(0) 编辑
摘要:目录背景CPU调频概念实现验证线程CPU亲和性概念亲和性控制API应用层控制实现验证线程优先级概念实现验证 背景 为了进一步优化APP性能,最近针对如何提高应用对CPU的资源使用、以及在多线程环境下如何提高关键线程的执行优先级做了技术调研。本文是对技术调研过程的阶段性总结,将分别介绍普通应用如何调控 阅读全文
posted @ 2024-07-16 23:39 yooooooo 阅读(556) 评论(0) 推荐(0) 编辑
摘要:APP启动方式 App启动方式分三种:冷启动(cold start)、热启动(hot start)、温启动(warm start) ▲ 冷启动 系统不存在App进程(APP首次启动或APP被完全杀死)时启动APP此时,APP的启动将经历两个阶段: 第一阶段 1.加载并启动app;2.app启动后,第 阅读全文
posted @ 2024-06-27 17:37 yooooooo 阅读(504) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示