Skip to main content
San Diego Microsoft Consulting Solutions

John's Microsoft Solutions Notepad

Go Search
Advanced Microsoft Network Solutions  

Serving San Diego and Southern California customers that demand the very best  



Contact a Microsoft Solution Specialist  
Home
Enterprise Microsoft Solutions
Small Business Services
Microsoft Solutions Blog
About Gilham Consulting
Contact Us
  

Home > John's Microsoft Solutions Notepad
Why Exchange 2007 Memory Buffers uses a large Paging File

The Exchange Team posts an article explaining why Exchange 2007 uses so much of the windows server page file.  This is the snip from the last section of the article.

...

Reasons for Memory Paging
One of the primary reasons for memory paging in Exchange 2007 is Content Searching, which uses the system cache since this is buffered. Performing more searches increases the file cache you have which in turn reduces the amount of IOPS that are generated. Content Indexing itself does not make use of the file cache as this is designed to work on a memory structure that is not affected by the file cache. Master merges of index data does use a small amount of the file cache, but it very short lived. Database I/O is actually unbuffered, so this not affected by the system cache. This is why the ESE cache doesn't continuously grow (ESE cache I/O is less than the system cache I/O).  It's being balanced out by the content searching I/O (and potentially other applications that use buffered memory I/O) and thus the system cache. CCR log shipping is also unbuffered while log files are being copied over SMB, so this is also not affected by the system cache.
Now couple all of this memory management with other 3rd party applications and drivers that are installed on the server which are all competing for the same resources, you can see that this is vastly different than what Exchange 2003 used to be. There is actually no comparison at all.
How Exchange makes use of the Paging File

So this brings up the second part of this document where I will now talk about the paging file. So you may ask, if I have so much memory in the server, why is a paging file needed at all? Our system requirements talk about needing one for getting a memory dump on the server, but what does Exchange really use it for?  I get this very question asked very frequently. In certain cases, it is true that Windows 2003 does not require a paging file. It is however completely incorrect that Exchange does not need a paging file for normal runtime operations when running on top of that OS. There is always going to be a need to page out unused or rarely used memory to the page file so that we can make maximum use of RAM. For example, there could be a large amount of VM pages used during system startup that are not useful under main load.  Unexpected transient conditions could cause large upward swings in memory that could cause us to spill pages of memory in to the paging file. There are enough processes outside of the cache manager that consume a significant amount of memory in Exchange 2007 (e.g. ESE and all processes that utilize the CLR) that there is a need for a substantially sized paging file as the system balances the memory footprint of the competing processes.  Without a paging file (or with one that is too small) there is a very high chance that applications will encounter OOM (out of memory) conditions and both the performance and the functionality of the server will suffer and may lead to a possible blue screen.
The cost of having a 32GB paging file on a server with 32GB of physical RAM on disk is pretty minimal, so having a properly configured paging file (RAM+10MB) will be able to sustain any unexpected growths in memory where we need more commit charge to handle current load. The other benefit is that if we should get ourselves in to a working set trimming issue, we would at least have the ability to flush these pages out to the paging file and then page them back in when a particular page needs to be accessed again. Excessive working set trimming on an Exchange 2007 server is not normal and should be investigated. Again, check out my blog post on working set trimming problems and why this is bad for performance.


Why does Exchange allocate so much memory in the paging file?
Another question that generally comes up is why does Exchange allocate so much memory in the paging file?  Depending on the amount of memory that is consumed for the store process, we will need to at least allocate enough memory in the paging file to match the current working set that is in RAM on the server. If a system wide working set trim should occur, we would be able to page the current pages in the store working set out to the backing store or paging file. It is important to monitor Memory\Pages/sec on the server to detect if this working set trimming problem is causing any performance related problems on the server. You should be able to see by adding Process\Working Sets a sharp decline in this value along with a sharp increase in Memory\Pages/sec. With the other processes on the server possibly using parts of the system or file cache, there is always a balancing act trying to compete for memory on any given server. The good news is that Windows 2008 has made some significant changes in memory management to help prevent these system wide working set trims and to manage memory more efficiently. With server applications having the need for using more RAM as technology advances, it is imperative that memory management works effectively to prevent any negative performance problems on any given server. For more information on some of these memory management changes in Windows 2008, see http://www.microsoft.com/whdc/system/sysinternals/memmgt.mspx.

...

Read the complete article @> You Had Me At EHLO... : Understanding Exchange 2007 Memory Usage and its use of the Paging File

The App-V Blog : SoftGrid: Sequencing Excel 2003 in 30 easy steps

A great intro into App-V Sequencing...

