自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(253)
  • 资源 (6)
  • 收藏
  • 关注

原创 Android Camera性能优化概述

做camera性能优化方面的工作有几年了,想写一篇文章简单介绍一下其中涉及到的具体技术,这篇文章会大概介绍一下涉及到的技术。

2024-10-07 21:31:41 1517

原创 Android中使用eBPF跟踪进程kgsl内存分配

在微信公众号写了一篇关于高通平台 kgsl 内存文章,可以参考:Android中使用eBPF跟踪进程kgsl内存分配

2024-09-11 14:54:41 270

原创 Android中使用eBPF跟踪 FD打开与关闭

我们知道在Android系统中 fd 泄露,可以通过 google 开发的 fdtrack来进行排查,但是有些情况下我们想在外发release版本去监控fd泄露情况,fdtrack就不能很好的满足需求了。可以用eBPF去监控fd泄露。

2024-09-06 18:33:03 262

原创 Android中使用 eBPF 跟踪 native RSS内存

在公众号上写了一篇文章,在Android中使用 eBPF 跟踪native 内存,跟踪的是 rss_stat 这个tracepoint。

2024-09-03 18:08:51 517

原创 使用libbpf-bootstrap框架构建eBPF程序

在公众号写了一篇文章,可以参考如上链接。

2024-09-01 17:14:38 436

原创 Android中的eBPF程序简介

Android中的eBPF程序简介

2024-08-30 13:16:17 161

原创 libmemunreachable VS LeakSanitizer

libmemunreachable VS LeakSanitizer

2024-07-18 17:32:28 153

原创 Linux文件基础操作

Linux文件基础操作

2024-06-30 22:23:07 140

原创 addr2line + objdump 定位crash问题

addr2line + objdump 定位crash问题

2024-04-26 15:46:47 1447

原创 uprobe使用简介

uprobe使用简介

2024-03-21 16:15:12 1365

原创 解析进程 /proc/pid/maps 和 /proc/pid/smaps

就是当进程申请内存的时候,Linux会给他先分配页,但是并不会区建立页与页框的映射关系,意思就是说并不会分配物理内存,而当真正使用的时候,就会产生一个缺页异常,硬件跳转page fault处理程序执行,在其中分配物理内存,然后修改页表(创建页表项)。查看该page的引用数,如果引用>1,则归为shared,如果是1,则归为private,同时也查看该page的flag,是否标记为_PAGE_DIRTY,如果不是,则认为干净的。对匿名映射来说,因为没有文件在磁盘上,所以没有设备号,始终为00:00。

2024-03-08 16:43:07 2506

原创 Qcom camera hal简介

Qcom camera hal简介

2024-02-28 16:46:30 3447 2

原创 STL unordered_set/unordered_map 不能默认hash vector?

STL unordered_set/unordered_map 不能默认hash vector?

2024-02-23 17:18:14 607

原创 Page_owner使用分析

Page_owner使用简介

2024-01-26 10:58:28 1093

原创 Lsan backtrace出现unknow module解决方案

Lsan backtrace出现unknow module解决方案

2024-01-25 16:48:00 1101

原创 simpleperf、Flame Graph使用简介

使用simpleperf分析camera gpu内存泄露问题 、camera 算法GPU内存拆解

2024-01-24 17:54:36 2264

原创 二阶构造设计模式

二阶构造设计模式

2024-01-13 23:28:28 562

原创 Android perfetto memory开源工具分析

深入浅出Android perfetto memory分析工具

2024-01-12 18:24:32 1433

原创 深入浅出Android dmabuf_dump工具

Android dmabuf_dump 工具介绍

2024-01-11 18:58:32 3845

原创 对比fwrite、mmap、DirectIO 的内存、性能开销,剖析 Page Cache

思考一个问题:Page Cache 到底是属于内核空间还是属于用户空间呢?如何用数据观测Page Cache?_如何查看page cache-CSDN博客。

2024-01-09 18:15:25 1370

原创 记录一次 Linux/Android 读取大文件失败

最近在做项目的过程中,有一个需要是连续读5个以上的 500MB+的文件,对齐进行解压缩。常见的做法是通过 std::ifstream 或者 fopen 来进行读取。但是在第二次读取的时候文件就一直为0。

2023-12-14 14:33:04 403

原创 HWAsan机制

hwasan是Hardware Address Sanitizer的简称,它是clang llvm提供的一套内存错误检测系统,可以用来检测C/C++代码常见的内存错误相比与之前的asan(Address Sanitizer)它在性能、内存占用上都有不小的提升,但是由于它使用了依赖AArch64的Address tagging特性,所以只能在64位程序开启,目前只有Android 10.0及以上版本的AArch64默认支持了hwasan。

2023-11-29 11:43:52 782

原创 基于eBPF检测 进程生命周期

基于eBPF检测 进程生命周期

2023-11-27 17:49:26 368

原创 Linux线程编程

Linux线程编程

2023-11-19 21:39:25 224

原创 Android中eBPF使用原理以及 kprobe dmabuf_setup实例

Android中eBPF使用原理以及实例

2023-11-14 17:36:44 950 4

原创 使用 eBPF检测 mmap泄露

