岗位描述
岗位职责
1、设计冷页识别、主动 Pageout、分层水位、速率限制和防抖动策略。
2、分析 Page Fault、Swap-in/out、页面回收、内存压力及 NVMe I/O 路径。
3、建立性能测试和观测体系,定位 Thrashing、直接回收、I/O 拥塞及尾延迟问题。
4、评估 zswap、THP、NUMA、Swap Readahead 等机制对目标工作负载的影响。
5、与团队合作,分析应用内存组成、活跃工作集和访问阶段。
6、完成多进程隔离、异常退出、服务重启、OOM、NVMe 故障等可靠性验证。
7、输出设计文档、测试报告、参数配置、部署及故障回滚手册。
8、根据原型验证结果,评估是否需要进入内核模块或自定义 Page Runtime 的下一阶段研发。
岗位要求
1、熟悉 Linux 系统编程,具备扎实的 C/C++ 开发能力。
2、熟悉 Linux 虚拟内存基本机制,包括以下多数内容:Page Fault;Page Reclaim;Active/Inactive LRU;Anonymous Page 与 Page Cache;Swap-in/Swap-out;页表、VMA、RSS/PSS;THP、NUMA;cgroup 内存控制。
3、能够使用 perf、ftrace、eBPF/bpftrace、vmstat、iostat 等工具进行系统性能分析。
4、具备 Linux 内核问题定位能力,能够阅读内核源码、调用链和 Trace 数据。
5、能够独立设计严谨的性能实验,正确处理基线、变量控制、重复测试和结果波动。
6、具备较强的自主推进能力,能够在需求不完全明确的探索型项目中拆解问题、验证假设并形成结论。
加分项
具备以下任一经验即可,不要求全部满足:
1、有 Linux Memory Management、Swap、NUMA 或 Page Reclaim 相关开发经验。
2、使用过 DAMON/DAMOS、Multi-Gen LRU、PSI 或 process_madvise。
3、有 Linux 内核模块、内核补丁或上游社区贡献经验。
4、熟悉 userfaultfd、madvise、pidfd 等内存管理接口。
5、有 NVMe、块设备、SPDK、io_uring 或高性能存储开发经验。