Delete compare_report.md
中国研究生操作系统开源创新大赛参赛项目
基于 systemd 的 openKylin 桌面系统启动性能分析与自动化优化工具链
麟启速链(openKylin Startup Optimization Framework) 是面向国产桌面操作系统 openKylin 的启动性能分析与优化工具。
项目围绕操作系统启动过程中存在的启动链路长、服务加载冗余、关键阶段耗时不透明、优化过程不可量化等问题,设计了一套完整的:
基线测量 → 瓶颈诊断 → 服务优化 → 自动复测 → 数据对比 → 配置回滚
的启动性能优化闭环流程。
项目基于 openKylin 默认 systemd 服务管理机制,通过系统原生诊断工具结合 Shell/Python 自动化脚本,实现启动阶段耗时采集、关键服务定位、冗余服务优化以及优化效果量化分析。
项目无需修改 Linux 内核及 systemd 源码,仅通过服务配置调整和自动化工具实现轻量化优化,具有较好的安全性、兼容性和可复用价值。
openKylin 基于 systemd 作为系统服务管理器,默认集成大量通用服务,例如:
部分服务在普通桌面环境或虚拟机环境中并非必要,但会参与启动流程,造成:
针对上述问题,本项目提出自动化启动优化方案。
项目建立了一套完整的启动性能优化闭环流程:
flowchart TD A[启动基线采集] --> B[启动耗时分析] B --> C[关键服务定位] C --> D[服务启动优化] D --> E[性能自动复测] E --> F[优化效果对比]
通过测量、分析、优化、验证的方式,实现启动性能问题定位与优化效果量化。
针对 Linux 桌面系统启动过程,项目从不同阶段进行耗时分析:
通过区分系统级服务和用户级服务,完整覆盖用户从开机到进入桌面的全过程。
项目遵循“最小改动”原则,不修改 Linux 内核及 systemd 源码,仅通过服务配置调整实现启动优化。
主要优化措施包括:
优化过程安全可控,并提供配置恢复机制。
项目提供完整自动化工具:
实现启动优化过程的数据记录、自动执行和结果对比。
项目整体架构如下:
flowchart TD A[openKylin系统] --> B[启动数据采集] B --> C[systemd启动分析] C --> D[关键服务定位] D --> E[自动优化执行] E --> F[性能复测] F --> G[结果对比分析] G --> H[配置回滚]
负责自动执行系统启动性能分析命令,并保存优化前后的测试数据。
主要采集:
主要使用:
systemd-analyze systemd-analyze blame systemd-analyze critical-chain
自动执行启动优化操作。
主要包括:
关闭普通桌面场景中非必要服务:
cups bluetooth ModemManager
关闭影响启动速度的等待服务:
NetworkManager-wait-online plymouth-quit-wait
关闭启动阶段自动更新任务:
apt-daily apt-daily-upgrade
优化脚本会记录执行过程,方便后续分析和恢复。
为了保证系统稳定性,项目提供一键恢复功能。
支持:
用户可以在测试后快速恢复系统环境。
自动读取优化前后的采集数据,并生成性能对比结果。
分析指标包括:
执行:
sudo bash collect.sh
生成启动性能数据文件。
sudo bash optimize.sh
脚本自动完成服务优化操作。
重启系统:
reboot
再次执行:
获取优化后的启动数据。
python3 compare.py
输出优化前后启动性能对比结果。
sudo bash restore.sh
恢复系统默认服务状态。
openkylin-startup-optimizer/ ├── collect.sh # 启动数据采集脚本 ├── optimize.sh # 自动优化脚本 ├── restore.sh # 配置恢复脚本 ├── compare.py # 数据分析脚本 │ ├── data/ # 性能测试数据 ├── report/ # 测试报告 │ └── README.md
项目完成 openKylin 启动链路分析与自动化优化流程。
测试结果:
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
麟启速链:openKylin 启动优化方案
中国研究生操作系统开源创新大赛参赛项目
基于 systemd 的 openKylin 桌面系统启动性能分析与自动化优化工具链
1. 项目简介
麟启速链(openKylin Startup Optimization Framework) 是面向国产桌面操作系统 openKylin 的启动性能分析与优化工具。
项目围绕操作系统启动过程中存在的启动链路长、服务加载冗余、关键阶段耗时不透明、优化过程不可量化等问题,设计了一套完整的:
的启动性能优化闭环流程。
项目基于 openKylin 默认 systemd 服务管理机制,通过系统原生诊断工具结合 Shell/Python 自动化脚本,实现启动阶段耗时采集、关键服务定位、冗余服务优化以及优化效果量化分析。
项目无需修改 Linux 内核及 systemd 源码,仅通过服务配置调整和自动化工具实现轻量化优化,具有较好的安全性、兼容性和可复用价值。
2. 项目背景
openKylin 基于 systemd 作为系统服务管理器,默认集成大量通用服务,例如:
部分服务在普通桌面环境或虚拟机环境中并非必要,但会参与启动流程,造成:
针对上述问题,本项目提出自动化启动优化方案。
3. 项目特点
(1)标准化启动优化流程
项目建立了一套完整的启动性能优化闭环流程:
flowchart TD A[启动基线采集] --> B[启动耗时分析] B --> C[关键服务定位] C --> D[服务启动优化] D --> E[性能自动复测] E --> F[优化效果对比]通过测量、分析、优化、验证的方式,实现启动性能问题定位与优化效果量化。
(2)分层启动性能分析
针对 Linux 桌面系统启动过程,项目从不同阶段进行耗时分析:
通过区分系统级服务和用户级服务,完整覆盖用户从开机到进入桌面的全过程。
(3)轻量化自动优化方案
项目遵循“最小改动”原则,不修改 Linux 内核及 systemd 源码,仅通过服务配置调整实现启动优化。
主要优化措施包括:
优化过程安全可控,并提供配置恢复机制。
(4)自动化性能评测工具链
项目提供完整自动化工具:
实现启动优化过程的数据记录、自动执行和结果对比。
4. 系统架构
项目整体架构如下:
flowchart TD A[openKylin系统] --> B[启动数据采集] B --> C[systemd启动分析] C --> D[关键服务定位] D --> E[自动优化执行] E --> F[性能复测] F --> G[结果对比分析] G --> H[配置回滚]5. 核心功能
5.1 数据采集模块(collect.sh)
负责自动执行系统启动性能分析命令,并保存优化前后的测试数据。
主要采集:
主要使用:
5.2 自动优化模块(optimize.sh)
自动执行启动优化操作。
主要包括:
服务裁剪
关闭普通桌面场景中非必要服务:
阻塞服务优化
关闭影响启动速度的等待服务:
自动更新优化
关闭启动阶段自动更新任务:
优化脚本会记录执行过程,方便后续分析和恢复。
5.3 配置回滚模块(restore.sh)
为了保证系统稳定性,项目提供一键恢复功能。
支持:
用户可以在测试后快速恢复系统环境。
5.4 数据对比分析模块(compare.py)
自动读取优化前后的采集数据,并生成性能对比结果。
分析指标包括:
6. 使用方法
6.1 采集启动数据
执行:
生成启动性能数据文件。
6.2 执行启动优化
执行:
脚本自动完成服务优化操作。
6.3 重启并重新采集
重启系统:
再次执行:
获取优化后的启动数据。
6.4 查看优化效果
执行:
输出优化前后启动性能对比结果。
6.5 恢复系统配置
执行:
恢复系统默认服务状态。
7. 项目目录结构
8. 优化效果
项目完成 openKylin 启动链路分析与自动化优化流程。
测试结果: