<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Vlad Hrybok's Tech Notes - Software Testing</title>
    <link>http://vladsnotes.hrybok.com/</link>
    <description>The future of Internet is &lt;a href='http://httpvpn.com'&gt;HttpVPN&lt;/a&gt;...</description>
    <language>en-us</language>
    <copyright>Vlad Hrybok</copyright>
    <lastBuildDate>Sat, 24 Oct 2009 21:32:20 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>vgribok@dodgeit.com</managingEditor>
    <webMaster>vgribok@dodgeit.com</webMaster>
    <item>
      <trackback:ping>http://vladsnotes.hrybok.com/Trackback.aspx?guid=18aea458-8fdc-4cbc-8b9a-90268aa28dbf</trackback:ping>
      <pingback:server>http://vladsnotes.hrybok.com/pingback.aspx</pingback:server>
      <pingback:target>http://vladsnotes.hrybok.com/PermaLink,guid,18aea458-8fdc-4cbc-8b9a-90268aa28dbf.aspx</pingback:target>
      <dc:creator>Vlad Hrybok</dc:creator>
      <wfw:comment>http://vladsnotes.hrybok.com/CommentView,guid,18aea458-8fdc-4cbc-8b9a-90268aa28dbf.aspx</wfw:comment>
      <wfw:commentRss>http://vladsnotes.hrybok.com/SyndicationService.asmx/GetEntryCommentsRss?guid=18aea458-8fdc-4cbc-8b9a-90268aa28dbf</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://support.microsoft.com/kb/954958">http://support.microsoft.com/kb/954958</a>
        </p>
        <p>
BTW, Windows 7 and Server 2008 R2 have Hyper-V HAL drivers in them, so when those
two are installed as guest OSes, they take advantage of hardware virtualization even
during installation, which makes the installation process go much faster compared
to other guest OSes, and at the end of the installation one does not need to
install Hyper-V integration services.
</p>
        <img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=18aea458-8fdc-4cbc-8b9a-90268aa28dbf" />
      </body>
      <title>Guest Operating Systems Supported by Microsoft Hyper-V</title>
      <guid isPermaLink="false">http://vladsnotes.hrybok.com/PermaLink,guid,18aea458-8fdc-4cbc-8b9a-90268aa28dbf.aspx</guid>
      <link>http://vladsnotes.hrybok.com/PermaLink,guid,18aea458-8fdc-4cbc-8b9a-90268aa28dbf.aspx</link>
      <pubDate>Sat, 24 Oct 2009 21:32:20 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://support.microsoft.com/kb/954958"&gt;http://support.microsoft.com/kb/954958&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
BTW, Windows 7 and Server 2008 R2 have Hyper-V HAL drivers in them, so when those
two are installed as guest OSes, they take advantage of hardware virtualization even
during installation, which makes the installation process go much faster compared
to other guest OSes, and at the end of&amp;nbsp;the installation one does not need to
install Hyper-V integration services.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=18aea458-8fdc-4cbc-8b9a-90268aa28dbf" /&gt;</description>
      <comments>http://vladsnotes.hrybok.com/CommentView,guid,18aea458-8fdc-4cbc-8b9a-90268aa28dbf.aspx</comments>
      <category>Software Testing;Virtual Server;Windows 7</category>
    </item>
    <item>
      <trackback:ping>http://vladsnotes.hrybok.com/Trackback.aspx?guid=43484701-c89a-4b78-9cf7-7e3acd8a3a0b</trackback:ping>
      <pingback:server>http://vladsnotes.hrybok.com/pingback.aspx</pingback:server>
      <pingback:target>http://vladsnotes.hrybok.com/PermaLink,guid,43484701-c89a-4b78-9cf7-7e3acd8a3a0b.aspx</pingback:target>
      <dc:creator>Vlad Hrybok</dc:creator>
      <wfw:comment>http://vladsnotes.hrybok.com/CommentView,guid,43484701-c89a-4b78-9cf7-7e3acd8a3a0b.aspx</wfw:comment>
      <wfw:commentRss>http://vladsnotes.hrybok.com/SyndicationService.asmx/GetEntryCommentsRss?guid=43484701-c89a-4b78-9cf7-7e3acd8a3a0b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
It's very easy to write a windows service using C# or VB.NET. Easy to write, easy
to install, but for a price. 
</p>
        <p>
It's an often overlooked fact, but in .NET runtime, <strong>Garbage Collector does
not merge together freed memory chunks, if they are larger than 85K</strong>. What
does it mean? It means that if your managed windows service allocates and frees buffers
larger than 85K on a continuous basis, your service will crash because it will eventually
run of memory due to Large Object Heap (LOH) fragmentation. Again, it will only happen
if your managed windows service allocates objects of 84,000+ (give or take) byte,
but IT WILL HAPPEN!
</p>
        <p>
