none
W3WP.exe using 100% CPU RRS feed

  • Question

  • Hi everyone -

     

    we've been seeing a recurring issue (onve a week) in our Sharepoint environment. Our IIS server (see specs below) usually runs at about 5% total CPU utilization the entire day. Sometimes - usually mid-day - we see the server spiking to 100% CPU utilization, showing that three w3wp.exe processes are using up the entire CPU resources (Memory usage for those processes remains the same at about 200MB each). The server then becomes unresponsive requiring us to hard reboot. Occassionally, it may resolve itself without a reboot after about 10 - 15 minutes or utilization may temporarily drop enough for us to log-in remotely and reset IIS, fixing the issue.

     

    It's difficult to determine the root cause for this one. Nothing specific in the event logs at all (i.e. connection to DBs seems fine). We've tried tracing long-running DB queries but it's hard to determine whether they are a cause or a result. We have our monitoring groups and Microsoft Premier engaged who really don't know what is going on. Any assistance would be appreciated.

     

    Thanks!

     

    Specs:

     

    WSS/SPS 2.0 SP2

     

    1 x IIS Server:

    Windows 2003, SP1

    4 x Intel Xeon 2.2 GHz

    9GB RAM

    Running indexing and search

     

    2 x SQL Servers:

    Server 2003, SP1

    SQL 2000 Enterprise SP4

    21 Content Databases between the two servers. Each content DB is <10GB, except one which is 170GB (was our first one)

     

    Wednesday, November 14, 2007 7:46 PM

