Fork me on GitHub
侧边栏

随笔分类 -  performance

摘要:bw_mem:测试内存带宽。 bw_mem 是 lmbench 套件中的一个工具,用于测试内存带宽。以下是 bw_mem 的使用选项: -P <parallelism>:指定并行度,即同时进行读写操作的线程数,默认为1。 -W <warmups>:指定预热时间,即测试前先进行一段时间的数据填充以缓存 阅读全文
posted @ 2024-12-17 21:58 yooooooo 阅读(318) 评论(0) 推荐(0)
摘要:当我们使用top命令查看系统的资源使用情况时会看到 load average,如下图所示。它表示系统在1、5、15分钟的平均工作负载。那么什么是负载(load)呢?它和CPU的利用率又有什么关系呢? load average:系统平均负载是CPU的Load,它所包含的信息不是CPU的使用率状况,而是 阅读全文
posted @ 2024-11-25 14:02 yooooooo 阅读(767) 评论(0) 推荐(1)
摘要:前言 上篇博客介绍了iostat的一些输出,这篇介绍blktrace这个神器。上一节介绍iostat的时候,我们心心念念希望得到块设备处理io的service time,而不是service time + wait time,因为对于评估一个磁盘或者云磁盘而言,service time才是衡量磁盘性 阅读全文
posted @ 2024-11-20 21:18 yooooooo 阅读(281) 评论(0) 推荐(1)
摘要:简介 Dhrystone是测量处理器运算能力的最常见基准程序之一,常用于处理器的整型运算性能的测量。程序是用C语言编写的,因此C编译器的编译效率对测试结果也有很大影响。 Dhrystone是由Reinhold P. Weicker在1984年提出来的一个基准测试程序,其主要目的是测试处理器的整数运算 阅读全文
posted @ 2024-10-08 11:19 yooooooo 阅读(721) 评论(0) 推荐(0)
摘要:在 Android 中,Render 线程(也称为渲染线程)是一个专门用于处理 UI 绘制和动画的线程。它的主要职责是确保用户界面在屏幕上流畅且高效地呈现。这个线程的引入是为了将渲染任务从主线程(UI 线程)中分离出来,以避免主线程因过多任务阻塞而导致界面卡顿或无响应的情况。 Render 线程的主 阅读全文
posted @ 2024-09-08 22:56 yooooooo 阅读(237) 评论(0) 推荐(0)
摘要:在 Android 中,VSYNC(Vertical Synchronization)是一个垂直同步信号,用于协调显示刷新和绘图操作。VSYNC 信号的主要作用是控制屏幕刷新频率与图形渲染的同步,以确保画面显示平滑且没有撕裂现象。 VSYNC 的工作原理 显示刷新周期:屏幕的刷新率(通常为 60Hz 阅读全文
posted @ 2024-09-08 22:39 yooooooo 阅读(389) 评论(0) 推荐(0)
摘要:SchedTune SchedTune是一项与CPU调频相关的性能提升技术,它实现为一个cgroup控制器。 这个控制器提供了一个名称为schedtune.boost的配置参数,运行时系统可以使用它来更改该组中的进程的调度方式。 每当调整这个参数的时候,它会使受影响的进程看起来比实际更重(或更轻)。 阅读全文
posted @ 2024-08-17 13:00 yooooooo 阅读(409) 评论(0) 推荐(0)
摘要:提高缓存命中率是优化系统性能的关键策略之一。以下是一些提高缓存命中率的有效方法: 数据局部性优化: 空间局部性:优化数据访问模式,使得数据访问在空间上连续,比如通过循环展开和数据重排。 时间局部性:确保数据在被访问后不久再次被访问,比如通过循环重排和数据重用。 缓存行对齐: 确保数据结构的布局与缓存 阅读全文
posted @ 2024-07-24 15:03 yooooooo 阅读(426) 评论(0) 推荐(0)
摘要:Google在在Android11及之后版本的LMKD中,使用了psi作为杀进程的策略,本文简单介绍下psi。 转载自使用PSI(Pressure Stall Information)监控服务器资源_Linux_gameneedless_InfoQ写作社区 1.概述 当 CPU、内存或 IO 设备争 阅读全文
posted @ 2024-07-18 18:33 yooooooo 阅读(378) 评论(0) 推荐(0)
摘要:目录背景CPU调频概念实现验证线程CPU亲和性概念亲和性控制API应用层控制实现验证线程优先级概念实现验证 背景 为了进一步优化APP性能,最近针对如何提高应用对CPU的资源使用、以及在多线程环境下如何提高关键线程的执行优先级做了技术调研。本文是对技术调研过程的阶段性总结,将分别介绍普通应用如何调控 阅读全文
posted @ 2024-07-16 23:39 yooooooo 阅读(1008) 评论(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 阅读(818) 评论(0) 推荐(0)
摘要:Sysdig 简介 Sysdig 官网 上对自己的介绍是: Open Source Universal System Visibility With Native Contaier Support. 它的定位是系统监控、分析和排障的工具,其实在 Linux 平台上,已经有很多这方面的工具 strac 阅读全文
posted @ 2022-12-31 18:59 yooooooo 阅读(2979) 评论(0) 推荐(0)
摘要:perf除了上述的采样形式,还支持解析函数执行的完整调用栈,并得到调用栈中各个环节的cpu消耗,并对位于同一调用栈的各个环节的采样占比进行加总,得到占用cpu比例最高的顶层栈。使用如下命令进行采样 perf record -g --call-graph fp xxx # xxx 代表具体要执行的命令 阅读全文
posted @ 2022-08-28 16:43 yooooooo 阅读(2739) 评论(0) 推荐(0)
摘要:排查顺序 整体情况: top/htop/atop命令查看进程/线程、CPU、内存使用情况,CPU使用情况; dstat 2查看CPU、磁盘IO、网络IO、换页、中断、切换,系统I/O状态; vmstat 2查看内存使用情况,内存状态; iostat -d -x 2查看所有磁盘的IO情况,系统I/O状 阅读全文
posted @ 2021-08-26 14:56 yooooooo 阅读(187) 评论(0) 推荐(0)