There are <strong>workarounds</strong>, somewhat expensive, like wrapping your service
logic in COM+ server-activated process, which can be set up to recycle - just like
IIS AppPools are recycled. Or one could create a proprietary memory manager with
a pool of large buffers, making of which, of course, would be kind of ironic since
the whole point of having garbage-collected memory manager was to eliminate hassles
of memory management.
</p>
        <p>
Anyway, the purpose of this post is to raise awareness among fellow windows service
developers. If your service is high-throughput, high memory usage, it will go
down in flames even if your code is perfect. The choices are: a) ensure all your memory
allocations do not take more than 84K, b) implement your own memory manager, or c)
implement worker process recycling.
</p>
        <p>
Good luck to all of us.
</p>
        <img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=43484701-c89a-4b78-9cf7-7e3acd8a3a0b" />
      </body>
      <title>Why Managed Windows Services Hog Memory and Eventually Crash</title>
      <guid isPermaLink="false">http://vladsnotes.hrybok.com/PermaLink,guid,43484701-c89a-4b78-9cf7-7e3acd8a3a0b.aspx</guid>
      <link>http://vladsnotes.hrybok.com/PermaLink,guid,43484701-c89a-4b78-9cf7-7e3acd8a3a0b.aspx</link>
      <pubDate>Thu, 30 Oct 2008 02:52:59 GMT</pubDate>
      <description>&lt;p&gt;
It's very easy to write a windows service using C# or VB.NET. Easy to write, easy
to install, but for a price. 
&lt;/p&gt;
&lt;p&gt;
It's an often overlooked fact, but in .NET runtime, &lt;strong&gt;Garbage Collector&amp;nbsp;does
not merge together freed memory chunks, if they are larger than 85K&lt;/strong&gt;. What
does it mean? It means that if your managed windows service allocates and frees buffers
larger than 85K on a continuous basis, your service will crash because it will eventually
run of memory due to Large Object Heap (LOH) fragmentation. Again, it will only happen
if your managed windows service allocates&amp;nbsp;objects of 84,000+ (give or take) byte,
but IT WILL HAPPEN!
&lt;/p&gt;
&lt;p&gt;
There are &lt;strong&gt;workarounds&lt;/strong&gt;, somewhat expensive, like wrapping your service
logic in COM+ server-activated process, which can be set up to recycle - just like
IIS AppPools are recycled. Or one could create a&amp;nbsp;proprietary memory manager with
a pool of large buffers, making of which, of course, would be kind of ironic since
the whole point of having garbage-collected memory manager was to eliminate hassles
of memory management.
&lt;/p&gt;
&lt;p&gt;
Anyway, the purpose of this post is to raise awareness among fellow windows service
developers. If your service is high-throughput,&amp;nbsp;high memory usage, it will go
down in flames even if your code is perfect. The choices are: a) ensure all your memory
allocations do not take more than 84K, b) implement your own memory manager, or c)
implement worker process recycling.
&lt;/p&gt;
&lt;p&gt;
Good luck to all of us.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=43484701-c89a-4b78-9cf7-7e3acd8a3a0b" /&gt;</description>
      <comments>http://vladsnotes.hrybok.com/CommentView,guid,43484701-c89a-4b78-9cf7-7e3acd8a3a0b.aspx</comments>
      <category>.NET Programming;Software Testing;Sofware Development;Visual Studio</category>
    </item>
    <item>
      <trackback:ping>http://vladsnotes.hrybok.com/Trackback.aspx?guid=c27f99da-8899-4006-a69b-d601826dae53</trackback:ping>
      <pingback:server>http://vladsnotes.hrybok.com/pingback.aspx</pingback:server>
      <pingback:target>http://vladsnotes.hrybok.com/PermaLink,guid,c27f99da-8899-4006-a69b-d601826dae53.aspx</pingback:target>
      <dc:creator>Vlad Hrybok</dc:creator>
      <wfw:comment>http://vladsnotes.hrybok.com/CommentView,guid,c27f99da-8899-4006-a69b-d601826dae53.aspx</wfw:comment>
      <wfw:commentRss>http://vladsnotes.hrybok.com/SyndicationService.asmx/GetEntryCommentsRss?guid=c27f99da-8899-4006-a69b-d601826dae53</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
WebService Studio 2.0 (a.k.a. Web Service Studio) is a quick &amp; dirty web service
client tool that can import your web service's WSDL and allow you to call web service's
methods without having to create your own test client.
</p>
        <p>
WebService Studio used to be hosted on Microsoft's GotDotNet web site, but ever since
GotDotNet was replaced by Codeplex, Web Service Studio was nowhere to be found. Fortunately,
some kind stranger made WSS available for download at his blog: <a href="http://mattharrah.com/blog/web-tools/net-web-service-studio-20/">http://mattharrah.com/blog/web-tools/net-web-service-studio-20/</a>.
</p>
        <p>
          <strong>Update:</strong> BTW, if you are planning to use WebService Studio to test
