参照一个在i386架构上怎样启用分析选项(profiling)编译内核的快速指南, 这里假定你要的源代码在 /usr/src ,并且使用 GENERIC 配置, 当然这可能并非一定适合你:
- cd /usr/src/sys/arch/i386/conf
- config -p GENERIC
- cd ../compile/GENERIC.PROF
- make depend && make
- cp /netbsd /netbsd.old
- cp netbsd /
- reboot
18.7.1.1. 使用kgmon
要运行kgmon:
代码: 全选
$ kgmon -b
kgmon: kernel profiling is running.
代码: 全选
$ kgmon -p
代码: 全选
$ gprof /netbsd > gprof.out
如果只单独运行kgmon, 你可能不能获得你所需的信息, 但是如果你比较了两个不同的内核, 就会知道应该使用的好基准。 如果一个子系统既属于好的基准又在新(或不同)内核内,那么强调它通常是一个好主意。