diff options
Diffstat (limited to 'zh_CN.GB2312/books/handbook/dtrace')
-rw-r--r-- | zh_CN.GB2312/books/handbook/dtrace/chapter.sgml | 60 |
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++ 非常类似。对此语言更深入的讨论则超出了这篇文章的范围。 更多相关的讨论可以在 |