Introduction: The goal of this document is to demonstrate one particular way that Microsoft Excel can be sequenced using Microsoft SoftGrid 4.2. It's not the only way, or the best way, it's just one way that seems to work well for me. I have not fully tested every single Excel related function within this package so it's possible there could be issues although I've yet to come across any. Before you begin your own Excel 2003 or Office 2003 sequencing project I would highly recommend that you read this document fully along with KB931914 - Problems that you may experience when you try to use Microsoft SoftGrid to sequence Microsoft Office on a computer that is running Microsoft Windows 2000, Windows XP, or Windows Server 2003.

Disclaimer: This document assumes that the reader is already well versed with Sequencing Best Practices and is experienced in using the SoftGrid admin console, managing virtualized applications and publishing them to users. If not, those areas may be a better place to start. I will also repeat that this recipe has not been fully tested so if you use this guide you will need to ensure that it fulfills the requirements of your particular environment. That means it's up to you to test it before rolling it out. Now with all that out of the way, on with the sequence!

1. Start your clean sequencing machine or VM and install the SoftGrid Sequencer. Before starting the Sequencer we'll need to make a quick registry edit on our Sequencer box. Fire up Regedit and go to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer. Once there add these values:

  • DisableRollback - DWORD - Value=1
  • MaxPatchCacheSize - DWORD - Value = 0

image

2. Exit Regedit and start the Sequencer:

image

3. Before we get started we should set an exclusion. On the Tools menu, click Options. Next click the Exclusion Items tab and select New. In the Exclude Path box, type %Csidl_Windows%\Debug and set the Mapping Type to VFS then click OK. You don't necessarily have to do this but it won't hurt and may in fact save you some pain down the road. See KB931914 for more details :

image

4. Now that we have that set we can begin building our package. Select the New Package... icon, or select File from the menu bar and select New Package...

Read the rest of the article @> The App-V Blog : SoftGrid: Sequencing Excel 2003 in 30 easy steps

Google Maps Sharepoint 2007 and WSS Webpart

Download the free Google Maps Sharepoint Web Part Template

You will need to replace to variables when editing the Web Part Source Code:

  • Replace API Key (Get One Here)
    • <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=YOUR_VERY_LONG_API_KEY_HERE" type="text/javascript">
  • Replace with Lattitude Longitude:
    • map.setCenter(new GLatLng(33.077734,-117.14035),12)
    • var point = new GLatLng(33.077734,-117.14035);
  • Optional - Change Height and Width:
    • <div id="map" style="width: 500px; height:500px"></div>

Read More @> Google Maps Sharepoint 2007 Web Part

Data protection manager 2007 supports Windows Server 2008, SQL 2008, and Tape Library Sharing

Great Tool for Enterprise Backup now supports the latest Microsoft platform.

The Windows Storage Solutions team that manages DPM 2007 is very excited to announce that the ‘Rollup Update’ for System Center Data Protection Manager 2007 is now available for download.   The biggest new workload that DPM now has supported protection for is, of course, Windows Server 2008.

While DPM2007 has actually been protecting “Longhorn” since Beta 3, this update makes Windows Server 2008 a supported protect-able workload.

Specific new capabilities for Windows Server 2008 include:

Protect Windows Server 2008 systems, including those running Core

Protect Windows Server 2008 System State

Ability to run the DPM2007 Server on a Windows Server 2008 platform

Some of the other enhancements in the rollup update include:

Protection for SQL Server 2008

Protection of Virtual Server 2005 R2 clustered hosts

Tape Library Sharing - so that multiple DPM servers can share a single enterprise tape library silo

For more details on what is included in the DPM 2007 “Rollup Update” or in the upcoming Service Pack 1, please check out:

TechNet webcast on “What is coming next for DPM 2007” from April 23, 2008

The DPM 2007 Rollup Update is now available via Microsoft Update, if your DPM server has opt’ed in for updates … or it is downloadable from:

System Center Data Protection Manager 2007 - Rollup Update - x86

System Center Data Protection Manager 2007 - Rollup Update - x64

Read More @> Windows Server Division WebLog : Data protection manager 2007 -- now backing up windows server 2008

Getting UNDO functionality with Hyper-V Snapshots

http://blogs.technet.com/roblarson/archive/2008/05/15/getting-undo-functionality-with-hyper-v-snapshots.aspx

Snapshots are not the same as UNDO disks in Virtual Server 2005…go here to read a previous post of mine to learn about how they work.

That said, you get UNDO like functionality using snapshots…..with maybe a little more work.

