一、首先大概了解一下计算机CPU、Cache、内存、硬盘之间的关系及区别。 1、 CPU也称为中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路, 是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处 ...
分类:
系统相关 时间:
2017-06-08 23:42:32
阅读次数:
382
作者:freeboy1015来源:http://lib.csdn.net/article/linux/62126一.mmap系统调用1.mmap系统调用mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区..
分类:
系统相关 时间:
2017-04-17 15:02:13
阅读次数:
253
注:将android底层malloc换为mmap来获取内存,可将获取到的内存添加tag,从而再利用meminfo进行分析,可单独查看该tag的内存,从而进行分析。 一. mmap系统调用 一. mmap系统调用 1. mmap系统调用 mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上, ...
分类:
移动开发 时间:
2017-03-30 11:50:34
阅读次数:
274
一 物理内存和虚拟内存 我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就 ...
分类:
系统相关 时间:
2017-03-10 15:31:08
阅读次数:
233
转载说明: 作者:至上 原文地址:http://www.cnblogs.com/autum/archive/2012/10/12/linuxmalloc.html 一 为什么需要使用虚拟内存 大家都知道,进程需要使用的代码和数据都放在内存中,比放在外存中要快很多。问题是内存空间太小了,不能满足进程的 ...
分类:
系统相关 时间:
2017-01-17 21:13:30
阅读次数:
360
本文转载自:http://blog.csdn.net/coding__madman/article/details/51298718 版权声明:本文为博主原创文章,未经博主允许不得转载。 版权声明:本文为博主原创文章,未经博主允许不得转载。 还是那张熟悉的老图:Linux内核子系统简介(由七个部分组 ...
分类:
系统相关 时间:
2017-01-06 09:22:44
阅读次数:
235
一、Linux 进程在内存中的数据结构 一个可执行程序在存储(没有调入内存)时分为代码段,数据段,未初始化数据段三部分: 1) 代码段:存放CPU执行的机器指令。通常代码区是共享的,即其它执行程序可调用它。假如机器中有数个进程运行相同的一个程序,那么它们就可以使用同一个代码段。 2) 数据段:存放已 ...
分类:
系统相关 时间:
2017-01-05 23:51:44
阅读次数:
393
Linux内核的策略是最大程度的利用内存cache文件系统的数据,提高IO速度,虽然在机制上是有进程需要更大的内存时,会自动释放PageCache,但不排除释放不及时或者释放的内存由于存在碎片不满足进程的内存需求。可以通过命令echo3>/proc/sys/vm/drop_caches来手动执行以释放Page..
分类:
系统相关 时间:
2016-10-25 20:09:21
阅读次数:
338
一 为什么需要使用虚拟内存 大家都知道,进程需要使用的代码和数据都放在内存中,比放在外存中要快很多。问题是内存空间太小了,不能满足进程的需求,而且现在都是多进程,情况更加糟糕。所以提出了虚拟内存,使得每个进程用于3G的独立用户内存空间和共享的1G内核内存空间。(每个进程都有自己的页表,才使得3G用户 ...
分类:
系统相关 时间:
2016-09-22 21:26:41
阅读次数:
244
1.Linux 进程在内存数据结构 1.Linux 进程在内存数据结构 可以看到一个可执行程序在存储(没有调入内存)时分为代码段,数据段,未初始化数据段三部分: 1) 代码段:存放CPU执行的机器指令。通常代码区是共享的,即其它执行程序可调用它。假如机器中有数个进程运行相同的一个程序,那么它们就可以 ...
分类:
系统相关 时间:
2016-09-19 06:34:57
阅读次数:
242