热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

当前位置 :| 主页>Linux教程>内核研究>

对Linux内核版本稳定性测试简单介绍

来源: 作者: 时间:2007-04-01 Tag: 点击:

下面的例子显示了 sar 输出的 CPU、内存和网络利用率:

QUOTE: 
10:48:27 CPU %user %nice %system %iowait %idle 
10:48:28 all 0.00 0.00 0.00 0.00 100.00 
10:48:29 all 3.00 0.00 1.00 0.00 96.00 
10:48:30 all 100.00 0.00 0.00 0.00 0.00 
10:48:31 all 100.00 0.00 0.00 0.00 0.00 02:27:31 
kbmemfree kbmemused %memused kbswpfree kbswpused %swpused 
02:29:31 200948 53228 20.94 530104 0 0.00 02:31:31
 199136 55040 21.65 530104 0 0.00 02:33:31 
198824 55352 21.78 530104 0 0.00 02:35:31 
199200 54976 21.63 530104 0 0.00 02:27:31 
IFACE rxpck/s txpck/s rxbyt/s txbyt/s 02:29:31
 eth0 738.79 741.66 76025.55 136941.85 02:31:31 
eth0 743.30 744.97 76038.82 136907.77 02:33:31 
eth0 744.80 745.02 76135.53 136901.38 02:35:31 
eth0 742.35 744.34 75947.45 136864.77

清单 1. sar 的输出示例

分析内核代码覆盖率

获得足够的内核覆盖率是系统压力测试的另一个职责。尽管所选的测试组合充分地利用了四种主要资源,它 也有可能只是执行了内核的一小部分。因而,您应该对覆盖率进行分析以确保组合可以成为一个系统压力测试,而不是一个系统负载生成器。当前,有两个开放源代码工具可以帮助进行 Linux 内核的代码覆盖率分析:

- gcov:一个由 Linux Test Project 维护的开放源代码工具。 这个工具分析内核代码的覆盖率,并报告哪些行、函数和分支被覆盖以及它们被访问了多少次。

- lcov:另一个由 IBM 开发,由 Linux Test Project 维护的开放源代码工具。 这个工具由一组构建于基于文本的 gcov 输出之上的 Perl 脚本构成,以实现基于 HTML 的输出。 输出包括覆盖率百分比、图表以及概述页,可以快速浏览覆盖率数据。您可以自 Linux Test Project(LTP)主页找到这两个工具(参阅 参考资料 以获得链接)。

gcov 模块加载以后,所有运行于系统压力测试组合中的测试都必须执行。尽管原来的系统压力测试可以同时执行,也应该同时执行,但是这次运行应该是循环进行的。每个测试都应该运行一次直到结束,一个接一个地运行,不能重复运行任何测试。单个地、循环地运行,是为了减少在同时运行多个系统压力测试时,内核尝试去平衡它们的负载而导致的不可预知的和无目的的内核代码执行。您应该在最后一个测试运行结束后再进行 gcov 分析。由于最终是要格式化数据以进行分析,所以运行 lcov 工具并加载 gcov 模块。

lcov 工具会生成一棵完整的 HTML 树,其中包含有内核中代码的每一行以及关于每一行执行了 多少次的数据(如果有的话)。这个工具会量化覆盖率数据并生成关于内核中每一部分和 文件覆盖率的百分比数字。




相关文章:
精通initramfs构建step by step
Linux利用kexec迅速切换内核
进程上下文VS中断上下文
内核通知链 学习笔记
linux spi子系统驱动分析
menuconfig 配置选项
《Linux操作系统内核实习》之练习一
udev详解
什么叫微内核,宏内核?
Linux 信号signal处理机制
开发简单的 Linux2.6 内核模块
删除内核的perl脚本
Linux2.6内核usb gadget驱动移植
GCC hacks in the Linux kernel
iomem
kernel学习的想法
让自己的驱动支持udev
linux内核编译步骤
内核的等待队列
Linux内核wait_queue深入分析
升级和删除内核
SD卡驱动分析2
Linux Kernel VDSO本地权限提升漏洞
内核中的TCP的追踪分析-15-TCP(IPV4)的客户端与
linux 2.6内核可加载模块的编译
内核模块HelloWorld
在环回接口上发送一个数据报
ARP初始化
1分钟编译FreeBSD内核
linux设备模型之uart驱动架构分析