6.1 大 folio 优化内核 6.x 引入**大 folio(Large Folio)**机制:将传统 4KB 页面扩展为大页(如 2MB、1GB)减少 page 结构体数量,降低内存管理开销减少 TLB miss,提升大文件 I/O 效率特别有利于大文件顺序读写场景性能收益:减少 99% 的 page 结构体内存开销(2MB folio vs 512 个 4KB page)提升大文件 I/O 吞吐量 15%~30%降低内核内存管理 CPU 开销6.2 iomap 框架iomap是替代传统buffer_head的现代文件系统 I/O 映射框架:xfs、ext4(部分路径)已迁移到 iomap简化代码路径,减少锁竞争更好的 folio 集成提升大文件 I/O 映射效率6.3 Per CPU BIO 缓存(6.19)内核 6.19 版本默认启用 Per CPU BIO 缓存:# 查看 Per CPU BIO 缓存状态 cat /sys/kernel/debug/block/bio_alloc_stats # 6.19+ 可用 # 确认内核版本 uname -r # 需 6.19+性能收益:BIO 分配从全局锁变为 per-CPU 无锁分配高并发 IOPS 场景下分配开销降低 50%+减少内存分配/释放系统调用6生产案例:MySQL 数据库 I/O 优化场景:MySQL 8.0 主库,16 核 64GB 内存,NVMe SSD 4TB,高并发随机读写,IOPS 要求 50000+。问题:默认配置下 IOPS 仅 30000,P99 延迟 8ms,高峰期出现 IO 等待。优化方案:1. 调度器选型# NVMe 设备使用 Kyber 调度器 echo kyber /sys/block/nvme0n1/queue/scheduler2. 队列深度# NVMe SSD 高并发场景,队列深度设为 256 echo 256 /sys/block/nvme0n1/queue/nr_requests3. 预读关闭# 数据库随机读写为主