none
High CPU and memory usage on server

    Question

  • Hi

    I am running Windows 2008 Server in my IT Dept.

    Occasionally, I have problems where there is high CPU usage and/or high memory usage on some servers.

    It would be good to troubleshoot this rather than keep rebooting the servers :-)

    Questions -

    1. What is the best way to measure RAM usage (task manager, Perfmon etc?...if so, what counter/value?

    2. With CPU usage, I guess I can use Task Manager to find out which process is taking up CPU, how can I find out which process is taking up RAM?

    3. Are there any good MS tools to use that will pinpoint what app is causing the problems or, more correctly, what process of whch app?
    Wednesday, January 12, 2011 8:28 PM

Answers

  • What is running on the server? This may be normal, expected behavior for thinks like Exchange and or SQL Server. When other apps require cpu/mem they should release it.

     

     

     


    Regards, Dave Patrick ....
    Microsoft Certified Professional
    Microsoft MVP [Windows]
    Thursday, January 13, 2011 4:29 AM
  • in task manager, you can go to view - select columns, there you can add memory to be shown on the process tab. that gives you a idea which process takes roughly what.

    to monitor eg a process's memory consumption over a given time, you can use perfmon, memory section. there you can select a process and see eg private memory, how it behaves over a longer timeframe (check the description checkbox to get an idea which memory counter are what).

    if you want more detailed cpu usage, you can give process explorer a go, a tool on www.sysinternals.com

    Thursday, January 13, 2011 9:35 AM
  • hmm, "mem usage" sounds like w2k3/xp task manager, i beleive that was what is in 2008 "memory - working set". the working set is all memory used by a process, so thats suitable, but it can contain memory of shared components as well.

    if you open the performance monitor and add a counter, in the memory section you have the entry "Process" and as a subpoint "Private Bytes" in the box below you can select an instance, that box will list your processes (the process is what is referenced as instance).

    physical memory is the amount you have installed as ram modules. kernel memory refers to the memory reserved/used by the windows kernel. that memory is for example used by drivers (as a general idea)

    Thursday, January 13, 2011 11:55 PM
  • Hello Joe,

    The kernel memory in the task manager is a part of the total memory available in a computer that is blocked off for the operating system's processes. The total memory consists of the RAM (random-access memory) and the virtual memory. The "Paged" under kernel memory in the task manager refers to the part of the virtual memory that is dedicated to the kernel, while the "Nonpaged" refers to the dedicated kernel memory in RAM. The value for "Paged" and "Nonpaged" varies because some kernel processes are moved from the RAM to the virtual memory and vice versa.

    The following articles might be helpful to you:

    Introduction to the new Sysinternals tool: RAMMap
    http://blogs.technet.com/b/askperf/archive/2010/08/13/introduction-to-the-new-sysinternals-tool-rammap.aspx

    Troubleshooting High CPU Utilization
    http://technet.microsoft.com/en-us/library/bb742546.aspx

    Brent


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. ”

    Friday, January 14, 2011 7:02 AM

All replies

  • What is running on the server? This may be normal, expected behavior for thinks like Exchange and or SQL Server. When other apps require cpu/mem they should release it.

     

     

     


    Regards, Dave Patrick ....
    Microsoft Certified Professional
    Microsoft MVP [Windows]
    Thursday, January 13, 2011 4:29 AM
  • in task manager, you can go to view - select columns, there you can add memory to be shown on the process tab. that gives you a idea which process takes roughly what.

    to monitor eg a process's memory consumption over a given time, you can use perfmon, memory section. there you can select a process and see eg private memory, how it behaves over a longer timeframe (check the description checkbox to get an idea which memory counter are what).

    if you want more detailed cpu usage, you can give process explorer a go, a tool on www.sysinternals.com

    Thursday, January 13, 2011 9:35 AM
  • Thanks FZB.

    > in task manager, you can go to view - select columns, there you can add memory to be shown on the process tab. that gives you a idea which process takes roughly what.

    I have Mem Usage already as a column in Task Manager....is this suitable? Does this refer to RAM or virtual memory?

    > to monitor eg a process's memory consumption over a given time, you can use perfmon, memory section. there you can select a process and see eg private memory, how it behaves over a longer timeframe (check the description checkbox to get an idea which memory counter are what).

    I'm not sure how to select a process within Perfmon?

    One final question, in Task Manager > Performance, I have Physical Memory and Kernel Memory. I guess Physical Memory refers to RAM, but what does Kernal memory refer to?

    Thursday, January 13, 2011 7:18 PM
  • hmm, "mem usage" sounds like w2k3/xp task manager, i beleive that was what is in 2008 "memory - working set". the working set is all memory used by a process, so thats suitable, but it can contain memory of shared components as well.

    if you open the performance monitor and add a counter, in the memory section you have the entry "Process" and as a subpoint "Private Bytes" in the box below you can select an instance, that box will list your processes (the process is what is referenced as instance).

    physical memory is the amount you have installed as ram modules. kernel memory refers to the memory reserved/used by the windows kernel. that memory is for example used by drivers (as a general idea)

    Thursday, January 13, 2011 11:55 PM
  • Hello Joe,

    The kernel memory in the task manager is a part of the total memory available in a computer that is blocked off for the operating system's processes. The total memory consists of the RAM (random-access memory) and the virtual memory. The "Paged" under kernel memory in the task manager refers to the part of the virtual memory that is dedicated to the kernel, while the "Nonpaged" refers to the dedicated kernel memory in RAM. The value for "Paged" and "Nonpaged" varies because some kernel processes are moved from the RAM to the virtual memory and vice versa.

    The following articles might be helpful to you:

    Introduction to the new Sysinternals tool: RAMMap
    http://blogs.technet.com/b/askperf/archive/2010/08/13/introduction-to-the-new-sysinternals-tool-rammap.aspx

    Troubleshooting High CPU Utilization
    http://technet.microsoft.com/en-us/library/bb742546.aspx

    Brent


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. ”

    Friday, January 14, 2011 7:02 AM