docs: refresh submission readmes and remove task notes
KernelSight 是面向 openKylin 的系统异常观测与诊断工具。内核侧通过 eBPF 采集调度、 块 I/O、futex 和系统调用事件,用户态结合 /proc、cgroup 与时间窗口生成结构化诊断。 结果包含异常类别、关联对象、指标、时间窗口、疑似原因、证据和处理建议。
/proc
项目覆盖 CPU、I/O、内存、锁竞争和系统调用热点五类异常。检测规则、历史数据查询、 桌面界面和 UKUI 菜单扩展的实现见 src/。其他材料按决赛目录规范分开存放:
src/
docs/
tests/
demo/
presentation/
已有测试结果来自 openKylin 2.0 SP2、Linux 6.6.0-22-generic、x86_64 虚拟机。 demo/ 中的安装包为 amd64,
6.6.0-22-generic
安装运行依赖 systemd、D-Bus 和包管理器提供的系统库。复现脚本另需 Bash、 Python 3、Node.js、curl、stress-ng 和 fio;从源码构建还需 Rust、 Probe 构建所用 nightly 工具链、LLVM/Clang、npm、WebKitGTK 和 UKUI Qt 开发依赖。
stress-ng
fio
在目标 openKylin x86_64 机器上,从仓库根目录执行:
cd demo sudo dpkg -i ./kernelsight_0.1.0_amd64.deb sudo dpkg -i ./kernelsight-ukui-menu_0.1.0_amd64.deb # 可选 sudo systemctl status kernelsight-agent kernelsight-monitor
缺少依赖时,先检查软件源和报错,再执行 sudo apt-get -f install 并复查服务。 两个服务应为 active (running)。桌面端可从应用菜单启动;安装扩展后,也可从 UKUI 开始菜单进入 KernelSight。排查启动问题可运行:
sudo apt-get -f install
active (running)
sudo journalctl -u kernelsight-agent -u kernelsight-monitor -n 100
系统总览展示 CPU、内存、系统调用频率和 I/O P99 等实时指标;进程监控可按 PID 或命令名查找对象;历史采样展示保留的指标窗口;异常分析按 Unix 秒级时间戳 重新聚合指定窗口;评测验证页面展示规则回归、真实负载和运行开销结果。
默认配置见 src/config/default.toml,安装后为 /etc/kernelsight/config.toml。常用阈值如下:
src/config/default.toml
/etc/kernelsight/config.toml
runtime.window_secs
cpu.high_usage_percent
io.p99_latency_ms
memory.available_memory_percent
lock.avg_wait_ms
syscall.hot_count_per_sec
修改安装后的配置后,重启 kernelsight-agent 和 kernelsight-monitor 服务。 完整的诊断与证据关联流程见下图:
kernelsight-agent
kernelsight-monitor
Rust 工作区根目录为 src/。在配置好上述构建依赖的 Linux 环境中执行:
cd src npm --prefix frontend ci npm --prefix frontend run build cargo build --release -p kernelsight-cli -p kernelsight-monitor cargo run -p xtask -- build-probes
主程序打包清单现从 ../tests/scripts/ 读取脚本。需要生成新的安装包时,仍在 src/ 目录执行:
../tests/scripts/
cargo run -p xtask -- package-deb cargo run -p xtask -- package-ukui-menu-deb
输出位于 src/target/deb/。
src/target/deb/
从仓库根目录运行已有的测试脚本。真实负载和性能对照会启动压力任务, 其中性能对照会短暂切换 KernelSight 服务状态,只应在可控测试机执行。
cd src cargo test -p kernelsight-common -p kernelsight-engine cargo run -p xtask -- evaluate-fixtures cd .. sudo bash tests/scripts/validate-live-scenarios.sh \ --duration 30 --repeat 1 --scenarios cpu,io,lock,syscall,normal sudo bash tests/scripts/benchmark-overhead.sh \ --workload cpu,io --duration 30 --repeat 1
规则回归在 src/output/evaluation/ 生成结果。真实负载和性能测试默认写入 /var/lib/kernelsight/evaluation/;参数、原始日志和场景复现命令见 tests 说明。
src/output/evaluation/
/var/lib/kernelsight/evaluation/
历史测试材料 显示:固定快照规则回归 6/6; 真实压力汇总 15/15,覆盖 CPU、I/O、锁竞争、系统调用和正常基线,每项 3 轮。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
KernelSight
KernelSight 是面向 openKylin 的系统异常观测与诊断工具。内核侧通过 eBPF 采集调度、 块 I/O、futex 和系统调用事件,用户态结合
/proc、cgroup 与时间窗口生成结构化诊断。 结果包含异常类别、关联对象、指标、时间窗口、疑似原因、证据和处理建议。项目覆盖 CPU、I/O、内存、锁竞争和系统调用热点五类异常。检测规则、历史数据查询、 桌面界面和 UKUI 菜单扩展的实现见
src/。其他材料按决赛目录规范分开存放:src/docs/tests/demo/presentation/运行环境
已有测试结果来自 openKylin 2.0 SP2、Linux
6.6.0-22-generic、x86_64 虚拟机。demo/中的安装包为 amd64,安装运行依赖 systemd、D-Bus 和包管理器提供的系统库。复现脚本另需 Bash、 Python 3、Node.js、curl、
stress-ng和fio;从源码构建还需 Rust、 Probe 构建所用 nightly 工具链、LLVM/Clang、npm、WebKitGTK 和 UKUI Qt 开发依赖。安装与启动
在目标 openKylin x86_64 机器上,从仓库根目录执行:
缺少依赖时,先检查软件源和报错,再执行
sudo apt-get -f install并复查服务。 两个服务应为active (running)。桌面端可从应用菜单启动;安装扩展后,也可从 UKUI 开始菜单进入 KernelSight。排查启动问题可运行:使用方法
系统总览展示 CPU、内存、系统调用频率和 I/O P99 等实时指标;进程监控可按 PID 或命令名查找对象;历史采样展示保留的指标窗口;异常分析按 Unix 秒级时间戳 重新聚合指定窗口;评测验证页面展示规则回归、真实负载和运行开销结果。
默认配置见
src/config/default.toml,安装后为/etc/kernelsight/config.toml。常用阈值如下:runtime.window_secscpu.high_usage_percentio.p99_latency_msmemory.available_memory_percentlock.avg_wait_mssyscall.hot_count_per_sec修改安装后的配置后,重启
kernelsight-agent和kernelsight-monitor服务。 完整的诊断与证据关联流程见下图:源码构建
Rust 工作区根目录为
src/。在配置好上述构建依赖的 Linux 环境中执行:主程序打包清单现从
../tests/scripts/读取脚本。需要生成新的安装包时,仍在src/目录执行:输出位于
src/target/deb/。测试与结果
从仓库根目录运行已有的测试脚本。真实负载和性能对照会启动压力任务, 其中性能对照会短暂切换 KernelSight 服务状态,只应在可控测试机执行。
规则回归在
src/output/evaluation/生成结果。真实负载和性能测试默认写入/var/lib/kernelsight/evaluation/;参数、原始日志和场景复现命令见 tests 说明。历史测试材料 显示:固定快照规则回归 6/6; 真实压力汇总 15/15,覆盖 CPU、I/O、锁竞争、系统调用和正常基线,每项 3 轮。
已知限制