使用 eBPF检测 mmap泄露

2023-11-11 22:27:56 486

原创 eBPF BCC开源工具简介

eBPF BCC工具简介

2023-11-05 21:49:02 272

原创 浮点数和定点数(上):怎么用有限的Bit表示尽可能多的信息?

可以说,在实际的应用过程中,这些有零有整的实数,是和整数同样常用的数据类型,我们也需要考虑到。本来 32 个比特我们可以表示 40 亿个不同的数,但是在 BCD 编码下,只能表示 1 亿个数,如果我们要精确到分的话,那么能够表示的最大金额也就是到 100 万。因为我们的浮点数,不仅仅想要表示很大的数,还希望能够表示很小的数,所以指数位也会有负数。宇宙内的原子的数量,大概在 10 的 82 次方左右,我们就用 1.0×10^82 这样的形式来表示这个数值,不需要写下 82 个 0。

2023-10-31 17:53:39 121

原创 乘法器:如何像搭乐高一样搭电路(下)?

乘法器:如何像搭乐高一样搭电路(下)?

2023-10-31 16:50:47 114

原创 39 :C语言与汇编语言混合编程

39 :C语言与汇编语言混合编程

2023-10-29 22:31:49 367

原创 33-36 : 深入浅出x86中断机制

33:深入浅出x86中断机制(上)

2023-10-28 18:18:26 205

原创 加法器:如何像搭乐高一样搭电路(上)?

加法器:如何像搭乐高一样搭电路(上)?

2023-10-22 18:35:49 175

原创 理解电路:从电报机到门电路,我们如何做到“千里传信”?

输出端的作用,不仅仅是通过一个蜂鸣器或者灯泡,提供一个供人观察的输出信号,通过“螺旋线圈 + 磁性开关”,使得我们有“开”和“关”这两种状态,这个“开”和“关”表示的“1”和“0”,还可以作为后续线路的输入信号,让我们开始可以通过最简单的电路,来组合形成我们需要的逻辑。当我们把输出端的“螺旋线圈 + 磁性开关”的组合,从默认关掉,只有通电有了磁场之后打开,换成默认是打开通电的,只有通电之后才关闭,我们就得到了一个计算机中的“非”操作。就像晶体管在不同的情况下,表现为导电的“1”和绝缘的“0”的状态。

2023-10-22 14:27:05 280

原创 编程接口:eBPF 程序是怎么跟内核进行交互的?

编程接口:eBPF 程序是怎么跟内核进行交互的?

2023-10-21 21:12:53 549

原创 运行原理:eBPF 是一个新的虚拟机吗?

运行原理:eBPF 是一个新的虚拟机吗?

2023-10-21 18:54:11 363

原创 使用simpleperf跟踪自定义的perf events

使用simpleperf跟踪自定义的perf events

2023-10-16 16:13:04 418

原创 二进制编码:“手持两把锟斤拷,口中疾呼烫烫烫”?

二进制编码:“手持两把锟斤拷,口中疾呼烫烫烫”?

2023-10-15 20:58:48 283

原创 动态链接:程序内部的“共享单车”

动态链接:程序内部的“共享单车”

2023-10-15 15:49:16 111

原创 程序装载:“640K内存”真的不够用么?

程序装载:“640K内存”真的不够用么?

2023-10-15 14:20:14 237

原创 ELF和静态链接:为什么程序无法同时在Linux和Windows下运行?

ELF和静态链接:为什么程序无法同时在Linux和Windows下运行?

2023-10-15 13:55:09 282

Page-owner使用简介

page_owner_sort

2024-01-26

simpleperf-tools.tar.gz

simpleperf_tools

2024-01-11

基于QT4的简易绘图小软件

基于经典C++语言和QT4平台,自己架构并实现一个简单的绘制图形的小软件,包含基本的基本的自由绘制图形,矩形,圆形等等。资源里面包括程序代码和可以运行的小软件,对C++,QT4感兴趣的可以下载来玩一下哟,欢迎来交流哦

2020-08-05

基于QT4的简易文本编辑器小软件

基于经典C++语言和QT4平台,自己架构并实现一个简单的文本编辑器小软件。资源里面包括程序代码和可以运行的小软件,对C++,QT感兴趣的可以下载来玩一下哟,欢迎来交流哦

2020-08-05

基于QT4的简易计算器小软件

基于经典C++语言和QT4平台,自己架构并实现一个简单的计算器小软件。资源里面包括程序代码和可以运行的小软件,对C++,QT感兴趣的可以下载来玩一下哟,欢迎来交流哦。

2020-08-05

NewCalculator.zip

基于QT4.7.1,用Qt实现的简单计算器界面,可以支持+,-,*,/,()运算,不是拖拽出来的,是用程序实现的。

2019-12-14

NotePadPlus-EnglishVersion.7z

自己动手实现的文本编辑器的小项目,用QT写的,不是拖拽出来的,是用程序写出来的。感兴趣的朋友可以下载下来玩玩哦

2019-12-14

王道考研计算机组成原理上课课件.zip

王道考研计算机组成原理上课课件,整理的很清楚,适合打印下来,对照的视频学习。想要的小伙伴可以下载哦~

2019-11-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除