<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Demand Technology FAQ &#187; Windows Performance</title>
	<atom:link href="http://faq.demandtech.com/tag/windows-performance/feed/" rel="self" type="application/rss+xml" />
	<link>http://faq.demandtech.com</link>
	<description>Help and Support for the Performance Sentry Product Line</description>
	<lastBuildDate>Wed, 30 Jun 2010 19:33:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Help! Do you know if there are any interesting Active Directory Objects or Counters?</title>
		<link>http://faq.demandtech.com/2009/11/23/help-do-you-know-if-there-are-any-interesting-active-directory-objects-or-counters/</link>
		<comments>http://faq.demandtech.com/2009/11/23/help-do-you-know-if-there-are-any-interesting-active-directory-objects-or-counters/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 16:39:28 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Performance Metrics]]></category>
		<category><![CDATA[Performance Sentry]]></category>
		<category><![CDATA[Windows Performance]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=163</guid>
		<description><![CDATA[NTDS is the main source of information on Active Directory traffic to and from Domain Controllers. It contains a ton of interesting looking counters.
Unfortunately, there is not much written that documents AD performance issues and how to use these counters. This TechNet overview article is a good place to start. There are two main objects [...]]]></description>
			<content:encoded><![CDATA[<p>NTDS is the main source of information on Active Directory traffic to and from Domain Controllers. It contains a ton of interesting looking counters.</p>
<p>Unfortunately, there is not much written that documents AD performance issues and how to use these counters. This TechNet overview article is a good place to start. There are two main objects to monitor:</p>
<p>1. Information related to the NTDS Object:</p>
<p><a href="http://technet2.microsoft.com/windowsserver/en/library/6a2abace-5fab-49f0-8c6d-5daea891a5f71033.mspx?mfr=true">http://technet2.microsoft.com/windowsserver/en/library/6a2abace-5fab-49f0-8c6d-5daea891a5f71033.mspx?mfr=true</a></p>
<p>2. Information related to the Database Object:</p>
<p><a href="http://technet2.microsoft.com/windowsserver/en/library/26bfde1e-7938-4573-b12f-6e4e9cedf4a51033.mspx?mfr=true">http://technet2.microsoft.com/windowsserver/en/library/26bfde1e-7938-4573-b12f-6e4e9cedf4a51033.mspx?mfr=true</a></p>
<p>The following represents Microsoft&#8217;s recommendations when monitoring Domain Controllers:</p>
<p><a href="http://technet2.microsoft.com/windowsserver/en/library/c5d72b6f-5974-4263-b29f-2eece0ab44371033.mspx?mfr=true">http://technet2.microsoft.com/windowsserver/en/library/c5d72b6f-5974-4263-b29f-2eece0ab44371033.mspx?mfr=true</a></p>
<p>It will at least help you get acquainted with the basic terminology that AD uses.</p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2009/11/23/help-do-you-know-if-there-are-any-interesting-active-directory-objects-or-counters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is the meaning of the message &#8220;Insufficient data in performance name table&#8221; in the NTSMF.LOG File?</title>
		<link>http://faq.demandtech.com/2009/10/22/what-is-the-meaning-of-the-message-insufficient-data-in-performance-name-table-in-the-ntsmf-log-file/</link>
		<comments>http://faq.demandtech.com/2009/10/22/what-is-the-meaning-of-the-message-insufficient-data-in-performance-name-table-in-the-ntsmf-log-file/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 15:29:38 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[NTSMF - Collection Service]]></category>
		<category><![CDATA[Performance Sentry]]></category>
		<category><![CDATA[Windows Performance]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=141</guid>
		<description><![CDATA[Sometimes the following message is displayed in the &#8220;.Log&#8221; file:
04/14/08-13:44:04 &#8211; Event ID: 2900, Category: Perf Text, Severity: Error Insufficient data in performance name table
Concerning the message &#8220;Insufficient data in performance name table&#8221; refers to the file perfc009.dat that resides in the &#60;Windows&#62;\system32 folder. This file contains the names of all installed objects and counters. The name table [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes the following message is displayed in the &#8220;.Log&#8221; file:</p>
<p><strong>04/14/08-13:44:04 &#8211; Event ID: 2900, Category: Perf Text, Severity: Error Insufficient data in performance name table</strong></p>
<p>Concerning the message &#8220;Insufficient data in performance name table&#8221; refers to the file perfc009.dat that resides in the &lt;Windows&gt;\system32 folder. This file contains the names of all installed objects and counters. The name table can become corrupted during installation of new or modified Counter definitions using the lodctr utility.  Even though Microsoft enhanced the procedure to rebuild a  damaged perfc009.dat file in Windows Server 2003 ( <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;300956">KB 300956</a>)  and these problems typically impact all consumers of performance counters, the Performance Sentry Collection Service was modified to recover from severe damage to the perfc009.dat that it finds during Discovery and continue processing.</p>
<p>As an alternative, to the Microsoft KnowledgeBase entry, we sometimes suggest to our customers that they simply copy a Perfc009.dat file from a similarly configured server (after renaming the existing corrupt Perfc009.dat file &#8211; for backup or supporting documentation for the error).You can verify the fix by starting Perfmon (Performance Monitor) and looking at the performance counters.</p>
<p>Then stop and restart the Performance Sentry Collection Service so that service will re-initialize using the new, or repaired, file.</p>
<p>For additional repaired options you can read Microsoft&#8217;s knowledge base article: <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;300956">KB 300956</a></p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2009/10/22/what-is-the-meaning-of-the-message-insufficient-data-in-performance-name-table-in-the-ntsmf-log-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why is Performance Sentry not collecting a specific performance counter (or counters) that I need to look at?</title>
		<link>http://faq.demandtech.com/2009/10/22/why-is-performance-sentry-not-collecting-a-specific-performance-counter-or-counters-that-i-need-to-look-at/</link>
		<comments>http://faq.demandtech.com/2009/10/22/why-is-performance-sentry-not-collecting-a-specific-performance-counter-or-counters-that-i-need-to-look-at/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 15:24:40 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[NTSMF - Collection Service]]></category>
		<category><![CDATA[Performance Sentry]]></category>
		<category><![CDATA[Windows Performance]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=139</guid>
		<description><![CDATA[There are a number of reasons why Performance Sentry may not be collecting some performance Counter or Counters that you need to look at. Sometimes the reason is fairly trivial and easy to rectify. Sometimes the reason is more difficult to determine. Sometimes, it is a problem with the Performance Sentry collection service itself, which we want you [...]]]></description>
			<content:encoded><![CDATA[<p>There are a number of reasons why Performance Sentry may not be collecting some performance Counter or Counters that you need to look at. Sometimes the reason is fairly trivial and easy to rectify. Sometimes the reason is more difficult to determine. Sometimes, it is a problem with the Performance Sentry collection service itself, which we want you to report to us as soon as possible, with all the supporting documentation we will need to resolve it.</p>
<p>Ever notice all those Messages that the Performance Sentry collection service writes to the Application Event log and the <em>&lt;computername&gt;.ntsmf.log </em>file? These messages are designed to help diagnose data collection problems. By reviewing the Perfomrance Sentry Collection service Application Event log Warning messages that document most of the more common data collection anomalies that occur, you can usually identify and resolve a data collection problem quickly. This FAQ tells you how to use these Warning messages to solve data collection problems.</p>
<p>Please follow this simple procedure whenever you have a problem collecting data. First, answer the question below, and proceed to the next page of instructions based on your answer.</p>
<p><strong>Is the Counter you need visible using the Microsoft System Monitor? </strong></p>
<p>Start an interactive System Monitor session and see if the Counter or Counters you need are visible.<br />
If the Counter you need is visible in System Monitor, the Performance Sentry Collection Service should also be able to collect it.</p>
<p>If the Counter value you need is not visible in System Monitor, the Performance Sentry Collection Service probably cannot collect it either. However, it is quite possible that Performance Sentry will generate a diagnostic  error or Warning message that will help you understand why the data you are interested in cannot be collected.</p>
<p>Note that beginning in Performance Sentry version 2.4.5, the Performance Sentry Collection Service does not honor the <em><a href="http://faq.demandtech.com/admin.php?pg=kb.page&amp;page=16">Disable Performance Counters</a></em> Registry flag when it is set. Neither will any action performed by the Performance Sentry Collection Service ever cause the <em><a href="http://faq.demandtech.com/admin.php?pg=kb.page&amp;page=16">Disable Performance Counters</a></em> Registry flag to be set. However, when the <em>Disable Performance Counters</em> Registry flag is set, it may indicate there is an underlying problem with a Performance Library DLL that could effect Performance Sentry&#8217;s ability to gather the associated performance data.</p>
<p>Instead of <a href="http://faq.demandtech.com/admin.php?pg=kb.page&amp;page=16"><em>Disable Performance Counters</em></a>, Performance Sentry version 2.4.6 and higher utilizes a comparable facility that allows you to specifically exclude Performance Library DLLs that are troublesome. Specific Performance Library DLL excludes and includes are noted in a configuration file in the root NTSMFxx folder named <strong>DmPerfss.cfg</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2009/10/22/why-is-performance-sentry-not-collecting-a-specific-performance-counter-or-counters-that-i-need-to-look-at/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is Performance Sentry compatible with the Microsoft Cluster Server?</title>
		<link>http://faq.demandtech.com/2009/10/22/is-performance-sentry-compatible-with-the-microsoft-cluster-server/</link>
		<comments>http://faq.demandtech.com/2009/10/22/is-performance-sentry-compatible-with-the-microsoft-cluster-server/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 15:21:03 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[NTSMF - Collection Service]]></category>
		<category><![CDATA[Performance Sentry]]></category>
		<category><![CDATA[Windows Performance]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=136</guid>
		<description><![CDATA[Yes. Microsoft Corp. defines a server “cluster” as a group of independent servers managed as a single system for higher availability, easier manageability and greater scalability. The minimum requirements for a server cluster, according to Microsoft, are (a) two servers connected by a network, (b) a method for each server to access the other’s disk [...]]]></description>
			<content:encoded><![CDATA[<p>Yes. Microsoft Corp. defines a server “cluster” as a group of independent servers managed as a single system for higher availability, easier manageability and greater scalability. The minimum requirements for a server cluster, according to Microsoft, are (a) two servers connected by a network, (b) a method for each server to access the other’s disk data, and (c) special cluster software.</p>
<p><strong>Running Performance Sentry under MS Cluster Server </strong></p>
<p>To run Performance Sentry under a Windows cluster environment:</p>
<ol>
<li>Install the Performance Sentry Collection service in each member of the cluster. There is no need to define any Cluster Resource as a “Generic Application” or “Generic Service”. Performance Sentry will automatically begin to read all shared disks and resources defined by the owner of the cluster on the next collection interval when a failover occurs. MS Cluster Server is started as a service and it may take longer to start than other services in a cluster.</li>
</ol>
<p>It is recommended that the Performance Sentry service starts after the MS Cluster Server is started so that Performance Sentry can “see” the presence of cluster share drives and logical disk in the respective nodes. This service dependency can be accomplished by adding a “DependOnService” registry value for the particular cluster server software under:<br />
HKLM\System\CurrentControlSet\Services\Dmperfss</p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2009/10/22/is-performance-sentry-compatible-with-the-microsoft-cluster-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What do I need to do to get started with Performance Sentry?</title>
		<link>http://faq.demandtech.com/2009/10/22/what-do-i-need-to-do-to-get-started-with-performance-sentry/</link>
		<comments>http://faq.demandtech.com/2009/10/22/what-do-i-need-to-do-to-get-started-with-performance-sentry/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 15:10:59 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[NTSMF - Collection Service]]></category>
		<category><![CDATA[Performance Sentry]]></category>
		<category><![CDATA[Windows Performance]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=134</guid>
		<description><![CDATA[Installation is a three-step process:
1. Prepare the machine you want to use to administer Performance Sentry.
Run the Setup program contained on the installation disk to install the Sentry Administration program on the Windows workstation or server you intend to use to administer Performance Sentry. Sentry Administration is used to define and activate performance Data Collection [...]]]></description>
			<content:encoded><![CDATA[<p>Installation is a three-step process:</p>
<p><strong>1. Prepare the machine you want to use to administer Performance Sentry.</strong></p>
<p>Run the Setup program contained on the installation disk to install the Sentry Administration program on the Windows workstation or server you intend to use to administer Performance Sentry. Sentry Administration is used to define and activate performance Data Collection Sets (DCSes) on the local machine and any remote computers that you want to monitor.</p>
<p>A <strong>Data Collection Set </strong>defines (1) which of the available Performance Counters you want to collect, (2) the data collection interval and other runtime parameters that control the operation of the collection agent, and (3) the filtering options that ensure that you are collecting the right amount of information. The program ships with standard defaults that are appropriate for most environments. We also provide you with a large number of pre-defined DCSes that are appropriate for different application servers. With Sentry Administration, you can assign any of the DCSes we provided, use the DCS Editor to modify them in a jiffy, or create your own.</p>
<p><strong>2. Prepare the machine you want to monitor.</strong></p>
<p>Install the Performance Sentry Collection engine as a service on any Windows computer that you wish to collect information about and start it. The Performance Sentry Collection Service collects the performance data you specify on the Windows computer on which it is installed. You can install as many copies of the Performance Sentry service as you are licensed to run. By default, <em>DMPerfss.exe</em> writes an NTSMF format data file to a <strong><em>\Data</em></strong> subdirectory of the installation directory on the monitored system&#8217;s local hard drive. You can change the Data directory to point anywhere you want.</p>
<p><strong>3. Automate the process for consolidating Performance Sentry collection files for processing by SAS ITRM, MXG, or other performance reporting packages.</strong></p>
<p>Once installed, the Collection Service runs automatically from the time your Windows machine starts up until it shuts down. At the end of the collection cycle, Performance Sentry closes the current <em>.smf</em> data logging file to free it up for processing. It immediately opens a new collection file so no collection intervals are lost. At this time you can schedule a process to copy the older collection file to a central location for consolidation and processing. This may involve setting up a connection to a remote drive on a machine you designate as a central collection file consolidation point and scheduling a program to move the old collection files to that machine at regularly scheduled times.</p>
<p>If the machine being monitored is behind a firewall, it may be necessary to run a simple ftp script to consolidate the daily data files.</p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2009/10/22/what-do-i-need-to-do-to-get-started-with-performance-sentry/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is Performance Sentry easy to install?</title>
		<link>http://faq.demandtech.com/2009/10/22/is-performance-sentry-easy-to-install/</link>
		<comments>http://faq.demandtech.com/2009/10/22/is-performance-sentry-easy-to-install/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 15:09:09 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[NTSMF - Collection Service]]></category>
		<category><![CDATA[Performance Sentry]]></category>
		<category><![CDATA[Windows Performance]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=132</guid>
		<description><![CDATA[Easy as pie.
The standard installation package that we ship contains three separate Setup routines that can be run separately or together. One setup routine is used to install the Sentry Administration GUI which is used to administer NTSMF data collection. You can install as many copies of the Sentry Administration program as necessary to administer [...]]]></description>
			<content:encoded><![CDATA[<p>Easy as pie.</p>
<p>The standard installation package that we ship contains three separate Setup routines that can be run separately or together. One setup routine is used to install the Sentry Administration GUI which is used to administer NTSMF data <span style="background-color: #ffffff;">collection.</span> You can install as many copies of the Sentry Administration program as necessary to administer NTSMF across your network. (It is often helpful to run separate copies of Sentry Administration in front of and behind your firewall, for example.</p>
<p>The second setup routine is for the Performance Sentry Collection Service. You can run this setup routine right from the distribution or copy it to disk and run it separately. There is even a silent mode setup option so that you can install the collection agent unattended. Finally, the User Manual shows how to create a simple installation script that you can use to roll out NTSMF across your network of Windows machines. A scripted installation of the collection service has the advantage of being able to assign a Data Collection set (DCS) of your own during installation and also allows you to assign a User Account to be impersonated during Cycle End processingThe User Manual also provides a sample script to use to distribute the NTSMF collection agent using SMS.</p>
<p>For those customers who develop their own distribution and installation procedures, the required set of files needed to install the current version of the collection service is documented on page 17 of the User Manual.</p>
<p>Download the full <a href="http://www.demandtech.com/PerformanceSentry31Documentation.pdf">User Manual (pdf)</a></p>
<p><strong>Unable to copy the PSSMsg.dll file during installation. </strong>Running an installation script to upgrade the collection service, you are likely to find that the <strong>PSSMsg.dll</strong> file is in use and cannot be replaced. The <strong>PSSMsg.dll</strong> file is an application Event log message dll that is loaded and used by the Event Log service. Any other utility programs that you run that access the Event log are likely also to have opened the <strong>PSSMsg.dll</strong> file. In order to copy the latest <strong>PSSMsg.dll</strong> file, you may have to shut down the Event Log service and any other service that accesses Event Log message dlls. Make sure you restart these services after you complete the file copy successfully.</p>
<p>Please do not agonize over the fact that your script cannot replace the <strong>PSSMsg.dll</strong> file because it is in use. It is not the end of the world to run the most current collection service with a slightly out-of-date Event Log Message dll.</p>
<p><strong>Optional runtime files. </strong>Diagnostic symbols are no longer included in the program&#8217;s binary executables like DMPerfss.exe and DTSFnd.dll due to Microsoft compiler changes. Diagnostic symbols are now found in filenames ending with a <strong>.pdb</strong> suffix. Installing these debug symbol files is optional, but highly recommended so that we can maintain the high quality of the collection service code.</p>
<p>Installing the enclosed version of <strong>PKZIP25.exe</strong> is also optional.</p>
<p>The runtime files can be found in the <strong>\Program Files\NTSMF31</strong> folder following the installation of the collection service following setup, or in the folder <strong>\Program Files\Performance Sentry\Collection Sevice Files</strong> following the installation of Performance Sentry Administration component.</p>
<p>The third setup routine is for Performance Sentry Portal and Performance Database.   The Performance Database is a Microsoft SQL Server based database and the Performance Sentry Portal is an ASP.NET graphical interface to the database.</p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2009/10/22/is-performance-sentry-easy-to-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is Performance Sentry and how does it relate to NTSMF?</title>
		<link>http://faq.demandtech.com/2009/10/22/what-is-performance-sentry-and-how-does-it-relate-to-ntsmf-2/</link>
		<comments>http://faq.demandtech.com/2009/10/22/what-is-performance-sentry-and-how-does-it-relate-to-ntsmf-2/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 15:03:44 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[NTSMF - Collection Service]]></category>
		<category><![CDATA[Windows Performance]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=130</guid>
		<description><![CDATA[Performance Sentry was originally created as NTSMF. Demand Technology Software was founded in the early days of Windows NT by mainframe performance analysis and capacity planning professionals.  They recognized the need for capturing performance metrics on Windows NT in a fashion similar to the mainframe software called SMF (System Management Facility).  Thus, Windows NT SMF [...]]]></description>
			<content:encoded><![CDATA[<p>Performance Sentry was originally created as NTSMF. Demand Technology Software was founded in the early days of Windows NT by mainframe performance analysis and capacity planning professionals.  They recognized the need for capturing performance metrics on Windows NT in a fashion similar to the mainframe software called SMF (System Management Facility).  Thus, Windows NT SMF (NTSMF) was developed to fill the need of professionals to consistently gather robust Windows performance metrics for performance reporting, analysis, and capacity planning.</p>
<p>As Windows grew and became more robust, so did NTSMF and its capabilities to the point that it was no longer just a performance data collector, but a set of components built around the NTSMF data collection service.  NTSMF was rebranded as Performance SeNTry with the emphasis on ‘NT&#8217;.  With the arrival of Windows 2000 and especially Windows Server 2003, the emphasis on ‘NT&#8217; was dropped and the software is now simply called ‘Performance Sentry&#8217;. </p>
<p>You&#8217;ll still see references to NTSMF in some of our program and folder descriptions in homage to our long history with Windows from its origins as &#8216;NT&#8217; to its present versions of &#8216;Vista&#8217; and &#8216;Server 2008&#8242;.</p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2009/10/22/what-is-performance-sentry-and-how-does-it-relate-to-ntsmf-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is there a table somewhere that will take the information in the CPU Family field in the NTCONFIG record (i.e., X86 FAMILY 15 MODEL 2 STEPPING 7 ) and convert that to a specific processor chip manufacturer name and model?</title>
		<link>http://faq.demandtech.com/2009/10/15/is-there-a-table-somewhere-that-will-take-the-information-in-the-cpu-family-field-in-the-ntconfig-record-i-e-x86-family-15-model-2-stepping-7-and-convert-that-to-a-specific-processor-chip-manufac/</link>
		<comments>http://faq.demandtech.com/2009/10/15/is-there-a-table-somewhere-that-will-take-the-information-in-the-cpu-family-field-in-the-ntconfig-record-i-e-x86-family-15-model-2-stepping-7-and-convert-that-to-a-specific-processor-chip-manufac/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 13:56:53 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[CPU - Processor]]></category>
		<category><![CDATA[Performance Sentry]]></category>
		<category><![CDATA[Windows Performance]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=116</guid>
		<description><![CDATA[The short answer is that Intel knows what these things means, but does not publish a mapping anywhere of how these internal names correspond to external products. The closest Intel comes is this document at http://www.intel.com/design/chipsets/mature/mature.pdf, which does not mention either Family or Stepping names.
In semiconductor fabrication, &#8220;stepping&#8221; refers to the chip manufacturing process which [...]]]></description>
			<content:encoded><![CDATA[<p>The short answer is that Intel knows what these things means, but does not publish a mapping anywhere of how these internal names correspond to external products. The closest Intel comes is this document at <a href="http://www.intel.com/design/chipsets/mature/mature.pdf">http://www.intel.com/design/chipsets/mature/mature.pdf</a>, which does not mention either Family or Stepping names.</p>
<p>In semiconductor fabrication, &#8220;stepping&#8221; refers to the chip manufacturing process which is called a stepper that deposits successive layers of etched material conducting material and insulation. Our best guess is that this is an internal reference to the plant/stepper technology that produced the chip.</p>
<p>The CPU configuration data in the Registry is actually a narrow subset of the information Intel places in WMI today. See for example, <a href="http://msdn.microsoft.com/en-us/library/aa394373.aspx">http://msdn.microsoft.com/en-us/library/aa394373.aspx</a> for the complete win32_processor spec. See the table that documents the processor family. However, most of these fields are null when you query them in WMI, as in the following script, for example:</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">Set colSettings = objWMIService.ExecQuery _ </span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">(&#8221;SELECT * FROM Win32_Processor&#8221;) </span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">For Each objProcessor in colSettings </span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">    Wscript.Echo &#8220;System Type: &#8221; &amp; objProcessor.Architecture </span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">    Wscript.Echo &#8220;Processor: &#8221; &amp; objProcessor.Description </span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">    Wscript.Echo &#8220;Family: &#8221; &amp; objProcessor.Family </span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">Next </span></p>
<p>will return a Processor Description identical to what is contained Registry, but Processor.Family is null.</p>
<p>There is a a new field available for some of Intel&#8217;s newer processors at HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0\ProcessorNameString that may provide you with what you are looking for.</p>
<p><img src="http://www.demandtech.com/FAQsCP1.jpg" border="0" alt="" width="945" height="375" /></p>
<p>You can harvest this Registry value using the NTSMF Registry data collection feature. Add the HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0\ProcessorNameString field name to the Registry values on the DCS Parameters &#8220;File Contents&#8221; Tab, as in the following illustration:</p>
<p><img src="http://www.demandtech.com/FAQsCP2.jpg" border="0" alt="" width="830" height="514" /></p>
<p>to gather the information stored in this Registry field.</p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2009/10/15/is-there-a-table-somewhere-that-will-take-the-information-in-the-cpu-family-field-in-the-ntconfig-record-i-e-x86-family-15-model-2-stepping-7-and-convert-that-to-a-specific-processor-chip-manufac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Can I use the published clock speed in MHZ of the processor reliably as a relative speed rating?</title>
		<link>http://faq.demandtech.com/2009/10/15/can-i-use-the-published-clock-speed-in-mhz-of-the-processor-reliably-as-a-relative-speed-rating/</link>
		<comments>http://faq.demandtech.com/2009/10/15/can-i-use-the-published-clock-speed-in-mhz-of-the-processor-reliably-as-a-relative-speed-rating/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 13:52:03 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[CPU - Processor]]></category>
		<category><![CDATA[64 Bit Processors]]></category>
		<category><![CDATA[Windows Performance]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=114</guid>
		<description><![CDATA[For back-of-the-envelop capacity planning, it is nice to have a relative speed rating for various processors. You would like to be able to say with confidence that a given processor-bound workload running on machine A running at 400 MHz will execute in 1/3 the time on processor B running at 1.2 GHz that is 3 [...]]]></description>
			<content:encoded><![CDATA[<p>For back-of-the-envelop capacity planning, it is nice to have a relative speed rating for various processors. You would like to be able to say with confidence that a given processor-bound workload running on machine A running at 400 MHz will execute in 1/3 the time on processor B running at 1.2 GHz that is 3 times faster.  For the most part, so long as you stay within the same processor family, you can do that with Intel processors.</p>
<p>Benchmark results consistently show that within a processor family, the performance of an Intel processor usually scales linearly with clock speed (in MHz), all other factors like cache size and bus speed being equal. Figure 3 below shows a chart which illustrates this point. Four representative sets of published benchmark results are plotted for Pentium II processors in the range of 300-450 MHz. That performance scales linearly as the clock rate increases is evident. Within a processor family, it is reasonable to expect a Pentium IV at 1.8 GHz to run roughly 50% faster than a Pentium IV 1.2 GHz box.</p>
<p><img src="http://www.demandtech.com/FAQsCP1.gif" border="0" alt="" width="670" height="513" /></p>
<p><strong>Figure 3.</strong> <em>Within a family of processors, performance of Intel CPUs scales linearly with clock speed.</em></p>
<p>However, if  you try to compare machines from different processor families, you are apt to find that while clock speed is still important, there are other architectural features that matter. For instance, the 386, 486, Pentium, and Pentium Pro machines represent four different Intel processors families, the P3, P4, P5 and P6, respectively. The P4 introduced instruction pipelining to the Intel processor line, the P5 uses a dual integer pipeline (also known as a superscalar architecture), while the P6 features a highly parallel microarchitecture design. Running at similar clock speeds, P4, P5 and P6 machines will show markedly different results.</p>
<p>Since the advent of the first P6 Pentium Pro machines, subsequent versions of the Pentium II, III and IV are all P6 family machines with a similar internal microarchitecture. Machines within this processor family can be expected to scale roughly as a function of clock speed, as illustrated above. (In fact, Intel tweaked the internal architecture of the Pentium IV chip specifically to help it scale linearly with faster clock speeds.)</p>
<p>Intel has also introduced Itanium systems based on the 64-bit P7 architecture, which is vastly different from its predecessors. Our preliminary testing with an early Itanium running a pre-release copy of the 64-bit version of Windows XP indicates that P7 processors are much faster than its clock speed alone would lead you to believe.</p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2009/10/15/can-i-use-the-published-clock-speed-in-mhz-of-the-processor-reliably-as-a-relative-speed-rating/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How do I find a memory leak?</title>
		<link>http://faq.demandtech.com/2009/09/29/how-di-i-find-a-memory-leak/</link>
		<comments>http://faq.demandtech.com/2009/09/29/how-di-i-find-a-memory-leak/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 15:30:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Memory]]></category>
		<category><![CDATA[Windows Performance]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=24</guid>
		<description><![CDATA[A memory leak refers to a programming bug where an application program repeatedly allocates virtual memory, but never deletes it. Eventually, a program with a memory leak will cause something bad to happen. For example, the system or some of its applications might lock up because all the available virtual memory is allocated.
Several aspects of [...]]]></description>
			<content:encoded><![CDATA[<p>A memory leak refers to a programming bug where an application program repeatedly allocates virtual memory, but never deletes it. Eventually, a program with a memory leak will cause something bad to happen. For example, the system or some of its applications might lock up because all the available virtual memory is allocated.</p>
<p>Several aspects of typically memory leaks make them especially insidious programming bugs. A program with a memory leak is not obviously incorrect, and may even produce the correct output or calculate the proper results. Memory leaks are often not evident until a program has been executing successfully for hours, days, or weeks.  It is not always obvious which program is causing the memory leak. The memory leak may not manifest itself in the same way all the time. A program with a memory leak will eventually exhaust the supply of virtual memory pages available so that simple calls to allocate a new segment of virtual memory fail. When simple application calls to allocate a new segment of virtual memory fail, the results are often unpredictable. Finally, applications frequently make calls to allocate and free virtual memory. These calls are typically sprinkled in various spots in the program. Because system functions and DLL library routines also make frequent calls to allocate and free virtual memory, it is not easy to isolate what is causing the bug in the program. Fortunately, there are excellent <a href="http://www.compuware.com/products/numega/bounds/">automated tools</a> for Windows application developers that can help programmers find many types of memory bugs. There is no excuse for not using some of these development and testing tools on your Windows 2000 applications in order to catch many types of memory leaks before they manifest themselves in critical product environments.</p>
<p>The procedure for finding a memory leak depends on what type of virtual memory is being allocated. The bug may be local to an application so that its only effect is on the process virtual address space where the leak is occurring. The bug may be in a shared DLL or other common module so that the bug will be manifest first in this application and then that one. Finally, the problem could be a leak affecting shared system memory, which can make it very difficult to pinpoint the specific application or module causing the leak. To diagnose a memory leak, be prepared to look at any or all of the following:</p>
<p><em>% Committed Bytes in Use.</em> The <strong>Commit Limit</strong> is an upper limit on the amount of virtual memory that can be allocated on your system. The <strong>Commit Limit</strong> is tied to the size of RAM and the amount space defined for paging files (and remember that paging files can and do expand the system looks like it may run short of virtual memory). The <strong>% Committed Bytes in Use</strong> Counter reports Committed Bytes as a percentage of the Commit Limit. Whenever <strong>% Committed Bytes in Use</strong> exceeds 80-90%, application requests to allocate</p>
<p><em>per process Virtual Bytes. </em>Virtual Bytes records the amount of virtual memory allocated by individual processes. If the program with the memory leak is allocating virtual memory in its own address space, the memory leak should be evident by tracking the per process Virtual Bytes Counter. If the amount of Virtual Bytes allocated for a process increases steadily over the life of a process, there is good reason to suspect a leak.</p>
<p><em>Pool Paged Bytes.</em> Virtual memory for various system functions, including shared memory files (like DLLs), is allocated from the Paged Pool, which is an area of the system&#8217;s virtual memory that is limited in size. A program with a memory leak that is allocating, but never freeing memory from the Paged Pool will eventually exhaust the Paged Pool. Subsequent allocations that request the Paged Pool will then fail, with unpredictable (but predictably bad) results. The <strong>Pool Paged Bytes</strong> Counter in the Memory Object reports the current number of bytes allocated from the Paged Pool. The upper limit on the size of the Paged Pool is calculated by the system at start-up. This calculation can be overridden by setting the Paged Pool Limit explicitly using the Registry parameter <strong>PagedPoolSize</strong> at HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management. In either case, the upper limit on the size of the Paged Pool, according to Microsoft documentation in Windows 2000 Resource Kit is 192 MB in NT 4.0 and up to 470 MB in Windows 2000.</p>
<p><em>Pool Nonpaged Bytes. </em>Some kernel functions and device drivers in particular require real memory buffers that can never be paged out of the system. These programs allocate memory from the nonpaged pool, which also has an upper limit.  A device driver with a memory leak will eventually exhaust the supply of Nonpaged Pool Bytes, which will cause subsequent allocations that request the nonpaged pool to fail. Running out of space in the nonpaged pool often results in a Blue Screen.</p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2009/09/29/how-di-i-find-a-memory-leak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
