100% CPU usage on userver process while connetionstate is close_wait

Author: afz_guc@rdv25772.dds.nl (rdv25772)

I am experience the following problem. We are running a userver process which connects to a web service to get some data to be used in our application. We experience sometimes that this userver process runs on 100% CPU usage. When we check the executable with sysinternals Process Explorer (on the TCP/IP tab), it seems that the connection to the web service is in a close_wait state. I do believe that the process should automatically stop after an amount of time due to a time-out. Only the userver process does not stop even after more than a day. Once the process was running over three days. Does anyone know how to correct this if possible? Is there any assignment statement for setting the time-out? Or is there an other way to solve this or prevent it to be happend?   I have found some info about close_wait: CLOSE_WAIT Indicates that the server has received the first FIN signal from the client and the connection is in the process of being closed So this essentially means that his is a state where socket is waiting for the application to execute close() A socket can be in CLOSE_WAIT state indefinitely until the application closes it. Faulty scenarios would be like filedescriptor leak, server not being execute close() on socket leading to pile up of close_wait sockets and the page behind the link http://support.microsoft.com/kb/137984

1 Comment

  1. USYS$SOP_PARAMS cto=30000 rto=3600000   Connection time out after 30 secs (default), entire timeout after 3600 seconds, we had processes locking up on customer sites a lot (customer uniface calling our uniface) and this has 'solved' the problem (we had to trap the -ve status in the web service call and then re-run the code).    Iain

    Author: Iain Sharp (i.sharp@pcisystems.co.uk)