In Virtual Server, when you wanted to use UNDO, you powered down your VM and enabled UNDO on the Virtual hard disk tab. Then after you power on the VM, when you powered it off you will be asked if you want to Save, Commit, or Discard your changes. Selecting Save kept the changes separate, Commit merged them into the original VHD and then started the UNDO process over again, and Discard threw away the changes and started over again. All of this used Differencing disks in the background.

In Hyper-V, UNDO is not an available option on the virtual disk menu anymore, you now have snapshots. If you want the ability to protect your VHD from any changes getting merged you need to do this.

Before you first power on a VM (the same point you would have enabled UNDO in Virtual Server), take a snapshot and call it something like UNDO DISCARD. This just makes your VHD effectively read only and all changes are written to a working AVHD file.

Power on your VM and work away.  When you want to effectively “Turn OFF and Discard” all changes, then apply/revert to the UNDO DISCARD snapshot and it is all gone…start a new test scenario. Just remember that if you made any changes to the VM settings, they are also discarded.

By default all changes are saved to the working file, so you need to do nothing to get the SAVE feature.

If you want a COMMIT capability and want it permanent like it is with Virtual Server, then that takes a little more work.   Once you create the UNDO DISCARD snapshot, there is no way to merge any changes back to the original VHD through the snapshot UI. 

You can do the following though to get the COMMIT functionality

  1. Power down the VM
  2. Find the working avhd file
  3. Copy it to CHILD.VHD
  4. Backup up your original VHD for protection
  5. Use the Edit disk option in Hyper-V MMC to edit the new CHILD.VHD and select Merge for the action in the wizard
  6. Select to Merge to the parent
  7. Wait for the merge to complete
  8. Apply the UNDO DISCARD Snapshot (which throws away all the changes which you just merged from the copy and creates a new working avhd file that is the child of the original VHD)
  9. Power on the VM and work away

Once again remember that if you had made any changes to the VM settings, that applying the UNDO DISCARD snapshot would have thrown them away…..other than that have fun!!

Robert Larson : Getting UNDO functionality with Hyper-V Snapshots

Communications and Collaboration: Create Powerful Connections with Groove and SharePoint

 

SharePoint® offers a robust and scalable content management framework and collaboration toolset with support for structured workflows. Groove™, in contrast, is a collaboration toolset that allows rapid workspace deployment with little or no IT overhead. With support for document collaboration, threaded discussions, and calendaring among its features, Groove provides the ideal framework for dynamic, secure, ad hoc collaboration. In short, most users will naturally end up using these products in different ways.

Moreover, the release of Groove 2007 adds built-in support for SharePoint integration using the SharePoint Files tool. This tool allows Groove workspaces to be synchronized with SharePoint document libraries and, as we will see, the built-in integration means you can easily make the most of both products. In fact, combining the flexibility and dynamic nature of Groove with the sophistication and power of SharePoint will yield significant benefits for many.

Groove and SharePoint Together

Today's IT world demands ever-increasing collaboration between organizations and their partners and vendors. However, the powerful collaboration solutions that are being implemented using products such as SharePoint tend to focus heavily on internal teams and the need to make information broadly available throughout an organization. In such cases, the challenges, both from an administrative and security perspective, of providing access to users external to an organization are often significant. In the face of such challenges, the goal becomes enabling users to reach out to external partners on an ad hoc basis.

The combination of Groove and SharePoint offers exactly that solution. SharePoint provides intra-organization collaboration, content search, and a workflow framework; adding Groove lets companies extend those capabilities to include easy inter-organization collaboration. With Groove, users can quickly set up collaboration workspaces that cross company boundaries. Furthermore, support for 192-bit Advanced Encryption Standard (AES) symmetric keys ensures that the collaboration is secure. In fact, Groove security is built-in and always on, so users don't have to worry about configuring it.

The security architecture of Groove provides a high degree of protection for these workspaces and their contents, both while stored locally and during network transmission. The SharePoint Files tool allows this information to be bi-directionally synchronized with a SharePoint document library to ensure that the information is available centrally for easy internal access. Let's use a concrete example to see how this process works.

...

Read more @> Communications and Collaboration: Create Powerful Connections with Groove and SharePoint

OCS 2007 Is Not Supported For Virtualization

From the OCS Supportability Guide:

Virtualization is not supported for any server role in a production environment.

That was easy :)

BTW, The OCS Supportability guide is a great read to make sure your first UM project goes smoothly:

...high-level reference for supported Office Communications Server 2007 topologies and configurations. It is also intended to answer frequently asked questions. This document identifies supported topologies, configurations, and scenarios described in detail in the existing deployment and planning documentation.

Read more @> Download details- Office Communications Server 2007 Supportability 

