I have two machine.config files on my server, which one do I edit and how do I verify they are being used?

John picture John · Jul 15, 2010 · Viewed 8k times · Source

I need to do some performance tuning and need to modify the following settings: processModel, httpRuntime, and connectionManagement. Simple enough I suppose, but I'm not sure which of the two machine.config files to edit, or do I edit both?

  • \Windows\microsoft.net\ Framework \v2.0.50727\CONFIG\machine.config
  • \Windows\microsoft.net\ Framework64 \v2.0.50727\CONFIG\machine.config

As a follow up question, how do I verify that the settings have been applied?

I should mention that the server is running Windows Server 2003 Enterprise (64-bit) with IIS 6.0 (64-bit) and MSSQL Server Enterprise 2005 (64-bit).

Thanks for the help in advance!

Answer

Mikael Svenson picture Mikael Svenson · Jul 15, 2010

The one located in Framework64 is being used if your .net application/IIS is running in 64 bit mode. The other is used if running in 32 bit mode.

When bringing up the Windows Task Manager, if there's "*32" appended to the process name, then it runs in 32 bit. If not it runs under 64 bit.

If your OS is 64bit that is, something I assume since you have both folders on your machine.

If you are using IIS6/7, the process is named w3wp.exe.

IIS7 has more settings for this as well which can be read at this blog post.