Question:

Hi all,

As suggested by the subject; is IIS coded to use AWE, so that it can access memory above 4GB on a Windows 2003 (Enterprise Edition) Server? If so, is there a configuration option I need to set to enable this behaviour?

Many thanks for any advice,

Answer:

Actually, no versions of IIS are AWE aware. A more interesting question is: "does IIS need to be AWE aware"?

An application needs to be AWE aware to access memory above 4GB, but when would IIS ever need to do that? IIS just parses requests, launches user-mode "handlers" to handle those requests, and then sends back the response from the handler. Those actions (parsing and launching) do not require much memory at all, and IIS does not buffer responses... so size of memory accessed really depends on the application running on IIS. IIS has no need to be AWE aware.

On the contrary, user-mode code launched by IIS to handle requests MAY need to access such large amounts of memory and therefore needs to be AWE-aware. IIS places no restrictions on its handlers regarding memory allocation, so it is all up to the handlers.

Now, you may be confused by how SQL Server needs to be AWE aware to take advantage of more memory, so you think that IIS similarly needs to be AWE aware to take advantage of more memory. The critical difference is that IIS is not responsible for handling most of its requests, while SQL Server is directly responsible for loading and manipulating its large database tables in response to queries. It is directly using/accessing that memory, and hence it needs to be AWE-aware to access more of it.

//David