Updated Exchange 2007 SP1 Management Pack for System Center - SCOM2007 and SCE

http://www.microsoft.com/downloads/details.aspx?familyid=1a83e112-8677-4e03-83c3-f1b7ebfc3a4b&displaylang=en&tm

The Microsoft Exchange Server 2007 management pack is designed to be used for monitoring Exchange 2007 events, collecting Exchange component-specific performance counters in one central location, and for raising alerts for operator intervention as necessary. By detecting, sending alerts, and automatically responding to critical events, this management pack helps indicate, correct, and prevent possible service outages or configuration problems, allowing you to proactively manage Exchange servers and identify issues before they become critical. The management pack monitors and provides alerts for automatic notification of events indicating service outages, performance degradation, health monitoring, and centralized management.

More Details: Download details: Exchange 2007 MP for SC Ops Mgr 2007

Hyper-V Monitor Guest VM Toolbar Gadget for Windows Sidebar

Great little Vista Sidebar gadget for Hyper-V.

Hyper-V Monitor Gadget

I've created a sidebar gadget so I can see what the Hyper-V server is doing from my workstation.
The gadget can list multiple servers at once and also support vmconnect when double clicking on a VM.

PS: The gadget uses WMI to connect to the server so the user need remote WMI access (Step 5) on the Hyper-V server.

More Info @> Hyper-V Monitor Gadget for Windows Sidebar

Hyper-V Performance Guidance and Best Practices

Latest version @> Hyper-V Performance FAQ

Q: What is the recommend configuration for performance testing?

A: Here are some simple steps:

1. Be sure to have the latest WS08 Hyper-V build – Hyper-V RC1 which is on Microsoft Downloads and Windows Update

2. Next you need to make sure you are running a “Supported OS” with the latest SP.

Operating System

Virtual Processor Limit

Windows Server 2008 64-bit

4

Windows Server 2003 32-bit

2

Windows Server 2008 32-bit

4

Windows Server 2003 64-bit

1

Windows Vista SP1 32-bit / 64bit

1

Windows XP SP3 32-bit / 64bit

1

Windows 2000 32bit

1

SUSE/RedHat LINUX

1

