1.什么是记忆?
1)内存,又称主存,是CPU可以直接寻址的存储空间,由半导体器件构成;
2)内存的特点是访问速度快,有中断。计算机一般不保存数据,不是持久性设备;
2.内存的作用
1)暂时存储CPU的计算数据
2)外接硬盘等内存交换的数据
3)保证系统的稳定性和稳定性CPU计算机的高性能
1.Linux内存地址空间Linux内存管理概述
2.内存地址——用户态&内核态
3.内存地址-MMU地址转换
4.内存地址-分段机制
1)段选择符
更多Linux内核视频教程文档资料可后台私信【内核】免费获取。
内核学习网站:
Linux内核源码/内存调优/文件系统/进程管理/设备驱动/网络协议栈-学习视频教程-腾讯课堂
2)分段实施
5.内存地址-分页机制(32位)
6.用户态地址空间
7.内核态地址空间
8.进程内存空间
内存管理算法——对于那些讨厌自己管理内存的人来说是天赐之物
1.内存碎片
1)基本原理
2)如何避免内存碎片
2.合伙人体系算法-组织架构
1)理念
2)外部碎片化
3.伙伴体系算法-申请与回收
1)申请算法
2)回收算法
3)条件
4.超过4M内存如何分配?
1)为什么要限制大块内存的分配?
2)如何在内核中获取大于4M的大内存
5.合作伙伴系统-反碎片机制
1)不可移动页面
2)回收页面
算法-基本原理
1)基本概念
2)内部碎片
分配器的结构
详细参考:
经典|图解Linux内存性能优化的核心思想
8.Slab缓存
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。内核态内存分配函数
4.malloc申请内存
5.页面错误异常
6.用户进程访问内存分析
7.共享内存
1)原理
2)shm接口
1.C内存泄漏
2.C野指针
3.C资源访问冲突
4.STL迭代器失败
错误示例:如果删除当前迭代器,则迭代器将失效
正确示例:当迭代器被删除时,需要保存下一个迭代器
5。C++11智能指针
(1)原理分析:
(2)数据结构:
(3)用法:
6.C++11更小、更快、更安全
6.如何查看内存
可以通过cat/proc/slabinfo命令查看
可以通过/proc/sys/vm/drop_caches查看释放情况
在Linux系统上,密切监控内存管理是维持业务稳定性的关键。一系列内置指令可以深入了解内存状态,以确保最佳性能。以下是一些必备的工具和指标:
监控的关键指标包括:
常见如果CPU负载过高(r超过CPU核心数的4倍,则可能需要进行进程优化。或者硬件资源增加了。
内存瓶颈(每秒交换次数超过200页)意味着检查您的内存使用策略考虑添加内存或启用优先级分页。
即使CPU空闲,您也应该检查内存泄漏。
使用这些工具时,应注意负载警告,这可能表明系统处于压力之下,例如当r超过CPU数量或顶部负载超过某个值时临界点。
综上所述,熟悉这些监控指标,关注系统资源的变化,可以帮助您快速发现并解决应用和硬件层面的问题,优化资源分配,保证系统稳定运行。这有助于确保。系统的。
上一篇:红米4a插内存卡没反应
下一篇:Linux内核内存管理