aboutsummaryrefslogtreecommitdiff
path: root/zh_CN.GB2312/books/handbook/dtrace
diff options
context:
space:
mode:
Diffstat (limited to 'zh_CN.GB2312/books/handbook/dtrace')
-rw-r--r--zh_CN.GB2312/books/handbook/dtrace/chapter.sgml60
1 files changed, 30 insertions, 30 deletions
diff --git a/zh_CN.GB2312/books/handbook/dtrace/chapter.sgml b/zh_CN.GB2312/books/handbook/dtrace/chapter.sgml
index f391d34443..fbd429f049 100644
--- a/zh_CN.GB2312/books/handbook/dtrace/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/dtrace/chapter.sgml
@@ -8,7 +8,7 @@ that might make this chapter too large.
<!--
The FreeBSD Documentation Project
- Original Revision: 1.5
+ Original Revision: 1.7
$FreeBSD$
-->
@@ -23,40 +23,40 @@ that might make this chapter too large.
</authorgroup>
</chapterinfo>
- <title>DTrace</title>
+ <title>&dtrace;</title>
<sect1 id="dtrace-synopsis">
<title>概述</title>
- <indexterm><primary>DTrace</primary></indexterm>
+ <indexterm><primary>&dtrace;</primary></indexterm>
<indexterm>
- <primary>DTrace support</primary>
- <see>DTrace</see>
+ <primary>&dtrace; support</primary>
+ <see>&dtrace;</see>
</indexterm>
- <para>DTrace,也称为动态跟踪,是由 &sun;
+ <para>&dtrace;,也称为动态跟踪,是由 &sun;
开发的一个用来在生产和试验性生产系统上找出系统瓶颈的工具。
在任何情况下它都不是一个调试工具,
而是一个实时系统分析寻找出性能及其他问题的工具。</para>
- <para>DTrace 是个特别好的分析工具,带有大量的帮助诊断系统问题的特性。
+ <para>&dtrace; 是个特别好的分析工具,带有大量的帮助诊断系统问题的特性。
还可以使用预先写好的脚本利用它的功能。
- 用户也可以通过使用 DTrace D 语言创建他们自己定制的分析工具,
+ 用户也可以通过使用 &dtrace; D 语言创建他们自己定制的分析工具,
以满足特定的需求。</para>
<para>在阅读了这一章节之后,你将了解:</para>
<itemizedlist>
<listitem>
- <para>DTrace 是什么,它提供了些哪些特性。</para>
+ <para>&dtrace; 是什么,它提供了些哪些特性。</para>
</listitem>
<listitem>
- <para>DTrace 在 &solaris; 与 &os; 上的实现的差别。</para>
+ <para>&dtrace; 在 &solaris; 与 &os; 上的实现的差别。</para>
</listitem>
<listitem>
- <para>如何在 &os; 上开启和使用 DTrace。</para>
+ <para>如何在 &os; 上开启和使用 &dtrace;。</para>
</listitem>
</itemizedlist>
@@ -80,7 +80,7 @@ that might make this chapter too large.
<listitem>
<para>了解如何获取和重新编译 &os; 源代码
- (<xref linkend="cutting-edge">)。</para>
+ (<xref linkend="updating-upgrading">)。</para>
</listitem>
</itemizedlist>
@@ -98,10 +98,10 @@ that might make this chapter too large.
<sect1 id="dtrace-implementation">
<title>实现上的差异</title>
- <para>虽然 &os; 上的 DTrace 与 &solaris; 上的非常相似,
+ <para>虽然 &os; 上的 &dtrace; 与 &solaris; 上的非常相似,
在继续深入之前我们需要说明一下存在的差异。
- 用户首先会注意到的便是 &os; 上的 DTrace 需要明确的被启用。
- DTrace 相关的内核选项和模块必须开启后才能正常工作。
+ 用户首先会注意到的便是 &os; 上的 &dtrace; 需要明确的被启用。
+ &dtrace; 相关的内核选项和模块必须开启后才能正常工作。
稍后我们会作详细介绍。</para>
<para>有一个 <literal>DDB_CTF</literal>
@@ -124,13 +124,13 @@ that might make this chapter too large.
可以让你根据类型追踪 &os; 内核中的
<function>malloc()</function>。</para>
- <para>只有 <username>root</username> 可以使用 &os; 上的 DTrace。
+ <para>只有 <username>root</username> 可以使用 &os; 上的 &dtrace;。
这是由系统安全上的差异造成的,&solaris; 提供了一些 &os;
上还为实现的低层的安全检查。同样,
<devicename>/dev/dtrace/dtrace</devicename> 也被严格的限制为仅供
<username>root</username> 用户访问。</para>
- <para>最后,DTrace 为 &sun; <acronym>CDDL</acronym>
+ <para>最后,&dtrace; 为 &sun; <acronym>CDDL</acronym>
许可下发布的软件。随 &os; 发行的
<literal>Common Development and Distribution License</literal>
可以在查阅
@@ -139,15 +139,15 @@ that might make this chapter too large.
<ulink url="http://www.opensolaris.org/os/licensing"></ulink>
查看在线版本。</para>
- <para>这个许可表示带有 DTrace 选项的 &os; 内核仍为
+ <para>这个许可表示带有 &dtrace; 选项的 &os; 内核仍为
<acronym>BSD</acronym> 许可;然而以二进制发布模块,
或者加载二进制模块则需遵守 <acronym>CDDL</acronym>。</para>
</sect1>
<sect1 id="dtrace-enable">
- <title>启用 DTrace 支持</title>
+ <title>启用 &dtrace; 支持</title>
- <para>在内核配置文件中加入以下几行来开启对 DTrace 的支持:</para>
+ <para>在内核配置文件中加入以下几行来开启对 &dtrace; 的支持:</para>
<programlisting>options KDTRACE_HOOKS
options DDB_CTF</programlisting>
@@ -158,7 +158,7 @@ options DDB_CTF</programlisting>
<programlisting>options KDTRACE_FRAME</programlisting>
<para>此选项提供了对 <acronym>FBT</acronym> 特性的支持。
- DTrace 可以在没有此选项的情况下正常工作,
+ &dtrace; 可以在没有此选项的情况下正常工作,
但是函数边界跟踪便会有所限制。</para>
</note>
@@ -186,7 +186,7 @@ options DDB_CTF</programlisting>
<para>系统需要重新启动。</para>
<para>在重新启动和新内核载入内存之后,需要添加 Korn shell
- 的支持。因为 DTrace 工具包有一些工具是由 <command>ksh</command>
+ 的支持。因为 &dtrace; 工具包有一些工具是由 <command>ksh</command>
写的。安装 <filename role="package">shells/ksh93</filename>。
同样也可以通过 <filename role="package">shells/pdksh</filename>
或者 <filename role="package">shells/mksh</filename>
@@ -199,23 +199,23 @@ options DDB_CTF</programlisting>
</sect1>
<sect1 id="dtrace-using">
- <title>使用 DTrace</title>
+ <title>使用 &dtrace;</title>
- <para>在使用 DTrace 的功能之前,DTrace 设备必须存在。
+ <para>在使用 &dtrace; 的功能之前,&dtrace; 设备必须存在。
使用如下的命令装载此设备:</para>
<screen>&prompt.root; <userinput>kldload dtraceall</userinput></screen>
- <para>DTrace 支持现在应该可以使用了。
+ <para>&dtrace; 支持现在应该可以使用了。
管理员现在可以使用如下的命令查看所有的探测器:</para>
<screen>&prompt.root; <userinput>dtrace -l | more</userinput></screen>
<para>所有的输出都传递给 <command>more</command> 工具,
- 因为它们会很快超出屏幕的显示区域。此时,DTrace
+ 因为它们会很快超出屏幕的显示区域。此时,&dtrace;
应该被认为是能够正常工作的了。现在是该考察工具包的时候了。</para>
- <para>工具包是实现写好的一堆脚本,与 DTrace 一起运行来收集系统信息。
+ <para>工具包是实现写好的一堆脚本,与 &dtrace; 一起运行来收集系统信息。
有脚本用来检查已打开的文件,内存,<acronym>CPU</acronym>
使用率和许多东西。使用如下的命令解开脚本:</para>
@@ -234,13 +234,13 @@ options DDB_CTF</programlisting>
<filename>/usr/local/bin/perl</filename>。</para>
<important>
- <para>此刻还需谨慎提醒一下读者 &os; 的 DTrace 支持仍是
+ <para>此刻还需谨慎提醒一下读者 &os; 的 &dtrace; 支持仍是
<emphasis>不完整的</emphasis> 和 <emphasis>试验性</emphasis> 的。
这些脚本中的大多数都无法运行,因为它们过于针对 &solaris;
或者使用了目前还不支持的探测器。</para>
</important>
- <para>在撰写这篇文章的时候,DTrace 工具包中只有两个脚本在
+ <para>在撰写这篇文章的时候,&dtrace; 工具包中只有两个脚本在
&os; 上是完全支持的:
<filename>hotkernel</filename> 和 <filename>procsystime</filename>
脚本。这两个脚本便是我们下一部分将要探讨的:</para>
@@ -355,7 +355,7 @@ Elapsed Times for processes csh,
<sect1 id="dtrace-language">
<title>D 语言</title>
- <para>DTrace 工具包包括了很多由 DTrace 特殊语言写成的脚本。
+ <para>&dtrace; 工具包包括了很多由 &dtrace; 特殊语言写成的脚本。
在 &sun; 的文档中称这类语言为 <quote>D 语言</quote>,
它与 C++ 非常类似。对此语言更深入的讨论则超出了这篇文章的范围。
更多相关的讨论可以在