摘要: 转自:https://www.cnblogs.com/LoyenWang/p/11568481.html 背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel 阅读全文
posted @ 2020-09-28 23:52 Sky&Zhang 阅读(268) 评论(0) 推荐(0)
摘要: 转自:https://zhuanlan.zhihu.com/p/73539328 前面的文章提到“什么情况下触发direct reclaim,什么情况下又会触发kswapd,是由内存的watermark决定的”,那这个"watermark"到底是如何发挥作用的呢? Kswapd与Watermark 阅读全文
posted @ 2020-09-28 23:51 Sky&Zhang 阅读(1989) 评论(0) 推荐(0)
摘要: 转自:https://blog.csdn.net/jasonchen_gbd/article/details/79460984 本文都是假设系统是32位,页大小为4KB,基于ARM架构(不过和体系结构相关的内容不多)。 1. 了解MMU 在启用MMU的Linux内核中,CPU是通过虚拟地址来访问物理 阅读全文
posted @ 2020-09-28 22:59 Sky&Zhang 阅读(1221) 评论(0) 推荐(0)
摘要: 转自:https://blog.csdn.net/jasonchen_gbd/article/details/79462014 1. swap的含义 在Linux里swap有两个意思:1. 动词:交换。内存和磁盘的颠簸行为。2. 名词:硬盘的swap分区。 没有文件背景的页面,即匿名页(anonym 阅读全文
posted @ 2020-09-28 22:57 Sky&Zhang 阅读(1089) 评论(0) 推荐(0)
摘要: 转自:https://www.cnblogs.com/tolimit/p/5398552.html 本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 概述 看完了内存压缩,最近在看内存回收这块的代码,发现内容有些多,需要分几块去详细说明,首先先说说匿名页的反向映 阅读全文
posted @ 2020-09-28 22:55 Sky&Zhang 阅读(488) 评论(0) 推荐(0)
摘要: 转自:https://www.dazhuanlan.com/2019/11/14/5dcd1e7420eb8/?__cf_chl_jschl_tk__=0aefb9e1da0873122a91c08e603da73bc881a913-1601304759-0-Ad5C4FdU3_dfZ1AdSWQN 阅读全文
posted @ 2020-09-28 22:54 Sky&Zhang 阅读(977) 评论(0) 推荐(0)
摘要: 转自:http://kernel.meizu.com/zram-introduction.html zram 技术的由来 zram1(也称为 zRAM,先前称为 compcache)是 Linux 内核的一项功能,可提供虚拟内存压缩。zram 通过在 RAM 内的压缩块设备上分页,直到必须使用硬盘上 阅读全文
posted @ 2020-09-28 17:51 Sky&Zhang 阅读(4373) 评论(0) 推荐(1)
摘要: 转自:http://tinylab.org/linux-swap-and-zram/ Zhizhou Tian 创作于 2016/12/23 打赏 By ZhizhouTian of TinyLab.org 2016-12-23 18:04:30 1 简介 Zram Swap 是 Linux 内核中 阅读全文
posted @ 2020-09-28 17:50 Sky&Zhang 阅读(2885) 评论(0) 推荐(0)
摘要: 转自:https://zhuanlan.zhihu.com/p/67894878 除了传统的read()和write()系统调用,Linux还提供了另一种读写文件数据的方式,那就是mmap()。 先来看下用户进程调用read()在Linux中是怎样实现的。比如要读取磁盘上某个文件的8192个字节数据 阅读全文
posted @ 2020-09-28 17:10 Sky&Zhang 阅读(510) 评论(0) 推荐(0)
摘要: 转自:https://zhuanlan.zhihu.com/p/71517406 来看下上文介绍的mmap()的函数原型是怎样的: #include <sys/mman.h> void *mmap(void *addr, size_t length, int prot, int flags, int 阅读全文
posted @ 2020-09-28 17:08 Sky&Zhang 阅读(421) 评论(0) 推荐(0)
摘要: 转自:https://www.cnblogs.com/vedic/p/10737453.html 一、几个关键宏定义 CONFIG_DEBUG_LL、 CONFIG_DEBUG_LL_INCLUDE 容我慢慢道来, 首先要使能早期打印, menuconfig必须选中CONFIG_DEBUG_LL, 阅读全文
posted @ 2020-09-28 14:01 Sky&Zhang 阅读(604) 评论(0) 推荐(0)
摘要: 转自:https://www.cnblogs.com/chenpingzhao/p/5161844.html 一、命令 1 2 3 4 5 [root@localhost ~]# free -m total used free shared buffers cached Mem: 7869 7651 阅读全文
posted @ 2020-09-28 13:43 Sky&Zhang 阅读(337) 评论(0) 推荐(0)
摘要: 转自:https://www.cnblogs.com/qiaoyanlin/p/6746791.html 1. Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而 Cache保存着CP 阅读全文
posted @ 2020-09-28 11:05 Sky&Zhang 阅读(281) 评论(0) 推荐(1)