WCF web services, you will need to configure your web service to use basicHttpBinding
instead of wsHttpBinding.
</p>
        <img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=c27f99da-8899-4006-a69b-d601826dae53" />
      </body>
      <title>Download WebService Studio 2.0</title>
      <guid isPermaLink="false">http://vladsnotes.hrybok.com/PermaLink,guid,c27f99da-8899-4006-a69b-d601826dae53.aspx</guid>
      <link>http://vladsnotes.hrybok.com/PermaLink,guid,c27f99da-8899-4006-a69b-d601826dae53.aspx</link>
      <pubDate>Mon, 19 May 2008 14:32:03 GMT</pubDate>
      <description>&lt;p&gt;
WebService Studio 2.0 (a.k.a. Web Service Studio) is a quick &amp;amp; dirty web service
client tool that can import your web service's WSDL and allow you to call web service's
methods without having to create your own test client.
&lt;/p&gt;
&lt;p&gt;
WebService Studio used to be hosted on Microsoft's GotDotNet web site, but ever since
GotDotNet was replaced by Codeplex, Web Service Studio was nowhere to be found. Fortunately,
some kind stranger made WSS available for download at his blog: &lt;a href="http://mattharrah.com/blog/web-tools/net-web-service-studio-20/"&gt;http://mattharrah.com/blog/web-tools/net-web-service-studio-20/&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Update:&lt;/strong&gt; BTW, if you are planning to use WebService Studio to test
WCF web services, you will need to configure your web service to use basicHttpBinding
instead of wsHttpBinding.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=c27f99da-8899-4006-a69b-d601826dae53" /&gt;</description>
      <comments>http://vladsnotes.hrybok.com/CommentView,guid,c27f99da-8899-4006-a69b-d601826dae53.aspx</comments>
      <category>.NET Programming;Software Testing;Sofware Development</category>
    </item>
    <item>
      <trackback:ping>http://vladsnotes.hrybok.com/Trackback.aspx?guid=06b316fa-fffb-484d-90e0-1c89467865af</trackback:ping>
      <pingback:server>http://vladsnotes.hrybok.com/pingback.aspx</pingback:server>
      <pingback:target>http://vladsnotes.hrybok.com/PermaLink,guid,06b316fa-fffb-484d-90e0-1c89467865af.aspx</pingback:target>
      <dc:creator>Vlad Hrybok</dc:creator>
      <wfw:comment>http://vladsnotes.hrybok.com/CommentView,guid,06b316fa-fffb-484d-90e0-1c89467865af.aspx</wfw:comment>
      <wfw:commentRss>http://vladsnotes.hrybok.com/SyndicationService.asmx/GetEntryCommentsRss?guid=06b316fa-fffb-484d-90e0-1c89467865af</wfw:commentRss>
      <title>How Windows Performance Counters of "Average" Types Linked to Their Bases</title>
      <guid isPermaLink="false">http://vladsnotes.hrybok.com/PermaLink,guid,06b316fa-fffb-484d-90e0-1c89467865af.aspx</guid>
      <link>http://vladsnotes.hrybok.com/PermaLink,guid,06b316fa-fffb-484d-90e0-1c89467865af.aspx</link>
      <pubDate>Thu, 20 Mar 2008 22:04:21 GMT</pubDate>
      <description>&lt;p&gt;