All replies

  •  

    Download the "debug diagnostics" tool from Microsoft's support site. That tool will give you nice error reporting when you have it set to monitor the SharePoint w3wp.exe process.
    Friday, November 16, 2007 5:00 PM
  • We had something similar happen to us.. no idea if this is what is affecting you, but I thought I'd share it here.

     

    We were finding that at about 1pm (on most days), the CPU went to 80-90% and when we went to the event logs, we saw that the app pool was recycyling every minute. This caused very poor performance, as the first time you try to hit the site after a recycle, its very slow.

     

    The server had 8 gig of RAM was it was confusing.

     

    Turns out that the app pool was set to automatically recycle when it started using about 800 meg of memory (its a setting on the properties on the app pool).

     

    So about mid day (after people got back from lunch and everyone from offices all over the country were in the office and working), it was needing more memory to handle the requests. But when it got to 800 meg, it was recycling (as it was told to do).

     

    We removed that "checkbox" on the properties and let it handle the recycling by itself and the problems went away.

     

    FYI.

     

    Saturday, November 17, 2007 7:59 PM
  •  jdb_1715 wrote:

    We had something similar happen to us.. no idea if this is what is affecting you, but I thought I'd share it here.

     

    We were finding that at about 1pm (on most days), the CPU went to 80-90% and when we went to the event logs, we saw that the app pool was recycyling every minute. This caused very poor performance, as the first time you try to hit the site after a recycle, its very slow.

     

    The server had 8 gig of RAM was it was confusing.

     

    Turns out that the app pool was set to automatically recycle when it started using about 800 meg of memory (its a setting on the properties on the app pool).

     

    So about mid day (after people got back from lunch and everyone from offices all over the country were in the office and working), it was needing more memory to handle the requests. But when it got to 800 meg, it was recycling (as it was told to do).

     

    We removed that "checkbox" on the properties and let it handle the recycling by itself and the problems went away.

     

    FYI.

     

     

    Yeah, we're not using the mem recycling in the AppPools. Ironically enough, we are using the limit CPU utilization setting but the processes aren't shutting down when they reach the defined max utilization of 40%. Thanks for the feedback though.

    Monday, November 19, 2007 7:48 PM
  •  NETDEV wrote:

     

    Download the "debug diagnostics" tool from Microsoft's support site. That tool will give you nice error reporting when you have it set to monitor the SharePoint w3wp.exe process.

     

    Thanks. Checking this out.

    Monday, November 19, 2007 7:49 PM
  • I have the similiar problem and my report are:

    Thread 20 - System ID 5920

    Entry point   msvcrt!_endthreadex+2f
    Create time   3/4/2009 7:44:40 AM
    Time spent in user mode   0 Days 00:23:47.968
    Time spent in kernel mode   0 Days 01:14:14.390


    This thread is making a database operation using ADO.

    The call to MSADO15!CERRORLOOKUP::GETERRORDESCRIPTION originated from oledb32!CImpIErrorInfo::GetSource+9f

    Function   Source
    ntdll!KiFastSystemCallRet   
    ntdll!NtQueryDefaultUILanguage+c   
    ntdll!GetUILangID+2d   
    ntdll!LdrpSearchResourceSection_U+186   
    ntdll!LdrFindResource_U+18   
    kernel32!FindResourceExW+65   
    user32!LoadStringOrError+31   
    user32!LoadStringW+18   
    msado15!FetchInfo+ba   
    msado15!CErrorLookup::GetErrorDescription+20   
    oledb32!CImpIErrorInfo::GetSource+9f   
    msado15!CContext::FailedInvoke+9f   
    msado15!CFieldsDispatch::Invoke+27b   
    vbscript!IDispatchInvoke2+b2   
    vbscript!IDispatchInvoke+59   
    vbscript!InvokeDispatch+13a   
    vbscript!InvokeByName+42   
    vbscript!CScriptRuntime::RunNoEH+22b2   
    vbscript!CScriptRuntime::Run+62   
    vbscript!CScriptEntryPoint::Call+51   
    vbscript!CSession::Execute+b4   
    vbscript!COleScript::ExecutePendingScripts+144   
    vbscript!COleScript::SetScriptState+14d   
    asp!CActiveScriptEngine::TryCall+19   
    asp!CActiveScriptEngine::Call+31   
    asp!CallScriptFunctionOfEngine+5b   
    asp!ExecuteRequest+17e   
    asp!Execute+24c   
    asp!CHitObj::ViperAsyncCallback+3f0   
    asp!CViperAsyncRequest::OnCall+92   
    comsvcs!CSTAActivityWork::STAActivityWorkHelper+32   
    ole32!EnterForCallback+c4   
    ole32!SwitchForCallback+1a3   
    ole32!PerformCallback+54   
    ole32!CObjectContext::InternalContextCallback+159   
    ole32!CObjectContext::DoCallback+1c   
    comsvcs!CSTAActivityWork::DoWork+12d   
    comsvcs!CSTAThread::DoWork+18   
    comsvcs!CSTAThread::ProcessQueueWork+37   
    comsvcs!CSTAThread::WorkerLoop+190   
    msvcrt!_endthreadex+a3   
    kernel32!BaseThreadStart+34

    Thread 51 - System ID 4764

    Entry point   msvcrt!_endthreadex+2f
    Create time   3/4/2009 10:10:29 AM
    Time spent in user mode   0 Days 00:00:22.812
    Time spent in kernel mode   0 Days 00:00:44.937


    This thread is making a database operation using ADO.

    The call to MSADO15!CERRORLOOKUP::GETHELPINFO originated from oledb32!CImpIErrorInfo::GetHelpContext+98

    Function   Source
    ntdll!KiFastSystemCallRet   
    ntdll!NtQueryDefaultUILanguage+c   
    ntdll!GetUILangID+2d   
    ntdll!LdrAlternateResourcesEnabled+5   
    ntdll!LdrLoadAlternateResourceModule+5a   
    ntdll!LdrpSearchResourceSection_U+200   
    ntdll!LdrFindResource_U+18   
    kernel32!FindResourceExW+65   
    user32!LoadStringOrError+31   
    user32!LoadStringW+18   
    msado15!FetchInfo+ba   
    msado15!CErrorLookup::GetHelpInfo+1e   
    oledb32!CImpIErrorInfo::GetHelpContext+98   
    msado15!CContext::FailedInvoke+92   
    msado15!CRecordset::Invoke+832   
    vbscript!IDispatchInvoke2+b2   
    vbscript!IDispatchInvoke+59   
    vbscript!InvokeDispatch+13a   
    vbscript!InvokeByName+42   
    vbscript!CScriptRuntime::RunNoEH+234c   
    vbscript!CScriptRuntime::Run+62   
    vbscript!CScriptEntryPoint::Call+51   
    vbscript!CSession::Execute+b4   
    vbscript!COleScript::ExecutePendingScripts+144   
    vbscript!COleScript::SetScriptState+14d   
    asp!CActiveScriptEngine::TryCall+19   
    asp!CActiveScriptEngine::Call+31   
    asp!CallScriptFunctionOfEngine+5b   
    asp!ExecuteRequest+17e   
    asp!Execute+24c   
    asp!CHitObj::ViperAsyncCallback+3f0   
    asp!CViperAsyncRequest::OnCall+92   
    comsvcs!CSTAActivityWork::STAActivityWorkHelper+32   
    ole32!EnterForCallback+c4   
    ole32!SwitchForCallback+1a3   
    ole32!PerformCallback+54   
    ole32!CObjectContext::InternalContextCallback+159   
    ole32!CObjectContext::DoCallback+1c   
    comsvcs!CSTAActivityWork::DoWork+12d   
    comsvcs!CSTAThread::DoWork+18   
    comsvcs!CSTAThread::ProcessQueueWork+37   
    comsvcs!CSTAThread::WorkerLoop+190   
    msvcrt!_endthreadex+a3   
    kernel32!BaseThreadStart+34


    How i found the root problem?
    Thursday, March 5, 2009 12:15 AM
  • Did someone solve this problem?

    I have the same error and couldn't fix.

    tks a lot!

    Monday, November 1, 2010 6:45 PM
  • Try out Process Explorer (http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx). Look for thread and context switches.

     


    Sameer Dhoot
    My Blog : http://sharemypoint.in/

    Did I answer your question? If YES, Mark as Answer. If NO, reply with details to continue dialogue.

    Tuesday, November 2, 2010 1:24 AM