<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>英特尔® 软件网络博客 - 中文 &#187; 多核技术</title>
	<atom:link href="http://softwareblogs-zho.intel.com/category/multicore/feed/" rel="self" type="application/rss+xml" />
	<link>http://softwareblogs-zho.intel.com</link>
	<description></description>
	<pubDate>Sat, 11 Oct 2008 15:07:13 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>如何用VMware搭建HA和DRS环境（第二篇；安装配置DNS Server）</title>
		<link>http://softwareblogs-zho.intel.com/2008/09/16/vmwarehadrsdns-server/</link>
		<comments>http://softwareblogs-zho.intel.com/2008/09/16/vmwarehadrsdns-server/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 06:56:15 +0000</pubDate>
		<dc:creator>魏彬</dc:creator>
		
		<category><![CDATA[可管理性]]></category>

		<category><![CDATA[多核技术]]></category>

		<category><![CDATA[虚拟化技术]]></category>

		<category><![CDATA[virtualization vmware ha dns]]></category>

		<guid isPermaLink="false">http://softwareblogs-zho.intel.com/2008/09/16/vmwarehadrsdns-server/</guid>
		<description><![CDATA[如果你是windows server,请按照以下步骤安装配置.
1. Select one client for DNS server.
2. Give a “Primary DNS suffix of computer “ = like : “idf.local”.

3. 需要重起计算机。
4. 如果机器上没有DNS服务，请安装，最好再安装系统的时候就安装了此项服务。如果安装系统时没有安装:
a) Control panel
b) Add or remove programs
c) Add or remove windows components
d) 选择“Networking Services” – Press “Detail”
e) 选择 “Domain Name System(DNS)”
f) 安装DNS服务 (确保安装光盘在光驱中)
5. Start-&#62;Administrative tools-&#62;DNS
6. 右键点击 – “Forward lookup zone” -〉 new Zone



