Linux内存从0到1学习笔记(9.1,内存优化调试之kswapd0触发原理)
写在前面
Linux内核中有一个非常重要的内核线程kswapd,它负责在内存不足时回收页面。kswapd内核线程初始化时会为系统中每个内存结点创建一个名为“kswapd%"内核线程。对于UMA架构下常常是kswapd0线程。
因此我们可以把kswapd0看作是系统的虚拟内存管理程序,如果物理内存不够用,系统就会唤醒 kswapd0 进程。但是需要特别注意的是,由于kswapd0分配磁盘交换空间作缓存,因此会占用大量的CPU资源。
术语
swap
指的是一个交换分区或文件。负责在内存不足时,将部分内存上的数据交换到swap空间上,以便让系统不会因内存不够用而导致oom或者更致命的情况出现。所以,当内存使用存在压力,开始触发内存回收的行为时,就可能会使用swap空间。
在Linux上可以使用swapon -s命令查看当前系统上正在使用的交换空间有哪些,以及相关信息:
kswapd
Linux内核中有一个非常重要的内核线程kswapd,它负责在内存不足时回收页面。
watermark_scale_factor
=================&
Linux内存从0到1学习笔记(9.1,内存优化调试之kswapd0触发原理)相关推荐
- Linux内存从0到1学习笔记(11.2 内存优化方案之内存压缩zram)
写在前面 zram是Linux内核提供的一种虚拟内存压缩功能,通过在将一部分内存模拟成块设备,并将压缩后的内存写到这部分模拟的块设备中,直到必须使用硬盘上的交换空间,zram 本质是就是一个块设备. ...
- Linux内存从0到1学习笔记(4,TLB)
一.TLB简介 Kernel初始化的时候,会在初始化内存中创建页表:而处理器读取指令和数据的时候需要首先通过MMU查表得到物理地址,然后在访问物理地址读取指令或数据.MMU查表过程汇中需要4次访问内存 ...
- Linux内存从0到1学习笔记(6.6,物理内存初始化之预留内存)
写在前面 前面的章节中有提到过,memblock分配器会将内存划分为动态管理的内存(保存在memblock的memory type的数组)和静态预留的内存(保存在memblock的reserved t ...
- Linux内存从0到1学习笔记(6.7,物理内存初始化之CMA初始化)
写在前面 CMA (contiguous memory allocator)连续内存分配器,被开发用于分配大的.物理连续的内存块,其底层还是依赖内核伙伴系统这样的内存管理机制.通过这套机制,在设备驱动 ...
- Linux内存从0到1学习笔记(8.5,CMA内存分配)
CMA是通过cma_alloc分配的.cma_alloc() --> alloc_contig_range(..., MIGRATE_CMA,...),向刚才释放给buddy system的MI ...
- Linux与C++11多线程编程(学习笔记)
多线程编程与资源同步 在Windows下,主线程退出后,子线程也会被关闭; 在Linux下,主线程退出后,系统不会关闭子线程,这样就产生了僵尸进程 3.2.1创建线程 Linux 线程的创建 #inc ...
- 【C#8.0 and .NET Core 3.0 高级编程学习笔记】
@C#8.0 and .NET Core 3.0 高级编程学习笔记 前言 为了能精细地完成对C#语言的学习,我决定选择一本书,精读它,理解它,记录它.我想选择什么书并不是最重要的,最重要的是持之以恒的 ...
- linux 串口信息记到日志,[linux学习笔记]之一:ubuntu ch340调试备忘
[linux学习笔记]之一:ubuntu ch340调试备忘 已有 2183 次阅读2016-11-8 21:52 |个人分类:linux 最近迷上了Linux,入了一块板.电脑使用win7+ubun ...
- 2017-2-15从0开始前端学习笔记(HTML)-图片-表格-表单
2017-2-15从0开始前端学习笔记-图片-表格-表单 标签 图片 图片<img src="#" alt="文本说明 不能加载图片时显示" title= ...
最新文章
- mybatis-plus对datetime返回去掉.0_华为AI认证-TensorFlow2.0编程基础
- 提示框样式说明android:windowFrame
- 开发日记-20190330
- OpenCV图像形态 image morphology的实例(附完整代码)
- RecyclerView滑动到底部自动加载
- 出版物发行单位是指哪些_上海办理出版物经营许可证都需要哪些手续和资料?...
- Matlab R2020a安装教程(附赠免费的安装包)
- Tapestry5 grid
- android 在线获取音乐歌词lrc文件
- c语言 100匹马 编程,编程,百马百担有关问题,有100匹马,驮100担货,大马驮三担,中马驮2担,两匹小马驮一担,求大、中、小各多少匹...
- Javascript 报错 Uncaught TypeError: x is not a function 常见错误总结
- 编程实现Z=5X+3Y+10,设已知变量和结果均放在数据段
- 使用LaTeX写数学公式
- Python - 寻找数组的子集
- 离线数仓搭建_14_DWT数据构建
- 这是我的第一个博客有关javascrit的
- txt文件转csv文件乱码问题
- JWT(2):JWT入门使用
- python 便利店收银系统_前端开发之便利店收银系统代码
- 半双工 Wi-Fi 无线局域网讲解