Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.os.linux.development.system > #491

Analysing intermitent more CPU for a process.

Newsgroups comp.os.linux.development.system
Date 2013-03-18 13:15 -0700
Message-ID <7b5d2fd5-350b-477e-aeac-9a66ec630fff@googlegroups.com> (permalink)
Subject Analysing intermitent more CPU for a process.
From kunalekawde@gmail.com

Show all headers | View raw


HI,

If this group is not the right place can someone pls guide me to correct group?

Currently I'm trying to investigate an issue of randomly more CPU(not high) consumption of random application thread, running on 2.6.21.7 windriver 2.0 64 bit.
Timing the thread for CPU, took strace which looks like(mid-snippet):
=====================
126sendto(65, "\t\0\0\0\0\0\0\0\305\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377"..., 164, 0, {sa_family=AF_INET, sin_port=htons(7701), sin_addr=inet_addr("172.18.31.1")}, 16) = 164
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAKE, 1) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = 0
futex(0x2b22b8000020, FUTEX_WAIT, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
=========================

And with more option:
Process 7622 attached - interrupt to quit
Process 7622 detached
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00 0.045077 67 676 82 futex
0.00 0.000000 0 5 write
0.00 0.000000 0 9 stat
0.00 0.000000 0 183 writev
0.00 0.000000 0 243 sendto
0.00 0.000000 0 140 msgsnd
0.00 0.000000 0 427 times
0.00 0.000000 0 183 gettid
------ ----------- ----------- --------- --------- ----------------
100.00 0.045077 1866 82 total


Application does use pthread rw locks/malloc etc.

I've verified leap second bug, seems to be present, but cant doubt fully as other processes on same card don't show comparative CPU.

Is there a way to back trace futex to specific api? OR attaching any profile runtime, excluding perf(not present)/lstrace(got to try this)?

Thanks,
~Kunal

Back to comp.os.linux.development.system | Previous | NextNext in thread | Find similar


Thread

Analysing intermitent more CPU for a process. kunalekawde@gmail.com - 2013-03-18 13:15 -0700
  Re: Analysing intermitent more CPU for a process. Jorgen Grahn <grahn+nntp@snipabacken.se> - 2013-03-19 09:02 +0000
    Re: Analysing intermitent more CPU for a process. Kunal Ekawde <kunalekawde@gmail.com> - 2013-03-19 02:32 -0700
      Re: Analysing intermitent more CPU for a process. Jorgen Grahn <grahn+nntp@snipabacken.se> - 2013-03-19 18:58 +0000

csiph-web