其他都按照默认选项来配置。
7.  右键点击– [...]]]></description>
			<content:encoded><![CDATA[<p>如果你是windows server,请按照以下步骤安装配置.<br />
1. Select one client for DNS server.<br />
2. Give a “Primary DNS suffix of computer “ = like : “idf.local”.</p>
<p><a href="http://softwareblogs-zho.intel.com/wordpress/wp-content/uploads/2008/09/dns.jpg"><img class="alignnone size-medium wp-image-412" src="http://softwareblogs-zho.intel.com/wordpress/wp-content/uploads/2008/09/dns-300x183.jpg" alt="" width="300" height="183" /></a><br />
3. 需要重起计算机。<br />
4. 如果机器上没有DNS服务，请安装，最好再安装系统的时候就安装了此项服务。如果安装系统时没有安装:<br />
a) Control panel<br />
b) Add or remove programs<br />
c) Add or remove windows components<br />
d) 选择“Networking Services” – Press “Detail”<br />
e) 选择 “Domain Name System(DNS)”<br />
f) 安装DNS服务 (确保安装光盘在光驱中)<br />
5. Start-&gt;Administrative tools-&gt;DNS<br />
6. 右键点击 – “Forward lookup zone” -〉 new Zone</p>
<p><a href="http://softwareblogs-zho.intel.com/wordpress/wp-content/uploads/2008/09/dns-1.jpg"><img class="alignnone size-medium wp-image-411" src="http://softwareblogs-zho.intel.com/wordpress/wp-content/uploads/2008/09/dns-1-300x249.jpg" alt="" width="300" height="249" /></a></p>
<p><a href="http://softwareblogs-zho.intel.com/wordpress/wp-content/uploads/2008/09/dns-21.jpg"><img class="alignnone size-medium wp-image-408" src="http://softwareblogs-zho.intel.com/wordpress/wp-content/uploads/2008/09/dns-21-300x228.jpg" alt="" width="300" height="228" /></a></p>
<p><a href="http://softwareblogs-zho.intel.com/wordpress/wp-content/uploads/2008/09/dns-31.jpg"><img class="alignnone size-medium wp-image-409" src="http://softwareblogs-zho.intel.com/wordpress/wp-content/uploads/2008/09/dns-31-300x228.jpg" alt="" width="300" height="228" /></a></p>
<p>其他都按照默认选项来配置。<br />
7.  右键点击– “Reverse lookup zone” -〉 new Zone</p>
<p><a href="http://softwareblogs-zho.intel.com/wordpress/wp-content/uploads/2008/09/dns-5.jpg"><img class="alignnone size-medium wp-image-402" src="http://softwareblogs-zho.intel.com/wordpress/wp-content/uploads/2008/09/dns-5-300x228.jpg" alt="" width="300" height="228" /></a></p>
<p><img class="alignnone size-medium wp-image-399" src="http://softwareblogs-zho.intel.com/wordpress/wp-content/uploads/2008/09/e69caa-300x227.jpg" alt="" width="300" height="227" /></p>
<p>其他都按照默认选项来配置。<br />
8. 检查配置，看是否工作正常。</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs-zho.intel.com/2008/09/16/vmwarehadrsdns-server/feed/</wfw:commentRss>
		</item>
		<item>
		<title>如何用VMware搭建HA和DRS环境（第一篇；序）</title>
		<link>http://softwareblogs-zho.intel.com/2008/09/16/vmwarehadrs/</link>
		<comments>http://softwareblogs-zho.intel.com/2008/09/16/vmwarehadrs/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 06:12:08 +0000</pubDate>
		<dc:creator>魏彬</dc:creator>
		
		<category><![CDATA[可管理性]]></category>

		<category><![CDATA[多核技术]]></category>

		<category><![CDATA[虚拟化技术]]></category>

		<category><![CDATA[Virtualization VMware HA DRS]]></category>

		<guid isPermaLink="false">http://softwareblogs-zho.intel.com/2008/09/16/vmwarehadrs/</guid>
		<description><![CDATA[你是不是经常遇到VMware 的HA不能正常的被配置，总有一个感叹号出来告诉你没有配置成功，说什么“HA Agent ... error”，其实这些都是由一些小的配置错误引起的。
用VMware ESX server/virtaul center 来搭建HA和DRS环境，对于这一环境的搭建，尽管VMware的文档也介绍的很详细，但是如果真正到自己去亲手搭建的时候，有很多细节需要注意，否则HA的环境很难成功的支持。本文旨在介绍具体的细节，可能遇到的具体问题，来解决你可能面临的问题。
众所周知，支持HA和DRS必须要有两台主机，而且还要有共享存储。所以下面列出了一系列基本的配置要求：
1。两台相同配置的机器。（CPU配置目前必须一致，除非你的硬件和软件都支持Intel FlexMigrate技术。想知道相关背景和技术，请留意之后的帖子。）
2。每台机器最好有至少2块网卡。而且ESX server可以驱动这两块网卡。
3。另找机器作为VC,DNS,NFS storage.如果你有资源可以找两台，一台做VC和DNS，另一台做NFS Share Storage.
所以总结下来，最低配置一定要至少有三台机器。下面我们将详细介绍配置过程。
]]></description>
			<content:encoded><![CDATA[<p>你是不是经常遇到VMware 的HA不能正常的被配置，总有一个感叹号出来告诉你没有配置成功，说什么“HA Agent ... error”，其实这些都是由一些小的配置错误引起的。<br />
用VMware ESX server/virtaul center 来搭建HA和DRS环境，对于这一环境的搭建，尽管VMware的文档也介绍的很详细，但是如果真正到自己去亲手搭建的时候，有很多细节需要注意，否则HA的环境很难成功的支持。本文旨在介绍具体的细节，可能遇到的具体问题，来解决你可能面临的问题。<br />
众所周知，支持HA和DRS必须要有两台主机，而且还要有共享存储。所以下面列出了一系列基本的配置要求：<br />
1。两台相同配置的机器。（CPU配置目前必须一致，除非你的硬件和软件都支持Intel FlexMigrate技术。想知道相关背景和技术，请留意之后的帖子。）<br />
2。每台机器最好有至少2块网卡。而且ESX server可以驱动这两块网卡。<br />
3。另找机器作为VC,DNS,NFS storage.如果你有资源可以找两台，一台做VC和DNS，另一台做NFS Share Storage.<br />
所以总结下来，最低配置一定要至少有三台机器。下面我们将详细介绍配置过程。</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs-zho.intel.com/2008/09/16/vmwarehadrs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>英特尔做程序优化的多核应用工程师到底对IT界有没有贡献</title>
		<link>http://softwareblogs-zho.intel.com/2008/09/15/it/</link>
		<comments>http://softwareblogs-zho.intel.com/2008/09/15/it/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 04:03:36 +0000</pubDate>
		<dc:creator>白极 (Intel)</dc:creator>
		
		<category><![CDATA[多核技术]]></category>

		<guid isPermaLink="false">http://softwareblogs-zho.intel.com/2008/09/15/it/</guid>
		<description><![CDATA[阿拉是做啥的呢。  每次被问这个问题， 都要解释半天。  程序性能优化， 多核enabling ， 售前， 应用工程师，  xxxx ，。。。。
解释半天， 没有一个听得懂， 汗一个。
日本人， 听不懂也不能表明我们的工作就是没用用， 看我来解释解释。
 一般人的印象， 做应用工程师， 售前 ， enabling总归要有个产品。 我们的产品是什么呢 --- 多核CPU
前段时间MSN 中国上面有个科技的headline。 说现在软件面临的最大挑战是什么  ---  在多核CPU 上面性能还没有单核好。  MSN中国 不是intel 的枪手，上面多半是美女八卦，  突然在科技版面搞了个headline 把当今软件面临的最大挑战描述为多核 enabling ， 哇塞，绝对是给我们打广告。 看得我真是高兴啊。
    为什么高兴，  主要是自己的工作得到了稍稍的社会的重视。    以往软件哪有什么性能不性能的，主要是功能。 能跑不就ok了吗。 现在不一样了，  多核已成主流，  你一个软件多核上面比单核还跑得龊，end user 绝对在家里骂娘。
summary：
    英特尔做程序优化的多核应用工程师是IT 界默默无闻， 无私奉献， 解决现在软件面临的最大挑战的平凡的IT 民工。 对改变现在一个软件多核上面比单核还跑得龊，end user 在家里骂软件公司的现状有着无比积极的作用。
]]></description>
			<content:encoded><![CDATA[<p>阿拉是做啥的呢。  每次被问这个问题， 都要解释半天。  程序性能优化， 多核enabling ， 售前， 应用工程师，  xxxx ，。。。。</p>
<p>解释半天， 没有一个听得懂， 汗一个。</p>
<p>日本人， 听不懂也不能表明我们的工作就是没用用， 看我来解释解释。</p>
<p> 一般人的印象， 做应用工程师， 售前 ， enabling总归要有个产品。 我们的产品是什么呢 --- 多核CPU</p>
<p>前段时间MSN 中国上面有个科技的headline。 说现在软件面临的最大挑战是什么  ---  在多核CPU 上面性能还没有单核好。  MSN中国 不是intel 的枪手，上面多半是美女八卦，  突然在科技版面搞了个headline 把当今软件面临的最大挑战描述为多核 enabling ， 哇塞，绝对是给我们打广告。 看得我真是高兴啊。</p>
<p>    为什么高兴，  主要是自己的工作得到了稍稍的社会的重视。    以往软件哪有什么性能不性能的，主要是功能。 能跑不就ok了吗。 现在不一样了，  多核已成主流，  你一个软件多核上面比单核还跑得龊，end user 绝对在家里骂娘。</p>
<p>summary：</p>
<p>    英特尔做程序优化的多核应用工程师是IT 界默默无闻， 无私奉献， 解决现在软件面临的最大挑战的平凡的IT 民工。 对改变现在一个软件多核上面比单核还跑得龊，end user 在家里骂软件公司的现状有着无比积极的作用。</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs-zho.intel.com/2008/09/15/it/feed/</wfw:commentRss>
		</item>
		<item>
		<title>推介英特尔® 黑带软件开发人员！</title>
		<link>http://softwareblogs-zho.intel.com/2008/09/11/365/</link>
		<comments>http://softwareblogs-zho.intel.com/2008/09/11/365/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 06:22:54 +0000</pubDate>
		<dc:creator>Li Hong Mu (Intel)</dc:creator>
		
		<category><![CDATA[可管理性]]></category>

		<category><![CDATA[图形和视觉计算]]></category>

		<category><![CDATA[多核技术]]></category>

		<category><![CDATA[开放源代码]]></category>

		<category><![CDATA[游戏]]></category>

		<category><![CDATA[移动技术]]></category>

		<category><![CDATA[虚拟化技术]]></category>

		<guid isPermaLink="false">http://softwareblogs-zho.intel.com/2008/09/11/365/</guid>
		<description><![CDATA[  
 
为了表彰英特尔® 软件网络社区中最活跃的成员对我们一直以来的支持，我们希望授予他们荣誉头衔，让他们感受到尊崇。为此，我们推出了“英特尔® 黑带软件开发人员”头衔，用于表彰拥有专业技术知识、与他人分享知识，并协同其他成员促进社区发展的人士。
 
    为何采用“黑带”一词？跆拳道中的“黑带”表示运动员的技术动作与思想修为均已臻成熟，而在我们的社区中，这个称号意味着社区成员具备高人一等的创新开发能力和深入理解能力。“黑带”是我们为答谢社区成员所做贡献的一种方式，是我们授予社区成员的最高荣誉。我们将为获得该头衔的人员提供多项工具及奖品，详情可点击这里了解。
 
 
 
Igor Levicki 和 Jim Dempsey 两位有幸率先获得“英特尔® 黑带软件开发人员”荣誉称号:
 


来自塞尔维亚贝尔格莱德的Igor是一名软件工程师，最擅长代码优化、图片、视频和音频处理以及线程和 GPGPU 编程。相信 Igor 对大家来说一点也不陌生，因为他是论坛上的大忙人。 


Jim 曾在一些知名公司（如 Digital Equipment Corp和 EDUCOMP）工作，积累了丰富的经验。他经常在并行编程论坛发帖。最近，Jim 与英特尔® 多核线程化社区社区经理 Aaron Tersteeg 一道参加了我们的研究@英特尔活动。


 
我们还会于今后几个月陆续颁发部分黑带称号，敬请关注。
 
    一切才刚刚开始 ……
    我们想听听您对这种认可方式、奖品等各方面的评价。您认为我们在哪些地方还有待改善？您作为认可的一分子还想看到什么呢？不妨将您的想法以邮件方式告诉我们。
 
 
 
 
 
 
 
]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 24pt; line-height: 150%;">  </p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 24pt; line-height: 150%;"> </p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 24pt; line-height: 150%;"><span style="font-size: small;"><span style="color: #000080;"><span style="font-family: 宋体;">为了表彰英特尔</span><span style="font-family: Times New Roman;"><span style="font-size: 12pt; font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-font-family: 宋体; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"><sup><span style="font-size: 9pt; font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-font-family: 宋体; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">®</span></sup></span> </span><span style="font-family: 宋体;">软件网络社区中最活跃的成员对我们一直以来的支持，我们希望授予他们荣誉头衔，让他们感受到尊崇。为此，我们推出了“英特尔</span><sup><span style="font-family: Arial;"><span style="font-size: 9pt; font-family: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-font-family: 宋体; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">®</span></span></sup><span style="font-family: Arial;"> </span><span style="font-family: 宋体;">黑带软件开发人员”头衔，用于表彰拥有专业技术知识、与他人分享知识，并协同其他成员促进社区发展的人士。</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 24pt; line-height: 150%;"><span style="font-size: small; color: #000080; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"><span style="font-size: small;"><span style="font-family: 宋体;"><span style="color: #000080;">    为何采用“黑带”一词？跆拳道中的“黑带”表示运动员的技术动作与思想修为均已臻成熟，而在我们的社区中，这个称号意味着社区成员具备高人一等的创新开发能力和深入理解能力。“黑带”是我们为答谢社区成员所做贡献的一种方式，是我们授予社区成员的最高荣誉。我们将为获得该头衔的人员提供多项工具及奖品，详情可点击</span></span><span style="font-family: Arial;"><a href="http://softwarecommunity.intel.com/blackbelt/faq.php"><span style="font-family: 宋体;">这里</span></a></span><span style="color: #000080;"><span style="font-family: 宋体;">了解。</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"> </p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"><span style="font-size: small; color: #000080; font-family: Times New Roman;"><a href="http://softwareblogs-zho.intel.com/wordpress/wp-content/uploads/2008/09/image0013.jpg"><img class="alignnone size-medium wp-image-377" title="image0013" src="http://softwareblogs-zho.intel.com/wordpress/wp-content/uploads/2008/09/image0013.jpg" alt="" width="100" height="100" /></a> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"> </p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"><span style="font-family: Arial;"><a href="http://softwarecommunity.intel.com/isn/Community/en-US/user/Profile.aspx?UserID=19122"><span style="font-size: small;">Igor Levicki</span></a><span style="font-size: small; color: #000080;"> </span></span><span style="font-size: small;"><span style="color: #000080;"><span style="font-family: 宋体;">和</span><span style="font-family: Arial;"> </span></span><span style="font-family: Arial;"><a href="http://softwarecommunity.intel.com/isn/Community/en-US/user/Profile.aspx?UserID=15934">Jim Dempsey </a></span><span style="color: #000080;"><span style="font-family: 宋体;">两位有幸率先获得“英特尔</span><sup><span style="font-family: Arial;">®</span></sup><span style="font-family: Arial;"> </span><span style="font-family: 宋体;">黑带软件开发人员”荣誉称号:</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"> </p>
<ul>
<li>
<div class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"><span style="font-size: small;"><span style="color: #000080;"><span style="font-family: 宋体;">来自塞尔维亚贝尔格莱德的</span><span style="font-family: Arial;">Igor</span><span style="font-family: 宋体;">是一名软件工程师，最擅长代码优化、图片、视频和音频处理以及线程和</span><span style="font-family: Arial;"> GPGPU </span><span style="font-family: 宋体;">编程。相信 </span><span style="font-family: Arial;">Igor </span><span style="font-family: 宋体;">对大家来说一点也不陌生，因为他是论坛上的大忙人。</span><span style="font-family: Arial;"> </span></span></span></div>
</li>
<li>
<div class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"><span style="color: #000080;"><span style="font-size: small;"><span style="font-family: Arial;">Jim </span><span style="font-family: 宋体;">曾在一些知名公司（如</span><span style="font-family: Arial;"> Digital Equipment Corp</span><span style="font-family: 宋体;">和</span><span style="font-family: Arial;"> EDUCOMP</span><span style="font-family: 宋体;">）工作，积累了丰富的经验。他经常在并行编程论坛发帖。最近，</span><span style="font-family: Arial;">Jim </span><span style="font-family: 宋体;">与</span></span></span><span style="font-family: Arial;"><a href="http://softwarecommunity.intel.com/communities/multicore"><span style="font-size: small;"><span style="font-family: 宋体;">英特尔</span><sup>®</sup> <span style="font-family: 宋体;">多核线程化社区</span></span></a></span><span style="color: #000080;"><span style="font-size: small;"><span style="font-family: 宋体;">社区经理</span><span style="font-family: Arial;"> </span></span></span><span style="font-family: Arial;"><a href="http://softwareblogs.intel.com/author/aaron-tersteeg/"><span style="font-size: small;">Aaron Tersteeg</span></a><span style="font-size: small; color: #000080;"> </span></span><span style="font-size: small;"><span style="font-family: 宋体;"><span style="color: #000080;">一道参加了我们的</span></span><span style="font-family: Arial;"><a href="http://softwareblogs.intel.com/2008/06/12/researchintel-day-go/"><span style="font-family: 宋体;">研究</span>@<span style="font-family: 宋体;">英特尔</span></a></span><span style="color: #000080;"><span style="font-family: 宋体;">活动。</span></span></span></div>
</li>
</ul>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"><span style="font-size: small;"><span style="color: #000080;"><span style="font-family: Arial;"> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 24pt; line-height: 150%;"><span style="font-size: small;"><span style="color: #000080;"><span style="font-family: 宋体;">我们还会于今后几个月陆续颁发部分黑带称号，敬请关注。</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 24pt; line-height: 150%;"><span style="font-size: small; color: #000080; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"><span style="font-size: small;"><span style="color: #000080;"><span style="font-family: 宋体;"><span style="mso-spacerun: yes;">    </span><span lang="ZH-CN">一切才刚刚开始 </span></span><span style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman';">……</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"><span style="font-family: 宋体;"><span style="font-size: small;"><span style="color: #000080;"><span style="mso-spacerun: yes;">    </span><span lang="ZH-CN">我们想听听您对这种认可方式、奖品等各方面的评价。您认为我们在哪些地方还有待改善？您作为认可的一分子还想看到什么呢？不妨将您的想法以邮件方式告诉我们。</span></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"> </p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"> </p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"> </p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"> </p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"> </p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"> </p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%;"> </p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs-zho.intel.com/2008/09/11/365/feed/</wfw:commentRss>
		</item>
		<item>
		<title>2008英特尔中国多核技术学术论坛</title>
		<link>http://softwareblogs-zho.intel.com/2008/09/05/341/</link>
		<comments>http://softwareblogs-zho.intel.com/2008/09/05/341/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 13:08:48 +0000</pubDate>
		<dc:creator>王平 (Intel)</dc:creator>
		
		<category><![CDATA[多核技术]]></category>

		<category><![CDATA[软件技术学习及认证]]></category>

		<guid isPermaLink="false">http://softwareblogs-zho.intel.com/2008/09/05/341/</guid>
		<description><![CDATA[日前在美丽的海滨城市厦门,教育部高等教育司与英特尔公司共同举办2008英特尔中国多核技术学术论坛, 会上英特尔软件与解决方案事业部副总裁兼英特尔亚太研发有限公司总经理王文汉博士为作了题为“引领软件创新,扩展应用未来”主题演讲。来自全国102所高校的计算机教研精英聚集一堂， 共同探讨交流多核技术研发、多核课程建设、人才培养方面的最新成果，分享全球最新的多核技术，并就英特尔与高校间的项目合作进行了充分讨论。在ISN的视频网站（TAKE FIVE）上有会议的部分视频回放，欢迎前往观看。
]]></description>
			<content:encoded><![CDATA[<p>日前在美丽的海滨城市厦门,教育部高等教育司与英特尔公司共同举办2008英特尔中国多核技术学术论坛, 会上英特尔软件与解决方案事业部副总裁兼英特尔亚太研发有限公司总经理王文汉博士为作了题为“<a href="http://softwarevideos-zho.intel.com/index.php?category_id=1&#038;vid_id=104&#038;lang=ZH-CN">引领软件创新,扩展应用未来</a>”主题演讲。来自全国102所高校的计算机教研精英聚集一堂， 共同探讨交流多核技术研发、多核课程建设、人才培养方面的最新成果，分享全球最新的多核技术，并就英特尔与高校间的项目合作进行了充分讨论。在ISN的<a href="http://softwarevideos-zho.intel.com/index.php?category_id=1&#038;vid_id=104&#038;lang=ZH-CN">视频网站（TAKE FIVE）</a>上有会议的部分<a href="http://softwarevideos-zho.intel.com/index.php?category_id=1&#038;lang=ZH-CN">视频回放</a>，欢迎前往观看。</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs-zho.intel.com/2008/09/05/341/feed/</wfw:commentRss>
		</item>
		<item>
		<title>how to mount a Guest OS imagefile(Xen)/怎样在不启动虚拟机的情况下修改虚拟机的配置。</title>
		<link>http://softwareblogs-zho.intel.com/2008/09/02/how-to-mount-a-guest-os-imagefilexen/</link>
		<comments>http://softwareblogs-zho.intel.com/2008/09/02/how-to-mount-a-guest-os-imagefilexen/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 09:58:18 +0000</pubDate>
		<dc:creator>魏彬</dc:creator>
		
		<category><![CDATA[可管理性]]></category>

		<category><![CDATA[多核技术]]></category>

		<category><![CDATA[虚拟化技术]]></category>

		<category><![CDATA[virtualization imagefile]]></category>

		<guid isPermaLink="false">http://softwareblogs-zho.intel.com/2008/09/02/how-to-mount-a-guest-os-imagefilexen/</guid>
		<description><![CDATA[如果你想在不启动虚拟机的情况下改变虚拟机的设置，比如在你想克隆一个虚拟机时，你可以在克隆完直接通过mount来修改虚拟机的IP,hostname等等，非常方便。或者是想往虚拟机中拷贝什么文件。可以用lomount的命令将虚拟机的镜像文件挂起。命令如下：
lomount -diskimage /PATH/TO/Image.file -partition n /mnt
在mount前请注意以下事项：
1。 对于RHEL的虚拟机来说，这个命令不可以mount类型是LVM的分区。所以在安装虚拟机操作系统的时候请注意不要使用default分区。最好手动分区。
2。 对于SLES的虚拟机来说，这个命令不可以mount类型是refeies的分区。所以在安装虚拟机操作系统的时候请注意不要使用default分区。最好手动分区。
3。 请记住你要mount的分区号。
4。 修改完之后请记住umount.
]]></description>
			<content:encoded><![CDATA[<p>如果你想在不启动虚拟机的情况下改变虚拟机的设置，比如在你想克隆一个虚拟机时，你可以在克隆完直接通过mount来修改虚拟机的IP,hostname等等，非常方便。或者是想往虚拟机中拷贝什么文件。可以用lomount的命令将虚拟机的镜像文件挂起。命令如下：</p>
<p>lomount -diskimage /PATH/TO/Image.file -partition n /mnt</p>
<p>在mount前请注意以下事项：</p>
<p>1。 对于RHEL的虚拟机来说，这个命令不可以mount类型是LVM的分区。所以在安装虚拟机操作系统的时候请注意不要使用default分区。最好手动分区。</p>
<p>2。 对于SLES的虚拟机来说，这个命令不可以mount类型是refeies的分区。所以在安装虚拟机操作系统的时候请注意不要使用default分区。最好手动分区。</p>
<p>3。 请记住你要mount的分区号。</p>
<p>4。 修改完之后请记住umount.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs-zho.intel.com/2008/09/02/how-to-mount-a-guest-os-imagefilexen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Live Migration (SLES10 SP2 XEN) （3-问题篇）TO BE CONTINUED</title>
		<link>http://softwareblogs-zho.intel.com/2008/08/28/live-migration-sles10-sp2-xen-3-to-be-continued/</link>
		<comments>http://softwareblogs-zho.intel.com/2008/08/28/live-migration-sles10-sp2-xen-3-to-be-continued/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 15:54:33 +0000</pubDate>
		<dc:creator>魏彬</dc:creator>
		
		<category><![CDATA[多核技术]]></category>

		<category><![CDATA[虚拟化技术]]></category>

		<category><![CDATA[sles xen virtualization]]></category>

		<guid isPermaLink="false">http://softwareblogs-zho.intel.com/2008/08/28/live-migration-sles10-sp2-xen-3-to-be-continued/</guid>
		<description><![CDATA[1。 改过虚拟网卡属性后，虚拟机网络不通：
在虚拟机中使用yast. 选择network service-&#62; network device. 将原来的网卡删除掉。然后重新配置。注意必须先删除，不可以直接改，直接改是没有效果的。
2。 无法进行live migration：
需要注意以下几点：
        a&#62; 目前来看，只要在虚拟机中使用了PV Driver我们就无法成功地进行实时迁移。这个是个bug.我们已经通过开发人员向SUSE报了bug.相信会在下一次版本的发布中会解决此问题。
        b&#62; 如果发现虚拟机中安装了PV Driver. 最好用rpm -e的方式将PV Driver卸载掉，这样比较好。之后重新启动虚拟机，再对网卡进行配置，需要配置那个8139的网卡，不应该配置那个XEN virtual network card.
        c&#62; 检查NFS的配置，看是否配置成为RW.(在/etc/exports）。
        d&#62; 检查两个host的网络，看虚拟机的网络是不是对应同一个bridge.
3。 如果想修改host的网络设置，在Domain0中是无法实现的，必须重起host然后进入到native模式（即非XEN虚拟化模式）中将网络设置好之后再重起进入domain0.
4。 TO BE CONTINUED........
]]></description>
			<content:encoded><![CDATA[<p>1。 改过虚拟网卡属性后，虚拟机网络不通：</p>
<p>在虚拟机中使用yast. 选择network service-&gt; network device. 将原来的网卡删除掉。然后重新配置。注意必须先删除，不可以直接改，直接改是没有效果的。</p>
<p>2。 无法进行live migration：</p>
<p>需要注意以下几点：</p>
<p>        a&gt; 目前来看，只要在虚拟机中使用了PV Driver我们就无法成功地进行实时迁移。这个是个bug.我们已经通过开发人员向SUSE报了bug.相信会在下一次版本的发布中会解决此问题。</p>
<p>        b&gt; 如果发现虚拟机中安装了PV Driver. 最好用rpm -e的方式将PV Driver卸载掉，这样比较好。之后重新启动虚拟机，再对网卡进行配置，需要配置那个8139的网卡，不应该配置那个XEN virtual network card.</p>
<p>        c&gt; 检查NFS的配置，看是否配置成为RW.(在/etc/exports）。</p>
<p>        d&gt; 检查两个host的网络，看虚拟机的网络是不是对应同一个bridge.</p>
<p>3。 如果想修改host的网络设置，在Domain0中是无法实现的，必须重起host然后进入到native模式（即非XEN虚拟化模式）中将网络设置好之后再重起进入domain0.</p>
<p>4。 TO BE CONTINUED........</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs-zho.intel.com/2008/08/28/live-migration-sles10-sp2-xen-3-to-be-continued/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SAR --- 性能工具说明（部分）</title>
		<link>http://softwareblogs-zho.intel.com/2008/08/25/sar/</link>
		<comments>http://softwareblogs-zho.intel.com/2008/08/25/sar/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 13:39:10 +0000</pubDate>
		<dc:creator>魏彬</dc:creator>
		
		<category><![CDATA[其他]]></category>

		<category><![CDATA[多核技术]]></category>

		<category><![CDATA[开放源代码]]></category>

		<category><![CDATA[虚拟化技术]]></category>

		<category><![CDATA[sar performance]]></category>

		<guid isPermaLink="false">http://softwareblogs-zho.intel.com/2008/08/25/sar/</guid>
		<description><![CDATA[sar -P ALL cpu使用情况文件访问情况
dirblk/s 定位文件时被目录访问守护进程读取的快（512b）的个数
iget/s i节点查找系统进程被调用次数
lookuppn/s 目录查找进程找到v节点，并获取路径名的次数的活动情况，包括传输、访问、和命中率
bread/s、bwrit/s 块IO操作的数量
lread/s、lwrit/s 逻辑 IO请求的个数
pread/s、pwrit/s 裸设备IO操作数量
%rcache、%rwrit cache命中率，计算共式为：((lreads-breads)/lreads)*100系统调用情况
exec/s、fork/s 调用和执行系统调用总数
sread/s、swrit/s read/writ 系统调用次数
rchar/s、wchar/s 被read/writ系统调用的字符数量
scall/s 系统调用总数内核进程活动情况
kexit/s 中断的内核进程数
kproc-ov/s 由于进程数的限制无法创建内核进程的次数
ksched/s 被作业分派的内核进程数消息队列和信号灯活动情况
msg/s IPC消息队列活动情况
sema/s 信号灯活动情况磁盘读写情况队列统计信息
run-sz 内核线程处于运行队列的平均数
%runocc 最近时间段运行队列占用百分比
swpq-sz 内核线程等待 页面调度的平均数
%swpocc 交换队列最近活动情况页面调度信息
cycle/s 每秒中页面置换次数
fault/s 每秒中page fault次数
slots 在页空间中空闲页数量
odio/s 每秒中不使用页面空间的磁盘io数进程、内核线程、i节点、和文件表 的状态上下文切换次数设备活动情况
canch/s tty输入队列中规范的字符数
mdmin/s tty modem 中断
outch/s 输出队列字符数
rawch/s 输入队列字符数
revin/s tty接收中断
xmtin/s tty传输中断
sar -a
sar -b buffer
sar -c
sar -k
sar -m
sar -d
sar -q
sar -r
sar -v
sar-w
sar -y tty
]]></description>
			<content:encoded><![CDATA[<p><span style="AR-SA;" lang="EN-US">sar -P ALL cpu</span><span style="'Times New Roman';">使用情况</span><span style="'Times New Roman';">文件访问情况</span><span style="AR-SA;" lang="EN-US"><br />
dirblk/s </span><span style="'Times New Roman';">定位文件时被目录访问守护进程读取的快（</span><span style="AR-SA;" lang="EN-US">512b</span><span style="'Times New Roman';">）的个数</span><span style="AR-SA;" lang="EN-US"><br />
iget/s i</span><span style="'Times New Roman';">节点查找系统进程被调用次数</span><span style="AR-SA;" lang="EN-US"><br />
lookuppn/s </span><span style="'Times New Roman';">目录查找进程找到</span><span style="AR-SA;" lang="EN-US">v</span><span style="'Times New Roman';">节点，并获取路径名的次数</span><span style="'Times New Roman';">的活动情况，包括传输、访问、和命中率</span><span style="AR-SA;" lang="EN-US"><br />
bread/s</span><span style="'Times New Roman';">、</span><span style="AR-SA;" lang="EN-US">bwrit/s </span><span style="'Times New Roman';">块</span><span style="AR-SA;" lang="EN-US">IO</span><span style="'Times New Roman';">操作的数量</span><span style="AR-SA;" lang="EN-US"><br />
lread/s</span><span style="'Times New Roman';">、</span><span style="AR-SA;" lang="EN-US">lwrit/s </span><span style="'Times New Roman';">逻辑</span><span style="AR-SA;" lang="EN-US"> IO</span><span style="'Times New Roman';">请求的个数</span><span style="AR-SA;" lang="EN-US"><br />
pread/s</span><span style="'Times New Roman';">、</span><span style="AR-SA;" lang="EN-US">pwrit/s </span><span style="'Times New Roman';">裸设备</span><span style="AR-SA;" lang="EN-US">IO</span><span style="'Times New Roman';">操作数量</span><span style="AR-SA;" lang="EN-US"><br />
%rcache</span><span style="'Times New Roman';">、</span><span style="AR-SA;" lang="EN-US">%rwrit cache</span><span style="'Times New Roman';">命中率，计算共式为：</span><span style="AR-SA;" lang="EN-US">((lreads-breads)/lreads)*100</span><span style="'Times New Roman';">系统调用情况</span><span style="AR-SA;" lang="EN-US"><br />
exec/s</span><span style="'Times New Roman';">、</span><span style="AR-SA;" lang="EN-US">fork/s </span><span style="'Times New Roman';">调用和执行系统调用总数</span><span style="AR-SA;" lang="EN-US"><br />
sread/s</span><span style="'Times New Roman';">、</span><span style="AR-SA;" lang="EN-US">swrit/s read/writ </span><span style="'Times New Roman';">系统调用次数</span><span style="AR-SA;" lang="EN-US"><br />
rchar/s</span><span style="'Times New Roman';">、</span><span style="AR-SA;" lang="EN-US">wchar/s </span><span style="'Times New Roman';">被</span><span style="AR-SA;" lang="EN-US">read/writ</span><span style="'Times New Roman';">系统调用的字符数量</span><span style="AR-SA;" lang="EN-US"><br />
scall/s </span><span style="'Times New Roman';">系统调用总数</span><span style="'Times New Roman';">内核进程活动情况</span><span style="AR-SA;" lang="EN-US"><br />
kexit/s </span><span style="'Times New Roman';">中断的内核进程数</span><span style="AR-SA;" lang="EN-US"><br />
kproc-ov/s </span><span style="'Times New Roman';">由于进程数的限制无法创建内核进程的次数</span><span style="AR-SA;" lang="EN-US"><br />
ksched/s </span><span style="'Times New Roman';">被作业分派的内核进程数</span><span style="'Times New Roman';">消息队列和信号灯活动情况</span><span style="AR-SA;" lang="EN-US"><br />
msg/s IPC</span><span style="'Times New Roman';">消息队列活动情况</span><span style="AR-SA;" lang="EN-US"><br />
sema/s </span><span style="'Times New Roman';">信号灯活动情况</span><span style="'Times New Roman';">磁盘读写情况</span><span style="'Times New Roman';">队列统计信息</span><span style="AR-SA;" lang="EN-US"><br />
run-sz </span><span style="'Times New Roman';">内核线程处于运行队列的平均数</span><span style="AR-SA;" lang="EN-US"><br />
%runocc </span><span style="'Times New Roman';">最近时间段运行队列占用百分比</span><span style="AR-SA;" lang="EN-US"><br />
swpq-sz </span><span style="'Times New Roman';">内核线程等待</span><span style="AR-SA;"> </span><span style="'Times New Roman';">页面调度的平均数</span><span style="AR-SA;" lang="EN-US"><br />
%swpocc </span><span style="'Times New Roman';">交换队列最近活动情况</span><span style="'Times New Roman';">页面调度信息</span><span style="AR-SA;" lang="EN-US"><br />
cycle/s </span><span style="'Times New Roman';">每秒中页面置换次数</span><span style="AR-SA;" lang="EN-US"><br />
fault/s </span><span style="'Times New Roman';">每秒中</span><span style="AR-SA;" lang="EN-US">page fault</span><span style="'Times New Roman';">次数</span><span style="AR-SA;" lang="EN-US"><br />
slots </span><span style="'Times New Roman';">在页空间中空闲页数量</span><span style="AR-SA;" lang="EN-US"><br />
odio/s </span><span style="'Times New Roman';">每秒中不使用页面空间的磁盘</span><span style="AR-SA;" lang="EN-US">io</span><span style="'Times New Roman';">数</span><span style="'Times New Roman';">进程、内核线程、</span><span style="AR-SA;" lang="EN-US">i</span><span style="'Times New Roman';">节点、和文件表</span><span style="AR-SA;"> </span><span style="'Times New Roman';">的状态</span><span style="'Times New Roman';">上下文切换次数</span><span style="'Times New Roman';">设备活动情况</span><span style="AR-SA;" lang="EN-US"><br />
canch/s tty</span><span style="'Times New Roman';">输入队列中规范的字符数</span><span style="AR-SA;" lang="EN-US"><br />
mdmin/s tty modem </span><span style="'Times New Roman';">中断</span><span style="AR-SA;" lang="EN-US"><br />
outch/s </span><span style="'Times New Roman';">输出队列字符数</span><span style="AR-SA;" lang="EN-US"><br />
rawch/s </span><span style="'Times New Roman';">输入队列字符数</span><span style="AR-SA;" lang="EN-US"><br />
revin/s tty</span><span style="'Times New Roman';">接收中断</span><span style="AR-SA;" lang="EN-US"><br />
xmtin/s tty</span><span style="'Times New Roman';">传输中断</span></p>
<p>sar -a</p>
<p>sar -b buffer</p>
<p>sar -c</p>
<p>sar -k</p>
<p>sar -m</p>
<p>sar -d</p>
<p>sar -q</p>
<p>sar -r</p>
<p>sar -v</p>
<p>sar-w</p>
<p>sar -y tty</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs-zho.intel.com/2008/08/25/sar/feed/</wfw:commentRss>
		</item>
		<item>
		<title>基于COM组件实现的应用的多线程化方案</title>
		<link>http://softwareblogs-zho.intel.com/2008/08/21/com/</link>
		<comments>http://softwareblogs-zho.intel.com/2008/08/21/com/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 03:29:22 +0000</pubDate>
		<dc:creator>雒宏哲</dc:creator>
		
		<category><![CDATA[多核技术]]></category>

		<category><![CDATA[软件技术学习及认证]]></category>

		<guid isPermaLink="false">http://softwareblogs-zho.intel.com/2008/08/21/com/</guid>
		<description><![CDATA[有关于多线程化的相关理论，早就在多任务操作系统的时候建立起来了。而成为所有应用程序设计和实现的时候需要考虑的因素，应该是随着英特尔IA多核平台的发展和普及。
非常推荐英特尔软件学院的多线程化配套课程，里面有有关多线程化分析设计的基本思路和方法，多线程化实现的多种方法，以及多线程化方案的性能优化方法。
这里我再补充一点是有关基于COM组件实现的应用系统进行多线程化时候的实现方式。当前COM已经没有继续技术上的发展了，但是遗留下来的相关系统可能采用了基于COM的实现方案。那么这一情况就是我们在实现多线程优化的时候需要考虑的实现环境，因为它有别于基本的Windows Thread API，或是Linux PThread API。COM的多线程支持采用了微软自定义的套间（Apartment）的多线程模型，对多线程之间私有数据隔离采用了单套间的实现方式，对于多线程之间的数据共享采用了多套间的实现方式。采用套间方式实现COM组件多线程调用之间的交互，避免使用更高级别的进程之间的数据共享，会给基于COM组件的应用带来多线程优化方面的性能提升。
当然，毫无疑问COM技术已经不是主流。我上面的补充建议旨在考虑基于COM组件的遗留系统进行优化时的多线程可选方案，如果是非COM组件的运行环境，就可以轻松采用Intel软件学院的多线程编程课程中的相关多线程化实现技术了。例如基于编译器的OpenMP，Windows Thread API等等。
最后，还有一个好消息，大家可以看看英特尔在多核多线程软件战略中的新发展——Intel Parallel Studio (http://www3.intel.com/cd/software/products/asmo-na/eng/399359.htm)。
]]></description>
			<content:encoded><![CDATA[<p>有关于多线程化的相关理论，早就在多任务操作系统的时候建立起来了。而成为所有应用程序设计和实现的时候需要考虑的因素，应该是随着英特尔IA多核平台的发展和普及。</p>
<p>非常推荐英特尔软件学院的多线程化配套课程，里面有有关多线程化分析设计的基本思路和方法，多线程化实现的多种方法，以及多线程化方案的性能优化方法。</p>
<p>这里我再补充一点是有关基于COM组件实现的应用系统进行多线程化时候的实现方式。当前COM已经没有继续技术上的发展了，但是遗留下来的相关系统可能采用了基于COM的实现方案。那么这一情况就是我们在实现多线程优化的时候需要考虑的实现环境，因为它有别于基本的Windows Thread API，或是Linux PThread API。COM的多线程支持采用了微软自定义的套间（Apartment）的多线程模型，对多线程之间私有数据隔离采用了单套间的实现方式，对于多线程之间的数据共享采用了多套间的实现方式。采用套间方式实现COM组件多线程调用之间的交互，避免使用更高级别的进程之间的数据共享，会给基于COM组件的应用带来多线程优化方面的性能提升。</p>
<p>当然，毫无疑问COM技术已经不是主流。我上面的补充建议旨在考虑基于COM组件的遗留系统进行优化时的多线程可选方案，如果是非COM组件的运行环境，就可以轻松采用Intel软件学院的多线程编程课程中的相关多线程化实现技术了。例如基于编译器的OpenMP，Windows Thread API等等。</p>
<p>最后，还有一个好消息，大家可以看看英特尔在多核多线程软件战略中的新发展——Intel Parallel Studio (http://www3.intel.com/cd/software/products/asmo-na/eng/399359.htm)。</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs-zho.intel.com/2008/08/21/com/feed/</wfw:commentRss>
		</item>
		<item>
		<title>使用JRockit Mission Control进行性能分析和调优</title>
		<link>http://softwareblogs-zho.intel.com/2008/08/21/jrockit-mission-control/</link>
		<comments>http://softwareblogs-zho.intel.com/2008/08/21/jrockit-mission-control/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 02:57:45 +0000</pubDate>
		<dc:creator>钟涛 (Intel)</dc:creator>
		
		<category><![CDATA[多核技术]]></category>

		<guid isPermaLink="false">http://softwareblogs-zho.intel.com/2008/08/21/jrockit-mission-control/</guid>
		<description><![CDATA[Mission Control是BEA JRockit JVM自带的一组以极低的开销来监控、管理和分析生产环境中的应用程序的工具。它包括三个独立的应用程序：内存泄漏监测器（Memory Leak Detector）、JVM运行时分析器（Runtime Analyzer）和管理控制台（Management Console）。BEA从JRockit R26版本就开始捆绑这个工具套件，目前最新的版本是3.0。最近我们使用其中的Runtime Analyzer对国内某著名行业解决方案进行性分析和调优。
 
JRockit Runtime Analyzer（JRA）是一个JVM分析器，是一个随需应变的“动态记录器”。它记录了Java应用程序和JVM在一段预定的时间内的详细记录。然后通过JRA应用程序对记录下来的文件进行离线分析。所记录的数据包括对方法的调用跟踪、错误的同步、锁定的分析，还有垃圾收集统计信息，优化决策以及对象统计信息和其他重要的应用程序/JVM行为。它的目的是让JRockit开发人员能够找到良好的方法来基于现实应用程序优化JVM，对于帮助客户在生产和开发环境中解决问题十分有用。
 
2.性能数据分析和调优
 
在本次项目中，操作&#124;A和操作B的百人并发脚本执行完成的时间接近两分钟，因此我们使用JRA进行了2分钟(120秒)的记录。在GC常规信息中，我们发现在短短两分钟时间内，垃圾收集的总数高达365次，而由此造成的暂停时间有42.5秒之多。也就是说35%的执行时间是在做垃圾收集。
 
因为最大堆尺寸已经设置成1024M，对于32位操作系统上的Java应用已经是足够大了（在IA32构架下，由于操作系统给每个进程的最大内存寻址空间为1.8G，因此最大堆尺寸不能超过1.8G），因此堆的大小并不是造成频繁垃圾收集的原因。那么在高并发度的场景下，可能的影响因素很可能是Nursery大小。
 
Nursery 也称为新代，是指运行分代式垃圾收集器时，在堆中分配 新对象 的可用块区域。当 Nursery 变满时，会在新垃圾收集中单独对其进行垃圾收集。Nursery 大小决定了新收集的频率和持续时间。较大 Nursery 会降低收集的频率，但是会稍微增加每个新收集的持续时间。 Nursery 之所以具有价值，是因为 Java 应用程序中的大多数对象都是在新代中夭亡的。与收集整个堆相比，应首选从新空间中收集垃圾，因为该收集过程的开销更低，而且在触发收集时，新空间中的大多数对象均已死亡。在新收集过程中，JVM 首先确定 Nursery 中的哪些对象是活动的，此后将它们提升到旧空间，并释放 Nursery，供分配新的小对象使用。
 
Nursery的默认缺省值是10M/CPU，对于我们Clovertown服务器来说，只有20M。由于出现频繁收集的情况，那么我们推断是由于Nursery的默认值太低的原因。一方面在高并发用户的场景下，肯定是有大量的新对象产生，那么Nursery的空闲空间很容易就被耗尽。因此Nursery发生垃圾收集频率就会比较高。另一方面更短的垃圾收集间隔会使得新对象在Nursery的存活率提高因为很多新对象可能还没来得及使用完毕就已经发生垃圾收集。这样更多的对象会被提升到旧代，使得旧代的对象也会急剧增加，从而使得旧代发生垃圾收集的频率也增加。
 
因为JRockit JVM可以使用-Xns:&#60;size&#62;来设置Nursery的尺寸，我们要在保证垃圾回收停顿时间（garbage collection-pause）尽可能短的同时，尽量加大Nursery的尺寸，这在创建了大量的临时对象时尤其重要。推荐值是最大堆尺寸的10%，因此我们在JRockit的运行时参数上添加了 –Xns100m。再次运行脚本后，JRA收集的信息显示GC暂停时间骤降到15.3s，次数也有所减少，降到296：
 




Nursery大小


20M(默认值)


100M




GC暂停时间


42.5s


15.3s




垃圾收集的总数


365


296




平均暂停时间


116ms


52ms




 
此外，我们从方法信息中可以看到调用次数最多耗时间最长的两个方法分别是jrockit.vm.Locks.monitorEnterSecondStage和com.ABC.StateManager.makeState两个方法。展开前置任务后发现调用这两个方法最多的方法是com.ABC.SqlQueryAction.query。而jrockit.vm.Locks.monitorEnterSecondStage显然是JRockit实现锁机制的特定的API。因此我们怀疑是对数据库的操作时有资源互斥的现象发现。
 
考虑到高并发用户的场景下，对数据库操作的并发度也很高，因此对数据库连接的争用比较激烈。我们察看了一下当时WebLogic JDBC的配置，发现connection pool的大小只是缺省值20，相对来说偏小了，对性能会有一定的影响。因此我们增大connection pool的大小到100。重新运行测试脚本后发现性能有较大提升。
 
 




 


JDBC connection size 20  w/ default nursery 


JDBC connection size 100 w/ 100M nursery


Increase %
 




操作A


22.125


12.079


83%




操作B


35.195


21.773


62%




 
 
在性能调优完成后，我们又进行了功能测试（回归测试），以验证上述改动没有影响系统的功能性正确。
四、小结
其实利用Mission Control对Java应用进行调优并不难，对吧？希望本次性能分析调优的过程可以给大家一些启发，今后可以应用到日常工作中。
]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="18pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Mission Control</span></span><span style="'Times New Roman';">是</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">BEA JRockit JVM</span></span><span style="'Times New Roman';">自带的一组以极低的开销来监控、管理和分析生产环境中的应用程序的工具。它包括三个独立的应用程序：内存泄漏监测器（</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Memory Leak Detector</span></span><span style="'Times New Roman';">）、</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">JVM</span></span><span style="'Times New Roman';">运行时分析器（</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Runtime Analyzer</span></span><span style="'Times New Roman';">）和管理控制台（</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Management Console</span></span><span style="'Times New Roman';">）。</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">BEA</span></span><span style="'Times New Roman';">从</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">JRockit R26</span></span><span style="'Times New Roman';">版本就开始捆绑这个工具套件，目前最新的版本是</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">3.0</span></span><span style="'Times New Roman';">。最近我们使用其中的</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Runtime Analyzer</span></span><span style="'Times New Roman';">对国内某著名行业解决方案进行性分析和调优。</span><span style="12pt;" lang="EN-US"></span></p>
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="18pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;">JRockit Runtime Analyzer</span></span><span style="'Times New Roman';">（</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">JRA</span></span><span style="'Times New Roman';">）是一个</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">JVM</span></span><span style="'Times New Roman';">分析器，是一个随需应变的“动态记录器”。它记录了</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Java</span></span><span style="'Times New Roman';">应用程序和</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">JVM</span></span><span style="'Times New Roman';">在一段预定的时间内的详细记录。然后通过</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">JRA</span></span><span style="'Times New Roman';">应用程序对记录下来的文件进行离线分析。所记录的数据包括对方法的调用跟踪、错误的同步、锁定的分析，还有垃圾收集统计信息，优化决策以及对象统计信息和其他重要的应用程序</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">/JVM</span></span><span style="'Times New Roman';">行为。它的目的是让</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">JRockit</span></span><span style="'Times New Roman';">开发人员能够找到良好的方法来基于现实应用程序优化</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">JVM</span></span><span style="'Times New Roman';">，对于帮助客户在生产和开发环境中解决问题十分有用。</span><span style="12pt;" lang="EN-US"></span></p>
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="0cm 0cm 0pt;"><strong><span style="12pt;" lang="EN-US"><span style="Times New Roman;">2.</span></span></strong><strong><span style="'Times New Roman';">性能数据分析和调优</span></strong><strong><span style="12pt;" lang="EN-US"></span></strong></p>
<p class="MsoNormal" style="21pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="21pt;"><span style="'Times New Roman';">在本次项目中，操作</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">|A</span></span><span style="'Times New Roman';">和操作</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">B</span></span><span style="'Times New Roman';">的百人并发脚本执行完成的时间接近两分钟，因此我们使用</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">JRA</span></span><span style="'Times New Roman';">进行了</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">2</span></span><span style="'Times New Roman';">分钟</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">(120</span></span><span style="'Times New Roman';">秒</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">)</span></span><span style="'Times New Roman';">的记录。在</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">GC</span></span><span style="'Times New Roman';">常规信息中，我们发现在短短两分钟时间内，垃圾收集的总数高达</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">365</span></span><span style="'Times New Roman';">次，而由此造成的暂停时间有</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">42.5</span></span><span style="'Times New Roman';">秒之多。也就是说</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">35%</span></span><span style="'Times New Roman';">的执行时间是在做垃圾收集。</span><span style="12pt;" lang="EN-US"></span></p>
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="21pt;"><span style="'Times New Roman';">因为最大堆尺寸已经设置成</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">1024M</span></span><span style="'Times New Roman';">，对于</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">32</span></span><span style="'Times New Roman';">位操作系统上的</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Java</span></span><span style="'Times New Roman';">应用已经是足够大了（在</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">IA32</span></span><span style="'Times New Roman';">构架下，由于操作系统给每个进程的最大内存寻址空间为</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">1.8G</span></span><span style="'Times New Roman';">，因此最大堆尺寸不能超过</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">1.8G</span></span><span style="'Times New Roman';">），因此堆的大小并不是造成频繁垃圾收集的原因。那么在高并发度的场景下，可能的影响因素很可能是</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Nursery</span></span><span style="'Times New Roman';">大小。</span><span style="12pt;" lang="EN-US"></span></p>
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="21pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Nursery </span></span><span style="'Times New Roman';">也称为新代，是指运行分代式垃圾收集器时，在堆中分配</span><span style="12pt;"><span style="Times New Roman;"> </span></span><span style="'Times New Roman';">新对象</span><span style="12pt;"><span style="Times New Roman;"> </span></span><span style="'Times New Roman';">的可用块区域。</span><span style="EN;">当</span><span style="EN;" lang="EN"><span style="Times New Roman;"> Nursery </span></span><span style="EN;">变满时，会在新垃圾收集中单独对其进行垃圾收集。</span><span style="EN;" lang="EN"><span style="Times New Roman;">Nursery </span></span><span style="EN;">大小决定了新收集的频率和持续时间。较大</span><span style="EN;" lang="EN"><span style="Times New Roman;"> Nursery </span></span><span style="EN;">会降低收集的频率，但是会稍微增加每个新收集的持续时间。</span><span style="Times New Roman;"><span style="EN;"> </span><span style="12pt;" lang="EN-US">Nursery </span></span><span style="'Times New Roman';">之所以具有价值，是因为</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;"> Java </span></span><span style="'Times New Roman';">应用程序中的大多数对象都是在新代中夭亡的。与收集整个堆相比，应首选从新空间中收集垃圾，因为该收集过程的开销更低，而且在触发收集时，新空间中的大多数对象均已死亡。</span><span style="EN;">在新收集过程中，</span><span style="EN;" lang="EN"><span style="Times New Roman;">JVM </span></span><span style="EN;">首先确定</span><span style="EN;" lang="EN"><span style="Times New Roman;"> Nursery </span></span><span style="EN;">中的哪些对象是活动的，此后将它们提升到旧空间，并释放</span><span style="EN;" lang="EN"><span style="Times New Roman;"> Nursery</span></span><span style="EN;">，供分配新的小对象使用</span><span style="'Times New Roman';">。</span><span style="12pt;" lang="EN-US"></span></p>
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="21pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Nursery</span></span><span style="'Times New Roman';">的默认缺省值是</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">10M/CPU</span></span><span style="'Times New Roman';">，对于我们</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Clovertown</span></span><span style="'Times New Roman';">服务器来说，只有</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">20M</span></span><span style="'Times New Roman';">。由于出现频繁收集的情况，那么我们推断是由于</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Nursery</span></span><span style="'Times New Roman';">的默认值太低的原因。一方面在高并发用户的场景下，肯定是有大量的新对象产生，那么</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Nursery</span></span><span style="'Times New Roman';">的空闲空间很容易就被耗尽。因此</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Nursery</span></span><span style="'Times New Roman';">发生垃圾收集频率就会比较高。另一方面更短的垃圾收集间隔会使得新对象在</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Nursery</span></span><span style="'Times New Roman';">的存活率提高因为很多新对象可能还没来得及使用完毕就已经发生垃圾收集。这样更多的对象会被提升到旧代，使得旧代的对象也会急剧增加，从而使得旧代发生垃圾收集的频率也增加。</span><span style="12pt;" lang="EN-US"></span></p>
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="21pt;"><span style="'Times New Roman';">因为</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">JRockit JVM</span></span><span style="'Times New Roman';">可以使用</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">-Xns:&lt;size&gt;</span></span><span style="'Times New Roman';">来设置</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Nursery</span></span><span style="'Times New Roman';">的尺寸，我们要在保证垃圾回收停顿时间（</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">garbage collection-pause</span></span><span style="'Times New Roman';">）尽可能短的同时，尽量加大</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">Nursery</span></span><span style="'Times New Roman';">的尺寸，这在创建了大量的临时对象时尤其重要。推荐值是最大堆尺寸的</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">10%</span></span><span style="'Times New Roman';">，因此我们在</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">JRockit</span></span><span style="'Times New Roman';">的运行时参数上添加了</span><span style="12pt;"><span style="Times New Roman;"> <span lang="EN-US">–Xns100m</span></span></span><span style="'Times New Roman';">。再次运行脚本后，</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">JRA</span></span><span style="'Times New Roman';">收集的信息显示</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">GC</span></span><span style="'Times New Roman';">暂停时间骤降到</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">15.3s</span></span><span style="'Times New Roman';">，次数也有所减少，降到</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">296</span></span><span style="'Times New Roman';">：</span><span style="12pt;" lang="EN-US"></span></p>
<p class="MsoNormal" style="21pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;"> </span></span></p>
<table class="MsoTableGrid" style="0cm 5.4pt 0cm 5.4pt;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr style="yes;">
<td style="windowtext 1pt solid;" width="190" valign="top">
<p class="MsoNormal" style="widow-orphan;" align="left"><strong><span style="'Times New Roman';" lang="EN-US">Nursery</span></strong><strong><span style="0pt;">大小</span></strong><strong><span style="'Times New Roman';" lang="EN-US"></span></strong></p>
</td>
<td style="solid windowtext .5pt;" width="189" valign="top">
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="0pt;" lang="EN-US"><span style="Times New Roman;">20M(</span></span><span style="0pt;">默认值</span><span style="0pt;" lang="EN-US"><span style="Times New Roman;">)</span></span></p>
</td>
<td style="solid windowtext .5pt;" width="189" valign="top">
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="0pt;" lang="EN-US"><span style="Times New Roman;">100M</span></span></p>
</td>
</tr>
<tr style="1;">
<td style="solid windowtext .5pt;" width="190" valign="top">
<p class="MsoNormal" style="widow-orphan;" align="left"><strong><span style="'Times New Roman';" lang="EN-US">GC</span></strong><strong><span style="0pt;">暂停时间</span></strong><strong><span style="'Times New Roman';" lang="EN-US"></span></strong></p>
</td>
<td style="solid windowtext .5pt;" width="189" valign="top">
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="0pt;" lang="EN-US"><span style="Times New Roman;">42.5s</span></span></p>
</td>
<td style="solid windowtext .5pt;" width="189" valign="top">
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="0pt;" lang="EN-US"><span style="Times New Roman;">15.3s</span></span></p>
</td>
</tr>
<tr style="2;">
<td style="solid windowtext .5pt;" width="190" valign="top">
<p class="MsoNormal" style="widow-orphan;" align="left"><strong><span style="0pt;">垃圾收集的总数</span></strong><strong><span style="'Times New Roman';" lang="EN-US"></span></strong></p>
</td>
<td style="solid windowtext .5pt;" width="189" valign="top">
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="0pt;" lang="EN-US"><span style="Times New Roman;">365</span></span></p>
</td>
<td style="solid windowtext .5pt;" width="189" valign="top">
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="0pt;" lang="EN-US"><span style="Times New Roman;">296</span></span></p>
</td>
</tr>
<tr style="yes;">
<td style="solid windowtext .5pt;" width="190" valign="top">
<p class="MsoNormal" style="widow-orphan;" align="left"><strong><span style="0pt;">平均暂停时间</span></strong><strong><span style="'Times New Roman';" lang="EN-US"></span></strong></p>
</td>
<td style="solid windowtext .5pt;" width="189" valign="top">
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="0pt;" lang="EN-US"><span style="Times New Roman;">116ms</span></span></p>
</td>
<td style="solid windowtext .5pt;" width="189" valign="top">
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="0pt;" lang="EN-US"><span style="Times New Roman;">52ms</span></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="21pt;"><span style="'Times New Roman';">此外，我们从方法信息中可以看到调用次数最多耗时间最长的两个方法分别是</span><strong><span style="12pt;" lang="EN-US"><span style="Times New Roman;">jrockit.vm.Locks.monitorEnterSecondStage</span></span></strong><span style="'Times New Roman';">和</span><strong><span style="12pt;" lang="EN-US"><span style="Times New Roman;">com.ABC.StateManager.makeState</span></span></strong><span style="'Times New Roman';">两个方法。展开前置任务后发现调用这两个方法最多的方法是</span><strong><span style="12pt;" lang="EN-US"><span style="Times New Roman;">com.ABC.SqlQueryAction.query</span></span></strong><span style="'Times New Roman';">。而</span><strong><span style="12pt;" lang="EN-US"><span style="Times New Roman;">jrockit.vm.Locks.monitorEnterSecondStage</span></span></strong><span style="'Times New Roman';">显然是</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">JRockit</span></span><span style="'Times New Roman';">实现锁机制的特定的</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">API</span></span><span style="'Times New Roman';">。因此我们怀疑是对数据库的操作时有资源互斥的现象发现。</span><span style="12pt;" lang="EN-US"></span></p>
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="21pt;"><span style="'Times New Roman';">考虑到高并发用户的场景下，对数据库操作的并发度也很高，因此对数据库连接的争用比较激烈。我们察看了一下当时</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">WebLogic JDBC</span></span><span style="'Times New Roman';">的配置，发现</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">connection pool</span></span><span style="'Times New Roman';">的大小只是缺省值</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">20</span></span><span style="'Times New Roman';">，相对来说偏小了，对性能会有一定的影响。因此我们增大</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">connection pool</span></span><span style="'Times New Roman';">的大小到</span><span style="12pt;" lang="EN-US"><span style="Times New Roman;">100</span></span><span style="'Times New Roman';">。重新运行测试脚本后发现性能有较大提升。</span><span style="12pt;" lang="EN-US"></span></p>
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;"> </span></span></p>
<table class="MsoTableGrid" style="0cm 5.4pt 0cm 5.4pt;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr style="yes;">
<td style="windowtext 1pt solid;" width="103" valign="top">
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="0pt;" lang="EN-US"><span style="Times New Roman;"> </span></span></p>
</td>
<td style="solid windowtext .5pt;" width="179" valign="top">
<p class="MsoNormal" style="widow-orphan;" align="left"><strong><span style="'Times New Roman';" lang="EN-US">JDBC connection size 20<span style="yes;">  </span>w/ default nursery </span></strong></p>
</td>
<td style="solid windowtext .5pt;" width="193" valign="top">
<p class="MsoNormal" style="widow-orphan;" align="left"><strong><span style="'Times New Roman';" lang="EN-US">JDBC connection size 100 w/ 100M nursery</span></strong></p>
</td>
<td style="solid windowtext .5pt;" width="93" valign="top">
<p class="MsoNormal" style="widow-orphan;" align="left"><strong><span style="'Times New Roman';" lang="EN-US">Increase %</span></strong></p>
<p class="MsoNormal" style="widow-orphan;" align="left"><strong><span style="'Times New Roman';" lang="EN-US"> </span></strong></p>
</td>
</tr>
<tr style="1;">
<td style="solid windowtext .5pt;" width="103" valign="top">
<p class="MsoNormal" style="widow-orphan;" align="left"><strong><span style="0pt;">操作</span></strong><strong><span style="'Times New Roman';" lang="EN-US">A</span></strong></p>
</td>
<td style="solid windowtext .5pt;" width="179" valign="top">
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="0pt;" lang="EN-US"><span style="Times New Roman;">22.125</span></span></p>
</td>
<td style="solid windowtext .5pt;" width="193" valign="top">
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="0pt;" lang="EN-US"><span style="Times New Roman;">12.079</span></span></p>
</td>
<td style="solid windowtext .5pt;" width="93" valign="top">
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="0pt;" lang="EN-US"><span style="Times New Roman;">83%</span></span></p>
</td>
</tr>
<tr style="yes;">
<td style="solid windowtext .5pt;" width="103" valign="top">
<p class="MsoNormal" style="widow-orphan;" align="left"><strong><span style="0pt;">操作</span></strong><strong><span style="'Times New Roman';" lang="EN-US">B</span></strong></p>
</td>
<td style="solid windowtext .5pt;" width="179" valign="top">
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="0pt;" lang="EN-US"><span style="Times New Roman;">35.195</span></span></p>
</td>
<td style="solid windowtext .5pt;" width="193" valign="top">
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="0pt;" lang="EN-US"><span style="Times New Roman;">21.773</span></span></p>
</td>
<td style="solid windowtext .5pt;" width="93" valign="top">
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="0pt;" lang="EN-US"><span style="Times New Roman;">62%</span></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="12pt;" lang="EN-US"><span style="Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="21pt;"><span style="'Times New Roman';">在性能调优完成后，我们又进行了功能测试（回归测试），以验证上述改动没有影响系统的功能性正确。</span><span style="12pt;" lang="EN-US"></span></p>
<p><span style="12.0pt;"><strong><span style="'Times New Roman';">四、小结</span></strong><strong><span style="14pt;" lang="EN-US"></span></strong></span></p>
<p class="MsoNormal" style="21pt;"><span style="'Times New Roman';">其实利用</span><span lang="EN-US"><span style="Times New Roman;">Mission Control</span></span><span style="'Times New Roman';">对</span><span lang="EN-US"><span style="Times New Roman;">Java</span></span><span style="'Times New Roman';">应用进行调优并不难，对吧？希望本次性能分析调优的过程可以给大家一些启发，今后可以应用到日常工作中。</span></p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs-zho.intel.com/2008/08/21/jrockit-mission-control/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