3. Make sure the guest and root OS have integration components installed (http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx **and** http://blogs.msdn.com/tvoellm/archive/2008/01/02/hyper-v-integration-components-and-enlightenments.aspx )

4. Make sure you are using the “Network Adapter” and not the “Legacy Network Adapter”. The legacy adapter has a lot of emulation which causes lots of CPU overhead.

5. Use passthrough disks attached to SCSI for the next performance. Next best is Fixed VHD attached to SCSI. To understand storage better see (http://blogs.msdn.com/tvoellm/archive/2007/10/13/what-windows-server-virtualization-aka-viridian-storage-is-best-for-you.aspx )

6. Follow these tips for avoiding pitfalls http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx

Q: How do I monitor performance?

A: First you need to understand that the clocks in the root and guest Virtual Machines may not be accurate see (http://blogs.msdn.com/tvoellm/archive/2008/03/20/hyper-v-clocks-lie.aspx ). Given an understanding of clocks you can see why we implemented the “Hyper-V Hypervisor Logical Processor” performance counters (access using perfmon) which are not skewed by clock effects. There are other Hyper-V performance counters that are useful. See the following for more details (http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx )

Q: Should I use passthrough or iSCSI attached to the guest for storage?

A: The decision depends on what features you need to expose to the guest. In the passthrough case the drive will show up without knowledge of the underlying LUN.

Educated guess: If you are looking for raw performance passthough will give you the best result.

Reason: When doing IO from the guest using passthough you traverse the guest storage stack + disk stack in the root. When doing iSCSI you traverse the storage + networking stack in the guest + root networking stack

Q: Is there a simple way to disable the hypervisor to run some baseline tests on the native system.

A: Yes. “bcdedit /set hypervisorlaunchtype off” and reboot the server. You should also consider changing the protocols on the root network device to re-enable IP and turn off the “Microsoft Virtual Network Switch Protocol”. See the following for more details (XXX – coming to my blog soon J). For starters turning off the Hypervisor should be enough for testing native performance.

To turn it back on do “bcdedit /set hypervisorlaunchtype on” and reboot the server.

Q: Is there any common terminology used to talk about virtual machine configurations?

A: Yes - Internal to Microsoft we typically use the following;

· Native = System without the Hyper-V role. This means you have no virtual drivers, virtual switch, …

· Root = you have Hyper-V role installed and but are not using a virtual switch for networking.

· Guest = Guest Virtual Machine.

· 8p.child.2x1p or better 8p.child.2VMx1VP = A system with 8 logical processors / cores running 2 Virtual Machines (VM) each with 1 Virtual Processor (VP)

Q: Are there any services that should be stopped?

A: No If you are running Server Core which is the ideal root OS to use. Regardless of running server core vs server you should close the Hyper-V Management Console because it has a noticeable impact on CPU. If you want the details see http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx

Q: Is it ok run applications / processes in the root OS?

A: You should avoid running any Role / Feature or custom service in the root. If you have services you want to run put them in a guest VM. Running roles in the root can have a negative impact the guest VM’s. This is due to how the Hypervisor scheduler handles the root virtual processors.

Read the latest version @> ALL TOPICS PERFORMANCE : Hyper-V Performance FAQ

1 - 10 Next

 Sponsored Ads

 Subscribe and Bookmark

 
 
          Subscribe
          Bookmark

 Latest Posts

Category
Why Exchange 2007 Memory Buffers uses a large Paging FileUse SHIFT+ENTER to open the menu (new window).
Exchange 2007
The App-V Blog : SoftGrid: Sequencing Excel 2003 in 30 easy stepsUse SHIFT+ENTER to open the menu (new window).
Virtualization
Google Maps Sharepoint 2007 and WSS WebpartUse SHIFT+ENTER to open the menu (new window).
Data protection manager 2007 supports Windows Server 2008, SQL 2008, and Tape Library SharingUse SHIFT+ENTER to open the menu (new window).
Systems Center
Getting UNDO functionality with Hyper-V SnapshotsUse SHIFT+ENTER to open the menu (new window).
Virtualization
Communications and Collaboration: Create Powerful Connections with Groove and SharePointUse SHIFT+ENTER to open the menu (new window).
Sharepoint 2007
OCS 2007 Is Not Supported For VirtualizationUse SHIFT+ENTER to open the menu (new window).
Office Communications 2007
Updated Exchange 2007 SP1 Management Pack for System Center - SCOM2007 and SCEUse SHIFT+ENTER to open the menu (new window).
Systems Center
Hyper-V Monitor Guest VM Toolbar Gadget for Windows SidebarUse SHIFT+ENTER to open the menu (new window).
Virtualization
Hyper-V Performance Guidance and Best PracticesUse SHIFT+ENTER to open the menu (new window).
Virtualization
Exchange 2007 on Hyper-V GuidanceUse SHIFT+ENTER to open the menu (new window).
Virtualization
Slipstream Hyper-V using Microsoft Deployment Toolkit (MDT 2008)Use SHIFT+ENTER to open the menu (new window).
Virtualization
Office 2007 Add-On Allows Users To Search For Commands on The ToolbarUse SHIFT+ENTER to open the menu (new window).
Personal Technology
Microsoft offers tools for fighting SQL injection attacksUse SHIFT+ENTER to open the menu (new window).
SQL Server
Microsoft Hyper-V Performance Overhead Under Extreme UtilizationUse SHIFT+ENTER to open the menu (new window).
Virtualization
Supported Guest OS on Windows Server 2008 Hyper-V RTMUse SHIFT+ENTER to open the menu (new window).
Virtualization
New Microsoft NAP, Hyper-V, App-V, SSCM2007 - Deployment, Planning and Design GuidesUse SHIFT+ENTER to open the menu (new window).
Windows Deployment
Using a UNC Network Share to Store Hyper-V Virtual Disk (VHD)Use SHIFT+ENTER to open the menu (new window).
Virtualization
Hyper-V RTM now available for downloadUse SHIFT+ENTER to open the menu (new window).
Virtualization
Exchange 2007 SMTP Communication with Cisco PIX FirewallsUse SHIFT+ENTER to open the menu (new window).
Exchange 2007
Understanding Forefront and NAP Integration ArchitectureUse SHIFT+ENTER to open the menu (new window).
Security
Using PRESCAN.EXE to Assist in Planning a SharePoint 2003 to SharePoint 2007 MigrationUse SHIFT+ENTER to open the menu (new window).
Sharepoint 2007
Disable or Change MSSTD Mutual Authentication in Exchange 2007 Outlook Anywhere AutodiscoveryUse SHIFT+ENTER to open the menu (new window).
Exchange 2007
Developing Workflow Solutions with SharePoint Server 2007 using Visual StudioUse SHIFT+ENTER to open the menu (new window).
Sharepoint 2007
SharePoint Governance and Manageability - Microsoft IT Site Delete Capture LE 1.0 SolutionUse SHIFT+ENTER to open the menu (new window).
Sharepoint 2007