1

I'm having exactly the same problem described here:

timer_create() : -1 EAGAIN (Resource temporarily unavailable)

in short, some process is reserving a lot of timers via timer_create but never release them. What I cannot figure out is how to determine the process affected by the leak in our production environment.

How could I know what process is the bad one, without randomly killing all the running stuff?

Any /proc/`pidof myprocess`/ debug info that tell me how many timers are reserved?

Thank you in advance!

Community
  • 1
  • 1
Umberto
  • 75
  • 2
  • 6

1 Answers1

2

Why yes, actually. Use the stap tool to trace system calls and determine which calls processes make most often.

The SystemTap Beginners Guide is a good resource. In particular, see the script on this page for an example of counting specific system calls per process.

nneonneo
  • 171,345
  • 36
  • 312
  • 383
  • Even if not exactly what i was looking for this tool looks fantastic, and it will help for sure! Thank you! – Umberto Sep 27 '12 at 10:11