Fork me on GitHub

随笔分类 -  Memory Management

1 2 3 4 5 ··· 7 下一页
摘要:1. 概述 在linux启动过程中会打印出如下信息,这些信息为我们呈现出系统下的保留内存空间情况。 Reserved memory: created DMA memory pool at 0x4c000000, size 8 MiB OF: reserved mem: initialized nod 阅读全文
posted @ 2024-12-11 23:23 yooooooo 阅读(288) 评论(0) 推荐(0) 编辑
摘要:一、memblock简介 现实的物理内存是被截的一段一段的了,并不是一马平川的。伙伴系统要进行初始化,就需要知道哪些区域是可用的,哪些区域已经被占用了、被保留了,剩余的才可以用于伙伴系统的初始化。因此需要一个早期的内存管理机制,即 memblock 机制. 全局变量: struct memblock 阅读全文
posted @ 2024-12-09 23:36 yooooooo 阅读(44) 评论(0) 推荐(0) 编辑
摘要:Android 低内存终止守护程序 (lmkd) 进程可监控运行中的 Android 系统的内存状态,并通过终止最不必要的进程来应对内存压力大的问题,使系统以可接受的性能水平运行。 内存压力简介 并行运行多个进程的 Android 系统可能会遇到系统内存耗尽,需要更多内存的进程出现明显延迟的情况。内 阅读全文
posted @ 2024-12-02 10:34 yooooooo 阅读(56) 评论(0) 推荐(0) 编辑
摘要:概述 lowmemorykiller的作用就是当内存比较紧张的时候去及时杀掉一些对用户来说不那么重要的进程,回收内存,保证手机的正常运行。 安卓平台lowmemorykiller机制演进可以描述为:从早期的Kernel space Lowmemorykiller 到 UserSpace Lowmem 阅读全文
posted @ 2024-11-29 18:17 yooooooo 阅读(135) 评论(0) 推荐(0) 编辑
摘要:balance_dirty_pages_ratelimited分析 nr_dirtied_pause:当前task的脏页门限; dirty_exceeded:全局的脏页数超过门限或者该bdi的脏页数超过门限;(dirty_exceeded = (bdi_dirty > bdi_thresh) &&( 阅读全文
posted @ 2024-09-08 14:33 yooooooo 阅读(85) 评论(0) 推荐(0) 编辑
摘要:slabinfo - version: 2.1 # name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdat 阅读全文
posted @ 2024-09-03 17:26 yooooooo 阅读(153) 评论(0) 推荐(0) 编辑
摘要:MemTotal: 688576 kB 总内存 MemFree: 153736 kB 空闲内存 MemAvailable: 339884 kB 可用内存 Buffers: 16 kB 给文件的缓冲大小 Cached: 267672 kB 高速缓冲存储器 SwapCached: 36 kB 被高速缓冲 阅读全文
posted @ 2024-09-02 17:08 yooooooo 阅读(48) 评论(0) 推荐(0) 编辑
摘要:1.jvm 堆内存(dalvik 堆内存) 每个Java应用程序在运行时都会拥有自己的JVM实例,这个实例会为其分配独立的堆内存空间。这意味着不同的应用程序之间不会共享堆内存。 不同手机中app进程的 jvm 堆内存是不同的,因厂商在出厂设备时会自定义设置其峰值。比如,在Android Studio 阅读全文
posted @ 2024-07-26 16:50 yooooooo 阅读(609) 评论(0) 推荐(0) 编辑
摘要:1、运行需要检测内存泄露的程序 这里以“com.example.opengltest”程序为例。 2、点击Profiler按钮 3、点击SESIONS "+"号按钮选择设备,选择对应设备下的应用或进程 4、双击内存区块 5、操作应用程序要检测的部分或模块 6、关闭应用程序,多次点击鼠标右键“Forc 阅读全文
posted @ 2024-07-26 14:52 yooooooo 阅读(1644) 评论(0) 推荐(0) 编辑
摘要:由于项目需求,笔者最近在一台 Linux 服务器上部署了 ElasticSearch 集群,却发现运行过程中经常出现查询速度突然降低的问题,登录服务器后发现是物理内存不足,导致机器频繁发生页面交换。由于只是临时内存需求,没有提升配置的必要,而 ElasticSearch 中存储的数据主要是文本数据, 阅读全文
posted @ 2024-07-25 23:05 yooooooo 阅读(1134) 评论(0) 推荐(0) 编辑
摘要:ZRAM(压缩内存块设备)和传统的SWAP分区都是Linux系统中用来增加可用内存的方法,但它们的工作原理和实现方式有很大的区别: ZRAM 压缩内存:ZRAM使用压缩算法将数据存储在内存中。这样,当系统需要将数据写入swap空间时,它会首先将数据压缩,然后存储在RAM中。这意味着相同大小的物理内存 阅读全文
posted @ 2024-07-25 22:30 yooooooo 阅读(481) 评论(0) 推荐(0) 编辑
摘要:一、内存指标 Item 全称 含义 等价 USS Unique Set Size 物理内存 进程独占的内存 PSS Proportional Set Size 物理内存 PSS= USS+ 按比例包含共享库 RSS Resident Set Size 物理内存 RSS= USS+ 包含共享库 VSS 阅读全文
posted @ 2024-06-27 14:58 yooooooo 阅读(336) 评论(0) 推荐(0) 编辑
摘要:在Linux内核中,无论如何切换进程,内核地址空间转换到物理地址的关系是永远不变的,主要原因是内核地址空间在所有进程中是共享的。这种设计有几个关键点: 1. 内核地址空间共享 在Linux操作系统中,每个进程都有自己独立的用户空间地址范围,但内核空间地址范围对所有进程是共享的。具体来说,每个进程的地 阅读全文
posted @ 2024-06-10 20:34 yooooooo 阅读(74) 评论(0) 推荐(0) 编辑
摘要:1. 页表转换寄存器描述符 1.1,页表/页目录结构 基于前言中的内核配置,内核采用39位虚拟地址,因此可寻址范围为2^39 = 512G,采用(linux 默认为五级页表,另外还有PUD,P4D,由于本文只配置三级,其他两项不予罗列)3级页表结构,分别为: PGD (Page Global Dir 阅读全文
posted @ 2024-05-25 20:25 yooooooo 阅读(430) 评论(0) 推荐(0) 编辑
摘要:1. 简介 Android的ION子系统的目的主要是通过在硬件设备和用户空间之间分配和共享内存,实现设备之间零拷贝共享内存。说来简单,其实不易。在Soc硬件中,许多设备可以进行DMA,这些设备可能有不同的能力,以及不同的内存访问机制。 ION是Google在Android 4.0 ICS中引入,用于 阅读全文
posted @ 2024-03-21 10:55 yooooooo 阅读(191) 评论(0) 推荐(0) 编辑
摘要:使能KSM KSM只会处理通过madvise系统调用显式指定的用户进程地址空间,因此用户程序想使用这个功能就必须在分配地址空间时显式地调用madvise(addr,length,MADV_MERGEA BLE)。如果用户想在KSM中取消某一个用户进程地址空间的合并功能,也需要显式地调用madvise 阅读全文
posted @ 2024-03-20 14:56 yooooooo 阅读(66) 评论(0) 推荐(0) 编辑
摘要:一、配置内核 首先配置内核,使其支持导出内核页表到debugfs下面: Kernel hacking > > [*] Export kernel pagetable layout to userspace via debugfs 配置完后,重新编译内核,并用新内核启动,就会在/sys/kernel/ 阅读全文
posted @ 2024-03-03 14:43 yooooooo 阅读(97) 评论(0) 推荐(0) 编辑
摘要:背景介绍 在开发微信看一看期间,为了进行耗时优化,基础库这层按照惯例使用tcmalloc替代glibc标配的ptmalloc做优化,CPU消耗和耗时确实有所降低。但在晚上高峰时期,在CPU刚刚超过50%之后却出现了指数上升,服务在几分钟之内不可用。最终定位到是tcmalloc在内存分配的时候使用自旋 阅读全文
posted @ 2024-02-22 20:55 yooooooo 阅读(256) 评论(0) 推荐(1) 编辑
摘要:一、前言 C语言提供了动态内存管理功能, 在C语言中, 程序员可以使用 malloc() 和 free() 函数显式的分配和释放内存. 关于 malloc() 和free() 函数, C语言标准只是规定了它们需要实现的功能, 而没有对实现方式有什么限制, 这多少让那些追根究底的人感到有些许迷茫, 比 阅读全文
posted @ 2024-02-22 20:01 yooooooo 阅读(493) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 7 下一页
点击右上角即可分享
微信分享提示