2024年7月25日

使用outlook smtp server发送mail list patch

摘要: 在开源社区做贡献有两种发patch的方式,一种是github这种提PR的模式,另一种是古老的git send-email。前者很容易,只需配置好本地git环境加上一些github网页操作即可。对于后者,需要一个smtp server才能发送邮件。对于公司已经提供了smtp server的这当然不是问 阅读全文

posted @ 2024-07-25 12:24 半山随笔 阅读(290) 评论(0) 推荐(0)

2024年7月24日

ubuntu安装k8s不稳定问题解决

摘要: 在ubuntu22.04安装k8s后,kubexxx相关的容器一直在重启,导致k8s不可用。从journal log上也看不到什么有效的信息,只有大片的错误。containerd常常没由原因的stopcontainer。 最后改了kubelet的cgroupfs driver为cgroupfs,问题 阅读全文

posted @ 2024-07-24 18:51 半山随笔 阅读(69) 评论(0) 推荐(0)

2024年6月27日

.gnu.linkonce.this_module section size must match the kernel's built struct module size at run time的解决办法

摘要: 编module,加载的时候碰到: insmod: ERROR: could not insert module ice.ko: Invalid module format 查看dmesg: .gnu.linkonce.this_module section size must match the k 阅读全文

posted @ 2024-06-27 13:42 半山随笔 阅读(1733) 评论(0) 推荐(1)

2024年6月18日

linux内存管理(十一)- 页面迁移

摘要: 这里有一篇很好的博客宋宝华:论Linux的页迁移(Page Migration)完整版-CSDN博客 为什么需要页面迁移?试想系统在经过长时间运行,内存块趋于碎片化,想要分配一块大的连续内存已经不可能了。此时并非没有足够的内存,而只是内存碎片化。这个时候如果可以是已经分配的内存聚集在一起就可以得到大 阅读全文

posted @ 2024-06-18 15:06 半山随笔 阅读(317) 评论(0) 推荐(0)

linux内存管理(十)- 页面回收(二)

摘要: 本篇了解一下内核是怎样触发页面回收的。 触发内存回收的方式有两种,同步和异步回收。alloc_pages在分配内存的时候,如果内存短缺会主动回收内存,这是同步回收;内核有一个或多个kswapd内核线程负责在后台回收内存,这是异步。 看一下shrink_active_list static void 阅读全文

posted @ 2024-06-18 12:43 半山随笔 阅读(690) 评论(0) 推荐(2)

2024年6月15日

linux内存管理(八)- 反向映射RMAP

摘要: 这里有一篇博客讲的不错。linux内存管理笔记(三十八) 反向映射_linux 反向映射-CSDN博客 页表是把虚拟地址映射到物理页面,但是如何根据一个物理页找到所有映射它的pte呢?答案是用反向映射Reverse Mapping(RMAP)。这在页面回收中很有用。回收页面需要将到物理页的映射断开( 阅读全文

posted @ 2024-06-15 20:51 半山随笔 阅读(406) 评论(0) 推荐(0)

2024年6月12日

linux内存管理(九)- 页面回收

摘要: 参考《深入理解linux内核架构》和这篇博客Linux中的内存回收 [一] - 知乎 (zhihu.com) 内核代码v6.8-rc2 内存在计算机系统中经常是稀缺资源,当系统中内存不足甚至耗尽,为了让系统继续运行必须回收一部分内存。 为了回收内存,我们必须首先知道系统中的内存都处于什么状态。内存中 阅读全文

posted @ 2024-06-12 18:30 半山随笔 阅读(574) 评论(0) 推荐(0)

学习ebpf的网站

摘要: 学习ebpf的中文网站: eBPF 入门开发实践教程零:介绍 eBPF 的基本概念、常见的开发工具 - eunomia ebpf & bcc 中文教程及手册 | Cyrus Blog (cyru1s.com) 阅读全文

posted @ 2024-06-12 10:26 半山随笔 阅读(36) 评论(0) 推荐(0)

2024年6月11日

linux内存管理(四)- 用户空间的内存分配在kernel中的实现

摘要: malloc是常用的用户态分配内存的接口,它会调用brk系统调用来请内存分配内存。下面看看该系统调用的实现。 插一句,每次调用malloc的时候未必都会调用brk去从kernel分配实际的内存,因为每次系统调用都是有开销的,为了避免频繁的陷入内核,malloc会多申请一部分内存当作内存池,之后要申请 阅读全文

posted @ 2024-06-11 16:31 半山随笔 阅读(354) 评论(0) 推荐(0)

linux内存管理(七)- 写时复制

摘要: 在fork进程的时候子进程会共享父进程的页表,但并没有分配新页。此时页表时只读的,如果父进程或者子进程写内存就会触发page fault,内核会重新分配内存更改页表,从此分道扬镳。因此写时复制包含两部分内容,第一是fork进程时复制页表并设置pte为只读,第二是写内存发生page fault。 先来 阅读全文

posted @ 2024-06-11 16:29 半山随笔 阅读(897) 评论(0) 推荐(0)

导航