当前位置: 首页 > news >正文

linux kernel优化之rootfs

背景

        因项目需求需要优化kernel的启动速度,在浏览启动日志的时候看到解压根文件系统时候花了468ms左右

  优化方法: 

        一般情况,根文件的压缩优先选择lzo或lz4的压缩方法,这两个压缩解压速度是最快的,但是这个一般18.0版本以下的kernel需要自己手动按照,如果编译环境没有lzo或lz4的压缩解压命令就会默认使用gzip算法

        定位解压的地方,确认根文件系统的解压算法init/initramfs.c

        打印使用哪个解压算法

         寻找压缩根文件系统的压缩脚本,我这边遇到的问题是由于docker容器内编译环境没有lzop的命令,所以使用linux系统自带的gzip算法,接下来安装zo算法相关的库和编译工具即可

        lzo安装方法参考:如何在Ubuntu 12.04/Ubuntu16.04下安装lzop压缩工具源码_ubuntu lzop-CSDN博客

        安装重新编译,刷机,这个时候就能看到解压算法使用lzo了

        notes:

                在编译需要把kenrel配置文件中相关的lzo宏全部打开,解压算法得到支持,还需要添加一行CONFIG_DECOMPRESS_LZO=y,lzo解压的接口函数才会得到支持

 优化结果:

        优化解压rootfs耗时:0.467853s

        优化后

        优化前后0.297439—>300ms

http://www.xdnf.cn/news/1059211.html

相关文章:

  • CANFD加速是什么?和CANFD有什么区别?
  • linux 下 jenkins 构建 uniapp node-sass 报错
  • 使用@SpringJUnitConfig注解开发遇到的空指针问题
  • spring-webmvc @InitBinder 典型用法
  • 《挑战你的控制力!开源项目小游戏学习“保持平衡”开发解析:用HTML+JS+CSS实现物理平衡挑战》​
  • 【51单片机】8. 矩阵LED显示自定义图案、动画
  • 用idea操作git缓存区回退、本地库回退、远程库回退
  • singlefligt使用方法和源码解读
  • 无需公网IP:Termux+手机+内网穿透实现Minecraft远程多人联机
  • Uniapp 中根据不同离开页面方式处理 `onHide` 的方法
  • python3:线程管理进程
  • 前端打断点
  • python校园服务交流系统
  • 第十八天:初级数据库学习笔记2
  • easyexcel基于模板生成报表
  • RabbitMQ七种工作模式
  • 21.加密系统函数
  • macOS版的节点小宝上架苹果APP Store了
  • git的使用——初步认识git和基础操作
  • DeepForest开源程序是用于 Airborne RGB 机器学习的 Python 软件包
  • 使用 Elasticsearch 提升 Copilot 能力
  • [计算机网络] 网络的诞生:协议的认知建立
  • 2025年暑期在线实习项目分享
  • 理解 create 指向的箭头函数
  • 从零Gazebo中实现Cartographer算法建图
  • DBeaver 中 Greenplum、PostgreSQL 和 PostgreSQL (old) 驱动的区别
  • 前端跨域解决方案(4):postMessage
  • 剑指offer32_二叉搜索树的后序遍历序列
  • 新发布的一款使用ReactNative新架构加载Svga动画的开源插件[android/ios]
  • 数据结构——选择题—查漏补缺