Some time ago I added performance counters to the application I was working on, and
for some inexplicable reason all counters of "Average" type, like &lt;font size=2&gt;AverageCount64
or &lt;font size=2&gt;AverageTimer32, didn't work at all, always having 0 value. Then I
had no time to find out why it was not working, but today I did. As you may know,
"Average" counters are made of two distinct counters:&amp;nbsp;the base counter and the
average counter itself. The mystery was that by looking at all the samples returned
by Google, it was unclear how the Base and the Average itself are linked together.
It looked like you create the Base and the Average, add them to the collection and
somehow magically Windows figures they need to be linked together when averages are
calculated. After some research it looks like the two are &lt;strong&gt;linked by counter
name&lt;/strong&gt;! It appears that base's name should be the name of real counter, plus
word " base". For example, when you define your counter category that has average
performance counter, you do something like this:&lt;br&gt;
&lt;font size=2&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;counters.Add(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#008080 size=2&gt;CounterCreationData&lt;/font&gt;&lt;font size=2&gt;(&lt;/font&gt;&lt;font color=#800000 size=2&gt;"whatever"&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#800000 size=2&gt;"whatever
desc"&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#008080 size=2&gt;PerformanceCounterType&lt;/font&gt;&lt;font size=2&gt;.AverageCount64));&lt;br&gt;
&lt;/font&gt;&lt;font size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;counters.Add(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#008080 size=2&gt;CounterCreationData&lt;/font&gt;&lt;font size=2&gt;(&lt;/font&gt;&lt;font color=#800000 size=2&gt;"whatever&lt;strong&gt; base&lt;/strong&gt;"&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#800000 size=2&gt;"whatever
base desc"&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#008080 size=2&gt;PerformanceCounterType&lt;/font&gt;&lt;font size=2&gt;.AverageBase));&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=2&gt;&lt;font size=2&gt;&lt;font size=2&gt;To my surprise, changing the &lt;font color=#800000&gt;"whatever&lt;strong&gt; base&lt;/strong&gt;"&amp;nbsp;&lt;/font&gt;value&amp;nbsp;of
the counter&amp;nbsp;name&amp;nbsp;in both &lt;font color=#008080&gt;CounterCreationData &lt;/font&gt;and &lt;font color=#008080 size=2&gt;PerformanceCounter&lt;/font&gt; to
something like "&lt;font color=#800000&gt;whatever&lt;strong&gt; base1&lt;/strong&gt;&lt;/font&gt;" breaks
the perf counter! It looks like there is a &lt;strong&gt;naming convention&lt;/strong&gt; requiring
that AverageBase proformance counter has the &lt;font size=2&gt;CounterName&lt;/font&gt;&amp;nbsp;property
value on both &lt;font color=#008080&gt;CounterCreationData &lt;/font&gt;and &lt;font color=#008080 size=2&gt;PerformanceCounter &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;to
be counter name plus " base", but I never saw this mentioned anywhere - neither by
MSDN, nor by Codeproject articles. So, since average perf counters always come in
pairs, linked by name, these helpers should make creating average perf counters simpler
(uinsg C#/.NET):&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;static&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;void&lt;/span&gt;&lt;font color=#000000&gt; AddAverageCounterDefinition(&lt;/font&gt;&lt;span style="COLOR: teal"&gt;CounterCreationDataCollection&lt;/span&gt;&lt;font color=#000000&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt; counters,&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&lt;font color=#000000&gt; counterName, &lt;/font&gt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&lt;font color=#000000&gt; counterDescription, &lt;/font&gt;&lt;span style="COLOR: teal"&gt;PerformanceCounterType&lt;/span&gt;&lt;font color=#000000&gt; averageType)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;counters.Add(&lt;/font&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;CounterCreationData&lt;/span&gt;&lt;font color=#000000&gt;(counterName,
counterDescription, averageType));&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;counters.Add(&lt;/font&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;CounterCreationData&lt;/span&gt;&lt;font color=#000000&gt;(counterName
+ &lt;/font&gt;&lt;span style="COLOR: maroon"&gt;" base"&lt;/span&gt;&lt;font color=#000000&gt;, &lt;/font&gt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&lt;font color=#000000&gt;.Empty, &lt;/font&gt;&lt;span style="COLOR: teal"&gt;PerformanceCounterType&lt;/span&gt;&lt;font color=#000000&gt;.AverageBase));&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;class&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;AveragePerfCounter&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;PerformanceCounter&lt;/span&gt;&lt;font color=#000000&gt; averageCounter;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;PerformanceCounter&lt;/span&gt;&lt;font color=#000000&gt; averageCounterBase;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt;&lt;font color=#000000&gt; AveragePerfCounter(&lt;/font&gt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&lt;font color=#000000&gt; categoryName, &lt;/font&gt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&lt;font color=#000000&gt; counterName)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;&lt;font color=#000000&gt;.averageCounter
= &lt;/font&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;PerformanceCounter&lt;/span&gt;&lt;font color=#000000&gt;(categoryName,
counterName, &lt;/font&gt;&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;&lt;font color=#000000&gt;);&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;&lt;font color=#000000&gt;.averageCounterBase
= &lt;/font&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;PerformanceCounter&lt;/span&gt;&lt;font color=#000000&gt;(categoryName,
counterName + &lt;/font&gt;&lt;span style="COLOR: maroon"&gt;" base"&lt;/span&gt;&lt;font color=#000000&gt;, &lt;/font&gt;&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;&lt;font color=#000000&gt;);&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: blue"&gt;void&lt;/span&gt;&lt;font color=#000000&gt; IncrementBy(&lt;/font&gt;&lt;span style="COLOR: blue"&gt;long&lt;/span&gt;&lt;font color=#000000&gt; val)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;&lt;font color=#000000&gt;.averageCounter.IncrementBy(val);&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;&lt;font color=#000000&gt;.averageCounterBase.Increment();&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;
&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p&gt;
After this, when creating performance counter definition, you could use following
code instead of the one shown by the very first snippet:&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font size=2&gt;AddAverageCounterDefinition(counters, &lt;/font&gt;&lt;font color=#800000 size=2&gt;"whatever"&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#800000 size=2&gt;"whatever
desc"&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#008080 size=2&gt;PerformanceCounterType&lt;/font&gt;&lt;font size=2&gt;.AverageCount64);&lt;br&gt;
&lt;/font&gt;&lt;font size=2&gt;It will add " base" to the name of the sidekick automatically.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=2&gt;And to create corresponding performance counter, you now can do this:&lt;br&gt;
&lt;/font&gt;&lt;font size=2&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: teal"&gt;AveragePerfCounter&lt;/span&gt;&lt;font color=#000000&gt; avgCount
= &lt;/font&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;AveragePerfCounter&lt;/span&gt;&lt;font color=#000000&gt;(&lt;/font&gt;&lt;span style="COLOR: maroon"&gt;"MyCategory"&lt;/span&gt;&lt;font color=#000000&gt;, &lt;/font&gt;&lt;span style="COLOR: maroon"&gt;"whatever"&lt;/span&gt;&lt;font color=#000000&gt;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;font color=#000000&gt;avgCount.IncrementBy(&lt;/font&gt;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;span style="COLOR: teal"&gt;Random&lt;/span&gt;&lt;font color=#000000&gt;().Next(100));&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&amp;nbsp;
&lt;/p&gt;
&gt;&lt;img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=06b316fa-fffb-484d-90e0-1c89467865af" /&gt;</description>
      <comments>http://vladsnotes.hrybok.com/CommentView,guid,06b316fa-fffb-484d-90e0-1c89467865af.aspx</comments>
      <category>.NET Programming;Performance;Software Testing;Sofware Development</category>
    </item>
    <item>
      <trackback:ping>http://vladsnotes.hrybok.com/Trackback.aspx?guid=524ceb1d-3723-4643-9540-17d1b52b9a97</trackback:ping>
      <pingback:server>http://vladsnotes.hrybok.com/pingback.aspx</pingback:server>
      <pingback:target>http://vladsnotes.hrybok.com/PermaLink,guid,524ceb1d-3723-4643-9540-17d1b52b9a97.aspx</pingback:target>
      <dc:creator>Vlad Hrybok</dc:creator>
      <wfw:comment>http://vladsnotes.hrybok.com/CommentView,guid,524ceb1d-3723-4643-9540-17d1b52b9a97.aspx</wfw:comment>
      <wfw:commentRss>http://vladsnotes.hrybok.com/SyndicationService.asmx/GetEntryCommentsRss?guid=524ceb1d-3723-4643-9540-17d1b52b9a97</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
If it takes too long to redraw the screen when you access your remote virtual machine
using VmWare Server Console or Microsoft Virtual Server admin page, consider terminaling
into your virtual machines using Remote Desktop or Terminal Server client. UI works
as fast as with any "real" remote PC. Entry-level Windows XP Home and Vista Home don't
support Remote Desktop, but all Pro, Business, Media Center Edition and other flavors
of Windows Vista, XP and 2003 work just fine. One of my co-workers told me Remote
Desktop can be used for VmWare Workstation access, but I also tested <a href="http://www.vmware.com/products/server/">VmWare
Server</a> and <a href="http://www.microsoft.com/windowsserversystem/virtualserver/downloads/default.mspx">Microsoft
Virtual Server R2</a>, and those two also do it.
</p>
        <p>
To enable Remote Desktop access a few things usually need to be done:
</p>
        <p>
1. Enable RD access:<br /><img src="content/binary/EnablingRemoteDesktopAccessXP.png" border="0" /></p>
        <p>
2. Ensure your user account is a member of the Administrators group.<br />
3. The password on your user account is not blank.<br /><br />
The only issue I had with this setup was sometimes I couldn't ping the virtual machine
due to networking issue. But when that happens all attempts to access that
virtual machine over the LAN fail, including NetBIOS file shares, web access - anything.
</p>
        <img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=524ceb1d-3723-4643-9540-17d1b52b9a97" />
      </body>
      <title>Use Remote Desktop to access Windows virtual machines running under VmWare Server or MS Virtual Server</title>
      <guid isPermaLink="false">http://vladsnotes.hrybok.com/PermaLink,guid,524ceb1d-3723-4643-9540-17d1b52b9a97.aspx</guid>
      <link>http://vladsnotes.hrybok.com/PermaLink,guid,524ceb1d-3723-4643-9540-17d1b52b9a97.aspx</link>
      <pubDate>Sat, 03 Feb 2007 17:19:30 GMT</pubDate>
      <description>&lt;p&gt;
If it takes too long to redraw the screen when you access your remote virtual machine
using VmWare Server Console or Microsoft Virtual Server admin page, consider terminaling
into your virtual machines using Remote Desktop or Terminal Server client. UI works
as fast as with any "real" remote PC. Entry-level Windows XP Home and Vista Home don't
support Remote Desktop, but all Pro, Business, Media Center Edition and other flavors
of Windows Vista, XP and 2003 work just fine. One of my co-workers told me Remote
Desktop can be used for VmWare Workstation access, but I also tested &lt;a href="http://www.vmware.com/products/server/"&gt;VmWare
Server&lt;/a&gt; and &lt;a href="http://www.microsoft.com/windowsserversystem/virtualserver/downloads/default.mspx"&gt;Microsoft
Virtual Server R2&lt;/a&gt;, and those two also do it.
&lt;/p&gt;
&lt;p&gt;
To enable Remote Desktop access a few things usually need to be done:
&lt;/p&gt;
&lt;p&gt;
1. Enable RD access:&lt;br&gt;
&lt;img src="content/binary/EnablingRemoteDesktopAccessXP.png" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
2. Ensure your user account is a member of the Administrators group.&lt;br&gt;
3. The password on your user account is not blank.&lt;br&gt;
&lt;br&gt;
The only issue I had with this setup was sometimes I couldn't ping the virtual machine
due to networking issue. But when that happens&amp;nbsp;all attempts to access&amp;nbsp;that
virtual machine over the LAN fail, including NetBIOS file shares, web access - anything.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=524ceb1d-3723-4643-9540-17d1b52b9a97" /&gt;</description>
      <comments>http://vladsnotes.hrybok.com/CommentView,guid,524ceb1d-3723-4643-9540-17d1b52b9a97.aspx</comments>
      <category>Software Testing;Virtual Server;VmWare</category>
    </item>
    <item>
      <trackback:ping>http://vladsnotes.hrybok.com/Trackback.aspx?guid=d5c6c382-842b-44ea-9e2a-9f6192b37134</trackback:ping>
      <pingback:server>http://vladsnotes.hrybok.com/pingback.aspx</pingback:server>
      <pingback:target>http://vladsnotes.hrybok.com/PermaLink,guid,d5c6c382-842b-44ea-9e2a-9f6192b37134.aspx</pingback:target>
      <dc:creator>Vlad Hrybok</dc:creator>
      <wfw:comment>http://vladsnotes.hrybok.com/CommentView,guid,d5c6c382-842b-44ea-9e2a-9f6192b37134.aspx</wfw:comment>
      <wfw:commentRss>http://vladsnotes.hrybok.com/SyndicationService.asmx/GetEntryCommentsRss?guid=d5c6c382-842b-44ea-9e2a-9f6192b37134</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I need to test my software on a variety of 64-bit Windows versions. I hoped I would
be able to use <a href="http://www.microsoft.com/windowsserversystem/virtualserver/downloads/default.mspx">Microsoft
Virtual Server</a>, which I've been successfully using for a while for 32-bit tests
(including German, Russian and Korean flavors of Windows - quite a feat for a Ukrainian
with English as a second language), but to no avail - at this point even latest MS
Virtual Server is unable to host 64-bit guest operating systems. So despite enjoying
being lazy, I was forced to check out free <a href="http://www.vmware.com/products/server/">VmWare
Server</a>. I hoped to run it on my main Vista x64 dev box, but VmWare Server did
not install correctly on Vista x64. That was quite a setback for my product delivery
schedule, because I realized I needed another box with 64-bit Windows 2003 Server on
it to be sure I could run VmWare Server. I dug through my closet with PC parts and
after combining what I had with $200 worth of parts bought from <a href="http://NewEgg.com">NewEgg.com</a> I
had a modest 64-bit box with Pentium D 805 and 1GB of DDR memory. VmWare has installed
without a problem, but when I attempted to install Windows XP x64 VmWare Server told
me that my Pentium D CPU is no good because when it comes to Intel CPUs, 64 bit guest
OSes can run only on EMT64 units with Virtualization Technology (VT) support! Fortunately,
my dev desktop had Core 2 Duo E6300, which does have VT support, and both Pentium
D and Core 2 Duo use the same LGA 775 package, so I was able to simply swap CPUs and
ta-da! - after that VmWare finally started cooperating and is installing XP x64 guest
OS as I'm typing this article.
</p>
        <p>
Conclusion: If you want to run 64-bit guest OS in VmWare using Intel CPU you will
need a box with a processor supporting <strong>Virtualization Technology</strong>,
and run <strong>Windows 2003 x64</strong> as a host OS.
</p>
        <img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=d5c6c382-842b-44ea-9e2a-9f6192b37134" />
      </body>
      <title>Your Intel EMT64 CPU has to have VT support to run 64-bit guest Windows OSes on VmWare Server</title>
      <guid isPermaLink="false">http://vladsnotes.hrybok.com/PermaLink,guid,d5c6c382-842b-44ea-9e2a-9f6192b37134.aspx</guid>
      <link>http://vladsnotes.hrybok.com/PermaLink,guid,d5c6c382-842b-44ea-9e2a-9f6192b37134.aspx</link>
      <pubDate>Fri, 19 Jan 2007 03:08:20 GMT</pubDate>
      <description>&lt;p&gt;
I need to test my software on a variety of 64-bit Windows versions. I hoped I would
be able to use &lt;a href="http://www.microsoft.com/windowsserversystem/virtualserver/downloads/default.mspx"&gt;Microsoft
Virtual Server&lt;/a&gt;, which I've been successfully using for a while for 32-bit tests
(including German, Russian and Korean flavors of Windows - quite a feat for a Ukrainian
with English as a second language), but to no avail - at this point even latest MS
Virtual Server is unable to host 64-bit guest operating systems. So despite enjoying
being lazy, I was forced to check out free &lt;a href="http://www.vmware.com/products/server/"&gt;VmWare
Server&lt;/a&gt;. I hoped to run it on my main Vista x64 dev box, but VmWare Server did
not install correctly on Vista x64. That was quite a setback for my product delivery
schedule, because I realized I needed another&amp;nbsp;box with 64-bit Windows 2003 Server&amp;nbsp;on
it to be sure I could run VmWare Server. I dug through my closet with PC parts and
after combining what I had with $200 worth of parts bought from &lt;a href="http://NewEgg.com"&gt;NewEgg.com&lt;/a&gt; I
had a modest 64-bit box with Pentium D 805 and 1GB of DDR memory. VmWare has installed
without a problem, but when I attempted to install Windows XP x64 VmWare Server told
me that my Pentium D CPU is no good because when it comes to Intel CPUs, 64 bit guest
OSes can run only on EMT64 units with Virtualization Technology (VT) support! Fortunately,
my dev desktop had Core 2 Duo E6300, which does have VT support, and both Pentium
D and Core 2 Duo use the same LGA 775 package, so I was able to simply swap CPUs and
ta-da! - after that VmWare finally started cooperating and is installing XP x64 guest
OS as I'm typing this article.
&lt;/p&gt;
&lt;p&gt;
Conclusion: If you want to run 64-bit guest OS in VmWare using Intel CPU you will
need a box with a processor supporting &lt;strong&gt;Virtualization Technology&lt;/strong&gt;,
and run&amp;nbsp;&lt;strong&gt;Windows 2003 x64&lt;/strong&gt; as a host OS.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=d5c6c382-842b-44ea-9e2a-9f6192b37134" /&gt;</description>
      <comments>http://vladsnotes.hrybok.com/CommentView,guid,d5c6c382-842b-44ea-9e2a-9f6192b37134.aspx</comments>
      <category>Software Testing;Virtual Server;Vista;VmWare;x64</category>
    </item>
    <item>
      <trackback:ping>http://vladsnotes.hrybok.com/Trackback.aspx?guid=d91bf2d7-53b7-4909-990b-fb9a7bc2ef20</trackback:ping>
      <pingback:server>http://vladsnotes.hrybok.com/pingback.aspx</pingback:server>
      <pingback:target>http://vladsnotes.hrybok.com/PermaLink,guid,d91bf2d7-53b7-4909-990b-fb9a7bc2ef20.aspx</pingback:target>
      <dc:creator>Vlad Hrybok</dc:creator>
      <wfw:comment>http://vladsnotes.hrybok.com/CommentView,guid,d91bf2d7-53b7-4909-990b-fb9a7bc2ef20.aspx</wfw:comment>
      <wfw:commentRss>http://vladsnotes.hrybok.com/SyndicationService.asmx/GetEntryCommentsRss?guid=d91bf2d7-53b7-4909-990b-fb9a7bc2ef20</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
After installing VmWare Server on 64-bit Windows 2003 Server R2, I was unable to access
VmWare Server's web admin page due to <strong>Service Unavailable</strong> error.
VmWare support forum suggests to <a href="http://www.vmware.com/community/message.jspa?messageID=505302">remove
.NET Framework 2.0</a>, which seems to help some people, but I fixed the problem by <strong><em>repairing</em></strong> .NET
Framework 2.0 installation after VmWare server was installed. To do that go to Control
Panel -&gt; Add/Remove Programs, select .NET Framework and hit Change/Remove button.
In the dialog select repair and let it run. After that both Default Web site and VmWare
web site were running fine.
</p>
        <img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=d91bf2d7-53b7-4909-990b-fb9a7bc2ef20" />
      </body>
      <title>"Service Unavailable" error when accessing VmWare Server web admin running on Windows 2003 Server R2 x64</title>
      <guid isPermaLink="false">http://vladsnotes.hrybok.com/PermaLink,guid,d91bf2d7-53b7-4909-990b-fb9a7bc2ef20.aspx</guid>
      <link>http://vladsnotes.hrybok.com/PermaLink,guid,d91bf2d7-53b7-4909-990b-fb9a7bc2ef20.aspx</link>
      <pubDate>Thu, 18 Jan 2007 05:25:19 GMT</pubDate>
      <description>&lt;p&gt;
After installing VmWare Server on 64-bit Windows 2003 Server R2, I was unable to access
VmWare Server's web admin page due to &lt;strong&gt;Service Unavailable&lt;/strong&gt; error.
VmWare support forum suggests to &lt;a href="http://www.vmware.com/community/message.jspa?messageID=505302"&gt;remove
.NET Framework 2.0&lt;/a&gt;, which seems to help some people, but I fixed the problem by &lt;strong&gt;&lt;em&gt;repairing&lt;/em&gt;&lt;/strong&gt; .NET
Framework 2.0 installation after VmWare server was installed. To do that go to Control
Panel -&amp;gt; Add/Remove Programs, select .NET Framework and hit Change/Remove button.
In the dialog select repair and let it run. After that both Default Web site and VmWare
web site were running fine.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=d91bf2d7-53b7-4909-990b-fb9a7bc2ef20" /&gt;</description>
      <comments>http://vladsnotes.hrybok.com/CommentView,guid,d91bf2d7-53b7-4909-990b-fb9a7bc2ef20.aspx</comments>
      <category>Software Testing;VmWare;x64</category>
    </item>
    <item>
      <trackback:ping>http://vladsnotes.hrybok.com/Trackback.aspx?guid=40fbefde-2b91-4b47-bc6a-d4f48e53af61</trackback:ping>
      <pingback:server>http://vladsnotes.hrybok.com/pingback.aspx</pingback:server>
      <pingback:target>http://vladsnotes.hrybok.com/PermaLink,guid,40fbefde-2b91-4b47-bc6a-d4f48e53af61.aspx</pingback:target>
      <dc:creator>Vlad Hrybok</dc:creator>
      <wfw:commentRss>http://vladsnotes.hrybok.com/SyndicationService.asmx/GetEntryCommentsRss?guid=40fbefde-2b91-4b47-bc6a-d4f48e53af61</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Microsoft <a href="http://www.microsoft.com/windowsserversystem/virtualserver/downloads/servicepack.mspx">Virtual
Server R2 SP Beta</a> works really well on Vista x64 and Intel Core 2 Duo E6300 CPU,
which has Virtualization support. Installer was not completely hands-off - I had to
add CGI module to IIS7 manually - otherwise VSWebApp.exe was treated as downloadable
file and not as CGI module. MS needs to update VS installer to automate this step.
</p>
        <p>
Please note that although MS Virtual Server R2 Beta can run on Vista x64, it can't
host 64-bit OSes. To host 64 bit OSes you would need free <a href="PermaLink,guid,d5c6c382-842b-44ea-9e2a-9f6192b37134.aspx">VmWare
Server</a> installed on x64 Windows 2003 Server, and either AMD 64 bit CPU or Intel
EMT64 CPU with Virtualization Technology (VT) support (like Core 2 Duo E6300
or E6400 CPUs).
</p>
        <img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=40fbefde-2b91-4b47-bc6a-d4f48e53af61" />
      </body>
      <title>Microsoft Virtual Server R2 SP1 on Vista x64 and Intel Core 2 Duo CPU</title>
      <guid isPermaLink="false">http://vladsnotes.hrybok.com/PermaLink,guid,40fbefde-2b91-4b47-bc6a-d4f48e53af61.aspx</guid>
      <link>http://vladsnotes.hrybok.com/PermaLink,guid,40fbefde-2b91-4b47-bc6a-d4f48e53af61.aspx</link>
      <pubDate>Sun, 17 Dec 2006 19:29:12 GMT</pubDate>
      <description>&lt;p&gt;
Microsoft &lt;a href="http://www.microsoft.com/windowsserversystem/virtualserver/downloads/servicepack.mspx"&gt;Virtual
Server R2 SP Beta&lt;/a&gt; works really well on Vista x64 and Intel Core 2 Duo E6300 CPU,
which has Virtualization support. Installer was not completely hands-off - I had to
add CGI module to IIS7 manually - otherwise VSWebApp.exe was treated as downloadable
file and not as CGI module. MS needs to update VS installer to automate this step.
&lt;/p&gt;
&lt;p&gt;
Please note that although MS Virtual Server R2 Beta can run on Vista x64, it can't
host 64-bit OSes. To host 64 bit OSes you would need free &lt;a href="PermaLink,guid,d5c6c382-842b-44ea-9e2a-9f6192b37134.aspx"&gt;VmWare
Server&lt;/a&gt; installed on x64 Windows 2003 Server, and either AMD 64 bit CPU or Intel
EMT64 CPU with Virtualization Technology (VT)&amp;nbsp;support (like Core 2 Duo E6300
or E6400 CPUs).
&lt;/p&gt;
&lt;img width="0" height="0" src="http://vladsnotes.hrybok.com/aggbug.ashx?id=40fbefde-2b91-4b47-bc6a-d4f48e53af61" /&gt;</description>
      <comments>http://vladsnotes.hrybok.com/CommentView,guid,40fbefde-2b91-4b47-bc6a-d4f48e53af61.aspx</comments>
      <category>IIS7;Software Testing;Virtual Server;Vista;VmWare;x64</category>
    </item>
  </channel>
</rss>