自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 mremap:用户态调用mremap后VMA的pgoff以及page会发生发生

先说结论:1、执行mremap后,如果新的addr之前被映射过,之前映射过的page会被释放掉,新的addr先unmap掉。重新把旧addr的page重新映射到新的addr,中间出现一段未映射的地址空隙。那么就会新建一个vma。3、旧的page内容不会变,page->index(pgoff)也不会变。

2026-04-09 14:42:12 168

原创 Linux水线和内存分配快速路径和慢路径的关系

这意味着:只有目标内存区域(zone)的空闲页数。(compaction),直到满足分配或最终失败。,并传入水位标志 ALLOC_WMARK_LOW。进行后台异步回收(因为此时可能已低于。,则快速路径分配失败,返回 NULL。(direct reclaim)和/或。时,才能从该 zone 成功分配。快速路径失败后,内核进入。

2026-03-08 22:41:28 20

原创 Linux内核调度器的发展历史(上)

调度器的具体实现模块是通过调度类来实现的,所以任何一个调度器必然有自己的一套调度类sched_class结构体,结构体抽象类一系列所有调度器都必须要实现的接口,必须enqueue_task|dequeue_task,pick_next_task,balance(怎么把进程均衡到CPU的runqueue上)因此,当它被唤醒时,它会立即位于红黑树的最左侧,从而被迅速调度,带来非常流畅的用户体验。:随着多核处理器的普及,O(1)调度器在每个CPU的运行队列负载均衡方面表现不佳,容易出现CPU负载不均的情况。

2026-03-08 17:13:39 337

原创 详解KSM(内存合并) 页跟踪原理

随着内存合并近几年发展的成熟(KSM页面进程级跟踪或扫描优化)以及bug修复,内存合并技术在越来越多的厂商得到应用,除了应用到最初的目标场景:KVM虚拟机场景以外,在容器或普通应用如桌面浏览器应用等也有很高的价值,例如Meta公司就曾分享过KSM在facebook的应用内存收益很大,另外在一些通信、嵌入式设备等内存资源紧张的设备上也有很多的应用。),KSM的基本原理已有KSM官方资料,此处不再赘述。这里主要深入讲解下KSM的页跟踪原理,该内容本文独一份,其他地方没有看到这块讲解。

2026-02-04 15:59:14 762

原创 编译kernel的依赖包

编译kernel的依赖包

2025-08-17 19:26:10 170

原创 用vmware安装没有桌面的OpenEuler怎么用本地Windows远程连接虚拟机中的Linux?

ip addr add dev ens33 192.168.1.99/24 (这一步是为了和Host上的网卡配置保持同网段)systemctl restart NetworkManager (网络模式切换为网桥后,我们重新启动网络管理)2、配置vmware的模式为桥接模式(这种模式下host的Windows才能访问虚拟机中的Linux)ping 192.168.1.1 (ping一下网关,你家的路由器默认是这个)1、给vmware安装VMware Tools。Host上的原始配置如下(Host不动)

2025-08-17 15:55:41 201

原创 记事本-跨平台

记事本-跨平台

2022-10-17 09:37:06 199

转载 linux内存-内存回收

一、什么时候回收内存?1、直接内存回收有新的大块内存分配请求,但是剩余内存不足。这个时候系统就需要回收一部分内存,进而尽可能地满足新内存请求。2、定期扫描回收(kswapd)操作系统内核线程kswapd定期进行回收内存,并通过设定三个内存阈值来衡量内存的使用情况,分别是页最小阈值(pages_min) 页低阈值(pages_low) 页高阈值(pages_high)kswapd定期扫描内存的使用情况,并根据剩余内存落在这三个阈值的空间位置,进行内存的回收操作。1)free

2022-05-18 16:33:45 2889

原创 内核Document

kernel、linux

2022-01-05 11:27:04 514

转载 To Linux kernel社区发送补丁patch

本文主要参考提交内核补丁到Linux社区的步骤 - 广漠飘羽 - 博客园为了便于自己记忆,和备份。记录一下提交patch的流程:一、下载源码(clone分支)在官网下载最新代码,或者通过MAINTAINERS寻找对应子系统的仓库代码。通常linux-next的仓库是最新的分支代码,git clone这个就行。二、创建补丁1. 下载后修改代码2. 然后 git add -A3. git commit -m "information about this patch"4.

2021-12-04 11:22:12 1938

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除