1.什么是记忆?
1)内存也叫主存,是CPU可以直接寻址的存储空间,由半导体器件组成
2)内存的特点是访问速度快;速度和中断计算机一般不保存数据,也不是持久性设备;
2.内存的作用
1)临时存储CPU计算数据
2)外接硬盘等通过内存交换的数据
3)保证稳定性和高计算机CPU的性能
1Linux内存地址空间Linux内存管理概述
2.内存地址:用户态和内核态
3.内存地址-MMU地址转换
1)Fu段选择更多Linux内核文档和视频教程资料可后台私信【内核】免费获取。
内核学习网站:
Linux内核源码/内存优化/文件系统/进程管理/设备驱动/Linux内核学习视频教程网络协议-腾讯课堂
2)分段实施
5.内存地址-分页机制(32位)
6.用户态地址空间
7
8。处理内存空间
内存管理算法:讨厌自己管理内存的人的天赐之物
1)基本原理2)如何避免内存碎片
2.合伙人体系算法-组织架构
1)理念
2)外部碎片化
3.伙伴系统算法:申请与回收
1)申请算法
2)回收算法
3)条件
4.如何分配超过4MB的内存?
1)为什么要限制大块内存的分配?
2)如何实现内核内存超过4MB
5系统-机制抗碎片
1)不可移动页面
2)可回收页面
6Slab算法-基本原理
1)概念基本
2)内部碎片
分配器结构
详细参考:
图解优化Linux内存性能的主要思想
缓存
1)普通缓存
2)专用缓存
9
1)基本原理
2)内核API
10个用户模式内存池
1)C++示例
内存
1)什么是DMA
2)DMA信号
内存不足的时代已经结束了吗?不行,内存再充裕,也不能随意使用。
1.内存使用场景
2.用户态内存分配函数
a)如果当前块连续内存足够realloc,则只需对p的空间进行扩展,并返回p的指针地址。此时q和p指向的地址是相同的
b)如果当前块连续内存不够长,则找足够长的地方,分配新的内存q,并添加p指向的内容复制到q,返回q。并删除p
3表示的内存空间。内核态内存分配函数
4Malloc应用于缺页异常
6。用户进程访问内存分析
7.共享内存
1)原理
2)shm接口
1.C内存泄漏
2.野指针C
3.C资源访问冲突
4STL迭代器错误
不好的例子:如果当前迭代器被删除,迭代器将不再有效
正确的例子:当迭代器被删除,必须保存下一个迭代器
511个智能指针
(1)原理分析:
(2)数据结构:
(3)用法:
6.C++11更小、更快、更安全
6如何检查内存
可以通过命令cat/proc/slabinfo查看
可以通过/proc/sys/vm/drop_caches查看来删除
Linux内存管理是操作系统内核对物理内存的分配和管理。Linux内存管理有两个基本任务:一是为程序使用可用内存,二是从交换区(即硬盘)中找到当前不需要的数据并将其移至交换区,以在物理内存耗尽时获得更多的数据。是不够的。以下是一些关键内容:
内存分配:内存分配是为应用程序分配物理内存的过程。在Linux中,物理内存分为用户空间和内核空间,由内核管理。内核必须保证每个进程有足够的内存,避免浪费内存。
虚拟内存:虚拟内存是指利用磁盘交换文件来扩展物理内存,从而允许更灵活地使用内存。当物理内存不足时,操作系统会将一些暂时不用的内存数据转移到硬盘的交换区,以释放物理内存。
页面替换:页面替换是将物理内存耗尽的页面移动到交换区的过程。当物理内存不足时,操作系统会选择一部分被占用且长期不使用的内存数据移至交换区,以释放物理内存。
内存回收:内存回收涉及释放已分配给进程但不再使用的内存。在Linux中,内核使用一种称为“页面缓存”的机制,将文件数据缓存在磁盘上,以提高文件访问速度。当物理内存不足时,内核将首先获取页面缓存并将其移动到交换区域。
以上就是Linux内存管理的主要内容Linux利用上述机制来保证系统合理使用内存,从而提高系统的稳定性和效率。
上一篇:linux内存管理机制有哪些
下一篇:linux设置jvm内存参数