summaryrefslogtreecommitdiffstats
path: root/kernel/Documentation/zh_CN/basic_profiling.txt
blob: 1e6bf0bdf8f54a017e1c98514a8ff0641d98c707 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Chinese translated version of Documentation/basic_profiling

If you have any comment or update to the content, please post to LKML directly.
However, if you have problem communicating in English you can also ask the
Chinese maintainer for help.  Contact the Chinese maintainer, if this
translation is outdated or there is problem with translation.

Chinese maintainer: Liang Xie <xieliang@xiaomi.com>
---------------------------------------------------------------------
Documentation/basic_profiling的中文翻译

如果想评论或更新本文的内容,请直接发信到LKML。如果你使用英文交流有困难的话,也可
以向中文版维护者求助。如果本翻译更新不及时或者翻译存在问题,请联系中文版维护者。

中文版维护者: 谢良 Liang Xie <xieliang007@gmail.com>
中文版翻译者: 谢良 Liang Xie <xieliang007@gmail.com>
中文版校译者:
以下为正文
---------------------------------------------------------------------

下面这些说明指令都是非常基础的,如果你想进一步了解请阅读相关专业文档:)
请不要再在本文档增加新的内容,但可以修复文档中的错误:)(mbligh@aracnet.com)
感谢John Levon,Dave Hansen等在撰写时的帮助

<test> 用于表示要测量的目标
请先确保您已经有正确的System.map / vmlinux配置!

对于linux系统来说,配置vmlinuz最容易的方法可能就是使用“make install”,然后修改
/sbin/installkernel将vmlinux拷贝到/boot目录,而System.map通常是默认安装好的

Readprofile
-----------
2.6系列内核需要版本相对较新的readprofile,比如util-linux 2.12a中包含的,可以从:

http://www.kernel.org/pub/linux/utils/util-linux/ 下载

大部分linux发行版已经包含了.

启用readprofile需要在kernel启动命令行增加”profile=2“

clear		readprofile -r
		<test>
dump output	readprofile -m /boot/System.map > captured_profile

Oprofile
--------

从http://oprofile.sourceforge.net/获取源代码(请参考Changes以获取匹配的版本)
在kernel启动命令行增加“idle=poll”

配置CONFIG_PROFILING=y和CONFIG_OPROFILE=y然后重启进入新kernel

./configure --with-kernel-support
make install

想得到好的测量结果,请确保启用了本地APIC特性。如果opreport显示有0Hz CPU,
说明APIC特性没有开启。另外注意idle=poll选项可能有损性能。

One time setup:
		opcontrol --setup --vmlinux=/boot/vmlinux

clear		opcontrol --reset
start		opcontrol --start
		<test>
stop		opcontrol --stop
dump output	opreport >  output_file

如果只看kernel相关的报告结果,请运行命令 opreport -l /boot/vmlinux > output_file

通过reset选项可以清理过期统计数据,相当于重启的效果。