Windows Memory Tuning

Windows 2000 Server
I originally asked this question under the Oracle umbrella, but got no response, so I thought to ask you OS folks........ We have running our Oracle servers on Windows NT and 2000 servers. I am looking to try to identify, based on looking at the memory usage via task manager, how much memory is not in use (assume I am looking at it during peak times) so that I can safely add more memory to the Oracle resources. I understand that: Commit Charge = total available memory (RAM + virtual) Physical Memory = RAM Kernel Memory = reserved RAM in use My numbers show: Commit Charge: Total = 255M Limit = 1876M Peak = 264M Physical Memory: Total = 755M Available = 426M Sys Cache = 532M Kernel Memory: Total = 46M Paged = 30M Non-paged = 16M 1) how do the available and system cache number related to the total under physical memory. obviously the 2 don't add up to the total. 2) my available memory shown under commit charge shows only 255M available, some of which would be virtual memory. How can I find out what part of it is available physical memory, from which I can reallocate to Oracle resources? 3) is it normal that such a large portion of kernel memory is paged? Note that I am the dba not the sysadmin so my understanding of this is at a very high level. Unfortunately the sysadmin is not much better with this, so here I am. Any help would be appreciated. I have read a bit on the internet, but am still confused. Thanks, Laura

Answer Wiki

Thanks. We'll let you know when a new response is added.

The available memory is (roughly) how much physical memory you have left. It is a snap shot in Task Manager. The system cache represents the amount of memory that the OS is maintaining for caching primarily I/O operations – e.g. Network and Disk traffic. They do not add up and are not supposed to. The rest of memory is being used by user mode processes and kernal mode operations. Each user mode process has a kernal mode component. The OS is constantly adjusting the values based on demand.

The Kernal maintains some memory for itself. It is typical for the larger portiong of the kernal memory to be swappable (pageable). The non-pageable memory is intentional small. As a side note, this can be adjusted to keep more of the kernal in memory to improve OS performance in special cases.

When you are looking at the available memory, you will want to look at that with the system cache. The system cache is potentially usable memory. The OS will automatically trim the system cache to feed processes. The critical point for available memory is 4 MB – anything less and the system will begin to page wildly, a condition known as thrashing.

There are a couple of ways to determine how much memory you can use. You could assign approximately half of the file system cache to Oracle. This will take some of the system cache, but the OS will also end up trimming the memory from the other processes to maintain a balance. Keep in mind that the available memory has a minimum of 4 MB before critical problems occur. Trimming the working sets (memory assigned to the processes) has the affect of more of the processes memory being put out to disk (paged). Thus, you can end up slowing down the other processes. Of course, if Oracle is the major application on the system you won’t be too concerned about this. You will want to watch the pageing (page Faults) and the available memory. In the Task Manager, you can click the VIEW menu drop down and then click on other statistical columns to view. You would include:

Mem Usage
Peak Mem Usage
Page Faults
Virtual Memory Size
Page Fault Delta

Take a look at this and get a feel for how your systems and the processes are working and utilizing resources. Then, change the Oracle memory allocation. Let the system run for a bit (30 minutes or so). Review the settings again. You will see some applications running leaner. On average you will see more paging. Large deltas will represent processes begining to suffer due to memory starvation.

More detailed analysis can be achieved by using Performance Monitor to collect the counters for memory and processes on a system. You can collect these into a comma delimited file and due quantitative analysis.

Discuss This Question: 1  Reply

There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when members answer or reply to this question.
  • Smooth
    I'm agree: Performance Monitor is valuable tool in the case. Before tune up you should outline performance profile for application on particular box. To figure out what counter means what in PerfMon, use its Help guide. It's pretty good explanation.
    0 pointsBadges:

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to:

To follow this tag...

There was an error processing your information. Please try again later.

Thanks! We'll email you when relevant content is added and updated.


Share this item with your network: