Loading

摘要: 前言 在口袋助理看到了其他部门的同事针对Python2内存占用做的一点优化工作,自己比较感兴趣,遂记录下。 Linux fork简介 fork是Linux提供的创建子进程的系统调用。为了优化创建进程速度,Linux内核使用了Copy-on-Write的方式去创建进程,所谓Copy-on-Write是 阅读全文
posted @ 2022-01-13 00:00 成蹊0xc000 阅读(479) 评论(0) 推荐(1) 编辑
摘要: 2021-12-12 21:50 测试了5次,通过了并发用例。运行并发的用例的时候,会报第6个entry没有被三个节点中的任意一个apply。 看了看日志,发现第6个entry一直没有被apply,没有被apply的原因是leader的commitIndex一直很小,导致 follower的comm 阅读全文
posted @ 2021-12-12 22:28 成蹊0xc000 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 1 slab综述 1.1 slab分配器产生的背景 类似 task_struct mm_struct 等结构被内核中被频繁分配和释放,同时创建和销毁这些结构会产生一定的开销(overhead)。二者累计起来导致大量开销的产生。 Buddy分配器只能分配2^n个页面,对于小于一个页面的内存请求则没有办 阅读全文
posted @ 2021-05-04 14:34 成蹊0xc000 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 本文简要说明几个内核和内存管理有关的结构体。其中 struct page 和 struct zone有较大幅度的删减,主要删减了和NUMA模型SPARSE模型以及内存热插拔相关的域。 页框描述符 struct page page用于描述一个4KB的物理页。MMU以页为单位管理页表。 struct p 阅读全文
posted @ 2021-05-04 14:33 成蹊0xc000 阅读(138) 评论(0) 推荐(0) 编辑
摘要: alloc_pages的使用 struct page *alloc_pages(gft_t gfp, unsigned int order) alloc_pages定义于 inux/gfp.h 中. 该函数用于分配2^order个 连续 的物理页. 分配失败返回NULL。 alloc_pages的调 阅读全文
posted @ 2021-05-04 14:32 成蹊0xc000 阅读(356) 评论(0) 推荐(0) 编辑
摘要: #1 软中断概述 软中断是实现中断下半部的一种手段,与2.5以前版本的下半段机制不同。软中断可以同时运行在不同的CPU上。 1.1 软中断的表示 内核中用结构体softirq_action表示一个软中断。软中断是一组静态定义的接口,有32个。但是内核(2.6.34)中只实现了10个。可用的软中断的个 阅读全文
posted @ 2021-05-04 14:19 成蹊0xc000 阅读(992) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。 示例: 给定二叉树 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 注意:两结点之间的路径长度是以它们之间边的数目表示。 解答: 这道题是一 阅读全文
posted @ 2020-02-01 20:03 成蹊0xc000 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 1. 我做了什么 最近在学习如何用select函数实现echo server。期间遇到了一个关于缓冲区的问题,在这里分享给大家。 在使用read/recv, write/send类函数进行数据传输时,需要程序员手动创建缓冲区。通常(各种书籍中),大家都会将缓冲区的大小设置为1024或其整数倍。但是我 阅读全文
posted @ 2019-12-30 21:13 成蹊0xc000 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 1. UDP简介 UDP 和TCP 的区别包括 1. 面向字节流和面向报文 2. TCP必须要建立连接后才能进行数据交换,但是UDP则并没有连接的建立和释放过程。面向字节流说明,tcp报文段(segment)是没有边界的,当服务器发送多个报文段到客户端时,客户端可能会把着多个报文段合并成一个报文段进 阅读全文
posted @ 2019-12-23 15:23 成蹊0xc000 阅读(1511) 评论(0) 推荐(0) 编辑
摘要: 学习Rust已经两周了,基本上是断断续续的在学,或者是在上下班坐公交时,或者是在ODC没事做时。现在已经学习了Rust程序设计语言的前5章,是时候做一个总结了。关于数据类型或者if else这种内容我就不在罗列了,我只说一说我感兴趣的部分。 变量和可变性(variable & mutability) 阅读全文
posted @ 2019-12-22 22:50 成蹊0xc000 阅读(496) 评论(2) 推荐(0) 编辑