首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

一文看懂 | 内存交换机制

本文基于 Linux-2.4.16 内核版本 由于计算机的物理内存是有限的, 而进程对内存的使用是不确定的, 所以物理内存总有用完的可能性....那么当系统的物理内存不足时, Linux内核使用什么方案来避免申请不到物理内存这个问题呢?...LRU 的中文翻译是 最近最少使用, 顾名思义就是一段时间内没有被使用, 那么Linux内核怎么知道哪些内存页面最近没有被使用呢?...Linux内核也使用了类似的算法, 但相对要复杂一些. Linux内核维护着三个队列: 活跃队列, 非活跃脏队列和非活跃干净队列. 为什么Linux需要维护三个队列, 而不是使用一个队列呢?...这是因为Linux希望内存页交换过程慢慢进行, Linux内核有个内核线程 kswapd 会定时检查系统的空闲内存页是否紧缺, 如果系统的空闲内存页紧缺时时, 就会选择一些用户进程把其占用的内存页添加到活跃链表中并断开进程与此内存页的映射关系

96630

系统软件工程师必备技能-进程内存的working set size(WSS)测量

本文从Linux的角度系统阐述了目前的常用手段,有什么缺陷以及一些优化手段。 作者 邓刚,马涛,Linux系统工程师,来自阿里云系统组。...本文中若有任何疏漏错误,有任何建议和意见,请回复内核月谈微信公众号,或通过gavin.dg at linux.alibaba.com>或者 tao.ma at linux.alibaba.com反馈。...针对这个问题,brendangregg开发了两款基于Linux系统的小工具,下文将分别详细介绍。...The pages can be found by reading /proc/pid/pagemap if the workload is represented by a process, or by...brendangregg还提到了如果pagemap,idlebitmap,kpagecgroup等支持mmap(2)系统调用,可以避免过多的系统调用。

3.7K10
领券