linux vm
文章平均质量分 77
JDSH0224
这个作者很懒,什么都没留下…
展开
-
linux内存水位watermark、内存保留lowmem_reserve_ratio
当系统中空闲内存低于watermark[low],开始启动kswapd进行页面回收,每个zone都有一个kswapd,直到到达high才开始停止回收。如果上层申请内存速度过快,导致空闲内存降至min一下,内核就会direct reclaim,就是直接在应用程序的上下文中进行页面回收,min以下的内存空间是给系统特殊使用的,不会给用户态程序用。原创 2023-05-26 16:28:04 · 771 阅读 · 0 评论 -
oom killer理解和日志分析:知识储备
oom killer日志分析,这是前篇,准备一些基础知识带着问题看:1.什么是oom killer是Linux内核设计的一种机制,在内存不足的时候,选择一个占用内存较大的进程并kill掉这个进程,以满足内存申请的需求(内存不足的时候该怎么办,其实是个两难的事情,oom killer算是提供了一种方案吧)2.在什么时候触发?前面说了,在内存不足的时候触发,主要牵涉到【linux的物理内存结构】和【overcommit机制】2.1 内存结构 node、zone、page、order。原创 2023-01-05 10:38:20 · 1008 阅读 · 0 评论 -
缓存区 buffers 和 caches 的区别
之前一直不太懂缓存区为何还分为 buffer 和 cache 段,查了很多资料,而且不太统一,甚至连内核下的 Document 下的描述也不是很清晰,而且我还觉得是不是写错了,综合各种渠道来源的资料,我贴出一种比较认可的说法。buffers 是用来给块设备使用的缓存区,他只记录文件系统的 metadata 以及 tacking in-flight pages;cached 是用来给文件做缓冲。意思就是说,buffers 用来存储目录里面有什么内容和权限,而 cached 用来记忆我们打开的文件。原创 2023-01-05 09:05:26 · 484 阅读 · 0 评论