随笔分类 - 【linux内存管理】
摘要:转自:https://blog.csdn.net/jasonchen_gbd/article/details/79460984 本文都是假设系统是32位,页大小为4KB,基于ARM架构(不过和体系结构相关的内容不多)。 1. 了解MMU 在启用MMU的Linux内核中,CPU是通过虚拟地址来访问物理
阅读全文
摘要:转自:https://blog.csdn.net/jasonchen_gbd/article/details/79462014 1. swap的含义 在Linux里swap有两个意思:1. 动词:交换。内存和磁盘的颠簸行为。2. 名词:硬盘的swap分区。 没有文件背景的页面,即匿名页(anonym
阅读全文
摘要:转自:https://www.cnblogs.com/tolimit/p/5398552.html 本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 概述 看完了内存压缩,最近在看内存回收这块的代码,发现内容有些多,需要分几块去详细说明,首先先说说匿名页的反向映
阅读全文
摘要:转自:https://www.dazhuanlan.com/2019/11/14/5dcd1e7420eb8/?__cf_chl_jschl_tk__=0aefb9e1da0873122a91c08e603da73bc881a913-1601304759-0-Ad5C4FdU3_dfZ1AdSWQN
阅读全文
摘要:转自:http://kernel.meizu.com/zram-introduction.html zram 技术的由来 zram1(也称为 zRAM,先前称为 compcache)是 Linux 内核的一项功能,可提供虚拟内存压缩。zram 通过在 RAM 内的压缩块设备上分页,直到必须使用硬盘上
阅读全文
摘要:转自:http://tinylab.org/linux-swap-and-zram/ Zhizhou Tian 创作于 2016/12/23 打赏 By ZhizhouTian of TinyLab.org 2016-12-23 18:04:30 1 简介 Zram Swap 是 Linux 内核中
阅读全文
摘要:转自:https://zhuanlan.zhihu.com/p/67894878 除了传统的read()和write()系统调用,Linux还提供了另一种读写文件数据的方式,那就是mmap()。 先来看下用户进程调用read()在Linux中是怎样实现的。比如要读取磁盘上某个文件的8192个字节数据
阅读全文
摘要:转自:https://zhuanlan.zhihu.com/p/71517406 来看下上文介绍的mmap()的函数原型是怎样的: #include <sys/mman.h> void *mmap(void *addr, size_t length, int prot, int flags, int
阅读全文
摘要:转自:https://www.cnblogs.com/qiaoyanlin/p/6746791.html 1. Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而 Cache保存着CP
阅读全文
摘要:转自:https://www.2daygeek.com/smem-linux-memory-usage-statistics-reporting-tool/ BY MAGESH MARUTHAMUTHU · LAST UPDATED: MARCH 8, 2020 Monitoring memory
阅读全文
摘要:转自:https://linux.cn/article-7681-1.html Linux 系统的内存管理工作中,内存使用情况的监控是十分重要的,在各种 Linux 发行版上你会找到许多这种工具。它们的工作方式多种多样,在这里,我们将会介绍如何安装和使用这样的一个名为 smem 的工具软件。 Sme
阅读全文
摘要:转自:https://www.cnblogs.com/arnoldlu/p/8329279.html 专题:Linux内存管理专题 关键词:VMA、vm_area_struct、查找/插入/合并VMA、红黑树。 用户进程可以拥有3GB大小的空间,远大于物理内存,那么这些用户进程的虚拟地址空间是如何管
阅读全文
摘要:转自:https://www.cnblogs.com/LoyenWang/p/12116570.html 背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel
阅读全文
摘要:转自:https://hardenedlinux.github.io/system-security/2016/06/01/NX-analysis.html NX(No-eXecute)的实现分析 Post on 01 June 2016 Shawn: GNU/Linux系统级攻防在历史上曾经停留在
阅读全文
摘要:转自:https://blog.csdn.net/zhoukangli/article/details/53363275?utm_medium=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase&depth_1-utm_
阅读全文
摘要:转自:http://gityuan.com/2015/10/30/kernel-memory/ 关于Linux的内存管理,本文分别从内核空间和用户空间两个视角来阐述 一、内核空间 1.1 页 页(page)是内核的内存管理基本单位。 ==> linux/mm_types.h struct page
阅读全文
摘要:转自:http://gityuan.com/2017/08/06/linux_process_pid/ 一. 概述 Android系统创建进程,最终的实现还是调用linux fork方法,对于linux系统每个进程都有唯一的 进程ID(值大于0),也有pid上限,默认为32768。 pid可重复利用
阅读全文
摘要:转自:https://zhuanlan.zhihu.com/p/65348145 关于上文提到的“关于在TLB中具体是怎么找的,在page table中又是怎么"walk"的问题,下面通过一个简单的例子说明一下。 假设当前CPU支持的虚拟地址是14位,物理地址是12位,page size为64字节(
阅读全文
摘要:转自:https://www.jianshu.com/p/eecbb1506eee Linux 内存管理 1 页的概念 linux 内核中把物理页作为内存分配的最小单位,32位CPU 页的大小通常为4K,64位的CPU通常支持8K的也。内存管理单元MMU 同样以页为大小分配内存。 2 内核虚拟地址分
阅读全文
摘要:转自:https://blog.csdn.net/rikeyone/article/details/84976442?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.add_para
阅读全文