Networking
cancel
Showing results for 
Search instead for 
Did you mean: 

CPU usage is 100% when _close_sys() call is made

SOLVED
Go to solution
wilson vivek
Occasional Advisor

CPU usage is 100% when _close_sys() call is made

Hi HP Support,

CPU spike is seen (90% for a 2 CPU HPUX ia64 11.23) when we make a close() socket call for a connection that is closed from the client end. Here is the stack frame for the thread that is hogging the CPU.

0: c00000000031f2f0 : _close_sys() + 0x30 (/usr/lib/hpux64/libc.so.1)
1: c00000000032f8c0 : close() + 0xa0 (/usr/lib/hpux64/libc.so.1)
2: c0000000484b3140 : _ZN6ACE_OS11closesocketEi() + 0x40 (/home/nparama1/IS_1118954721_benz_8.6.1.EE_64/8.6.1.EE/server/bin/libACE.sl)
3: c0000000484b3040 : _ZN8ACE_SOCK5closeEv() + 0x60 (/home/nparama1/IS_1118954721_benz_8.6.1.EE_64/8.6.1.EE/server/bin/libACE.sl)
We also found a posting in Google regarding the same behavior (http://www.unix.com/302086144-post1.html) but could not find any answers for this.
Can you please give pointers to resolve this.

Thank You
Wilson
Informatica Technical Support
12 REPLIES
Dennis Handly
Acclaimed Contributor

Re: CPU usage is 100% when _close_sys() call is made

>Hi HP Support,

This isn't an official support channel. You'll need to contact the Response Center.

>Can you please give pointers to resolve this.

Perhaps the kernel is flushing buffers or something?
Are you update on patches?
wilson vivek
Occasional Advisor

Re: CPU usage is 100% when _close_sys() call is made

Well, The patches aren't up-to-date

What we have is

BUNDLE11i B.11.23.0409.3 Required Patch Bundle for HP-UX 11i v2 (B.11.23), September 2004

Should i ask my admin to update to

BUNDLE11i (B.11.23.0409.3)

Thank You for your help
Wilson
wilson vivek
Occasional Advisor

Re: CPU usage is 100% when _close_sys() call is made

Also can you let me know if there is any specific patch you are looking for? Please let me know.

Thank You
Wilson
Dennis Handly
Acclaimed Contributor

Re: CPU usage is 100% when _close_sys() call is made

>Should I ask my admin to update to BUNDLE11i (B.11.23.0409.3)

I don't see how that would be better since it is the same. Why not try the latest, Dec '09 (11.23 Support Pack)?
http://www.itrc.hp.com/service/patch/releaseIndexPage.do

>can you let me know if there is any specific patch you are looking for?

A hang or loop on close?
Possibly: PHNE_36575:
QX:QXCR1000587628 CR:JAGag42702 SR:8606490242
Close operations on streams-based pipes appear to be hung in _csq_acquire() with the following stack trace and does not make forward progress.
wilson vivek
Occasional Advisor

Re: CPU usage is 100% when _close_sys() call is made

Hi,
This patch did not help in resolving the issue.
Here is the summary of the actual problem that has been reported.
We have a server running on HPUX and a client connection is made from a windows box.
Now when I remove the client machine from the network and the server code has a logic to wait for reconnection for a specified timeout (3 Minutes) and then tries to close the connection.
This is when we are seeing the CPU Spike and the stack shows the function calls.
Further, when I look into the netstat -a output, I could see that the connection from the client are marked as ESTABLISHED even after 7 Minutes from the disconnect. This is the period when we are seeing the CPU Spike.
Further once the connection is closed after 8 minutes (+ 3 Minutes for the application to detect a broken connection) , the CPU utilization is brought down.
Can you help with this?
Thank You
Wilson
Dennis Handly
Acclaimed Contributor

Re: CPU usage is 100% when _close_sys() call is made

>This patch did not help in resolving the issue.

You could try a patch assessment:
http://www.itrc.hp.com/service/patch/assessSystemsPage.do
wilson vivek
Occasional Advisor

Re: CPU usage is 100% when _close_sys() call is made

Hi,

Do you think we can tweak any of the tcp parameters so that the OS Detects the connection failure soon?

Thank You
Wilson
wilson vivek
Occasional Advisor

Re: CPU usage is 100% when _close_sys() call is made

Hi,

Attached is the patch assesment.

-Wilson
Dennis Handly
Acclaimed Contributor

Re: CPU usage is 100% when _close_sys() call is made

>Do you think we can tweak any of the tcp parameters so that the OS Detects the connection failure soon?

Rick, a network expert would know more.

>Attached is the patch assessment.

You didn't do: step 3. run the assessment and view patch recommendations ?

It basically recommends QPK1123(B.11.23.0912.082) and 6 others.

You have an unofficial patch UNOF_JAGAF30549_1 that seems fixed in PHKL_37725.
Laurent Menase
Honored Contributor
Solution

Re: CPU usage is 100% when _close_sys() call is made

Again for that type of question you should contact hp support which would for sure tell you quick what it is about.

Now what you describe looks like the identified problem when using lingering close with socket caching enabled.
if you want to avoid it, disable socket caching, or don't use lingering close, or, install ARPA xport patch.
wilson vivek
Occasional Advisor

Re: CPU usage is 100% when _close_sys() call is made

Hi Laurent,

Thank you for providing this details.
The issue is resolved once we disabled the socket caching.
Further, can you please let me know if the ARPA xport patch is PHNE_35729 so that we can verify this too.

Thank you for your help
Wilson
Laurent Menase
Honored Contributor

Re: CPU usage is 100% when _close_sys() call is made

I thought you talk about 11.23:D
PHNE_39387

But why ask this on a forum, when it is typically a support question?