0

On a Ubuntu 12.04 system, I'm running redis. Our monitoring looks at the redis process and grabs cpu utilization out of /proc/pid/stats. Great.

For tens of seconds, this number does not increase at all, then it suddenly catches up and increments by thousands. It continues to be burst in this way.

During the time it is not incrementing, redis is highly responsive and reports having completed hundreds of operations. So clearly it is getting scheduled and running.

(update: For us, it appears to be happening only on our Ubuntu 3.13.0-48 systems. Systems at kernel 3.5.x which are running similar services are not experiencing this issue).

What does it mean when the utilization (both user and sys) act this way? Is there anything that can be set to correct it?

Eric Horne
  • 81
  • 6

1 Answers1

1

I assume you're looking at one of the entries in stat that includes CPU time used by child processes. If so the note in the times(2) man page explains this ...

Times for terminated children (and their descendants) are added in at the moment wait(2) or waitpid(2) returns their process ID.

Paul Haldane
  • 4,457
  • 1
  • 20
  • 31
  • Thanks for looking! I am looking at the utime and stime parameters. The cutime and cstime are always zero and never increment. – Eric Horne Jul 16 '15 at 22:54