自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 lowmem_reserve学习

Linux把物理内存划分为三个层次管理存储节点Node:CPU被划分为多个节点,内存被分簇,每个CPU对应一个本地物理内存,即一个CPUnode对应一个内存簇bank,即每个内存簇被认为是一个节点。内存节点主要依据CPU访问代价的不同而划分。管理区Zone:每个物理内存节点node被划分为多个内存管理区域,用于表示不同范围的内存,内核可以使用不同的 映射方式映射物理内存。通常一个节点分为DM...

2020-01-07 22:24:22 538

原创 Systrace使用和分析

Systrace是分析Android设备性能的主要工具,systrace使用atrace来启用跟踪,然后读取ftrace缓冲区并将其全部封装到一个独立的HTML查看器里。systrace.py路径:C:\Users\ruxian.feng\AppData\Local\Android\Sdk\platform-toolssystrace抓取方式:如果想要分析Android系统或者APP的问题,需...

2020-01-07 22:23:24 1617

原创 gfp&内存分配学习

zone type:Zone从高到底是:ZONE_MOVABLE,ZONE_HIGHMEM,ZONE_NORMAL,ZONE_DMA32,ZONE_DMA伙伴系统:在每个管理区,页框被伙伴系统的部分来处理。Linux的伙伴系统解决外碎片问题,把所有的空闲页框分组为11个块链表,每个链表块分别包含大小为1,2,4,8…1024个连续的页框,GFP_ZONE_TABLE:相关注释如下: * GF...

2019-11-07 22:12:34 1343

原创 ls -l,chmod命令

ls -l命令:第一行表示所占空间的总和文件属性一共有10个字母组成,第一个字符表示文件类型-表示该文件是一个普通文件d表示这是一个目录l表示这是一个链接文件b表示这是一个块设备文件,一般放在/dev目录下,最小数据传输单位为一个数据块,如硬盘,光盘等(512字节)(待学习)c表示该文件是一个字符设备文件,一次传输一个字节,如键盘,字符终端等p表示这是一个管道文件,与shell...

2019-10-12 15:27:48 410

原创 proc mlock

proc:对内核数据的常规访问点,是一个特殊的文件系统,是内核和内核模块用来向进程发送信息的机制,可以和内核的数据结构进行交互,获取进程的信息带数字的文件夹表示进程,PIDps是显示进程信息的一个指令,grep是查看含有指定字符串的命令每列的含义:UID 启动这些进程的用户PID 进程IDPPID 父进程IDC 进程CPU中的利用率ST...

2019-08-28 20:03:25 230

原创 linux基本概念

操作系统必须完成的两个主要目标:与硬件部分进行交互,为包含在硬件平台上的所有底层可编程部位提供服务为运行在计算机系统上的应用程序(用户进程)提供执行环境类Unix操作系统把计算机物理组织相关的底层细节都对用户运行的程序封装起来,当程序想要使用硬件资源时,必须向操作系统发出一个请求,内核对这个请求评估,如果允许使用这个资源,内核代表应用程序与相关的硬件部分进行交互。硬件为CPU引入了至少...

2019-08-26 14:10:52 142

原创 Linux系统结构

Linux系统主要4个部分:内核,shell,文件系统和应用程序内核是操作系统的核心,负责系统的进程,内存,设备驱动程序,文件和网络系统Linux shell:shell是系统的用户界面,提供用户和内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行,是一个命令解释器...

2019-08-26 14:10:12 91

原创 swap机制

匿名页:没有文件背景的页面,如:堆栈数据段文件页的回收:将文件页回收到相应的磁盘上匿名页的回收:在磁盘上划分额外分区,磁盘设备作为交换设备,交换设备必须是块设备。swap机制:在内存不够用时,将部分内存上的数据交换到swap空间上,以便让系统不会因内存不够而导致OOM或更致命的情况。内存回收的两种情况:内核设计一个周期性回收内存的机制,不至于让系统的剩余内存长期处于很少的状态。有大于...

2019-08-21 17:21:03 1357

原创 mtklog使用

mtklog:是由log生成工具MTKLogger生成的一系列问题追踪文件,主要作用就是对系统或者应用产生的异常快速定位并解决问题。mtklog 的分类:MDLog、Mobile Log、Network Log,可能出现的aee_exp logMD log:medom 相关底层的logMobile Log:主要是Android log 和kernel logNetwork log:网络相...

2019-08-20 15:00:12 1549 2

原创 Linux文件系统

挂载:Linux根目录以外的文件要想被访问需要将其关联在在根目录的某个目录下,这个关联就叫挂载,这个目录就叫做挂载点,解除此关联关系成为卸载。可以通过/proc/filesystem来查看当前系统支持什么文件系统,支持什么文件系统是由内核决定的。第一列表示文件系统是否需要挂载在块设备上,有nodev表示不需要,第二列表示内核支持的文件系统不同系统下的挂载:Windows:给磁盘分区分配一...

2019-08-20 10:55:48 100

原创 monkey

monkey是android的一个命令行工具,作用于模拟器或显示设备,向系统发送伪随机用户事件流。

2019-08-16 09:59:36 92

原创 buddy算法分配释放内存

linux内核管理内存用二进制伙伴算法(Buddy算法)伙伴关系:一个母实体分成两个属性相同的子实体,这两个实体就是伙伴关系。一个内存块分成两个大小相同的子内存块,这两个就是伙伴关系。满足如下条件:两个块具有相同大小记为 2^K它们的物理地址是连续的从同一个大块中拆分出来每个内存块有2^order个页面,order相同的放在一个链表中。分配算法假如系统需要4(22)个页面大...

2019-08-14 19:02:08 227

原创 android内存回收

内存泄漏ML内存溢出OOMCPU只能访问寄存器和内存,存储在硬盘的文件要先放到内存,才能被CPU访问。访问速度快到慢:寄存器 内存 硬盘程序加载在内存中由四个区域组成堆栈(stack)堆(heap)代码段(code)数据段(data)Dalvik VM和ART内存回收机制退出不关闭:退出APP后,不关闭,还占用内存,下次使用快速响应。后台应用只耗内存,不占用CPU,不耗电...

2019-08-14 11:15:05 636

原创 repo上传下载代码

repo基于git仓库管理的工具,是一个python脚本,为了方便管理多个git库开发的,Android源码包含多个git库,因此下载源码时引入了repo。repo需要知道当前git库的路径数量等信息来管理git库,形成了一个git库清单,repo是通过一个git库来管理这个清单,这个库就是manifests。repo是一系列Python脚本的集合,也由一个git库来管理,这个...

2019-08-12 15:25:28 1690

空空如也

空空如也

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

TA关注的人

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