Marko Mäkelä kirjoitti:
On Tue, Jan 16, 2007 at 09:53:21PM +0200, Kartsa wrote:
Have you tried OProfile or strace -p <pid of vdr>, or attaching gdb to the running vdr process?
Hmm, what's OProfile? I am not quite sure if I am starting matroxfb in the right place.
OProfile is a continuous profiler for processors that contain performance counters, such as CPU_CLK_UNHALTED (which is incremented on every clock cycle when the processor is unhalted). Similar tools include DCPI on Digital UNIX and Intel VTune on Windows.
Tried with strace and got
gettimeofday({1169044896, 580954}, NULL) = 0 clock_gettime(CLOCK_REALTIME, {1169044896, 581713131}) = 0 futex(0x81dc204, FUTEX_WAIT, 6667, {0, 999240869}) = -1 ETIMEDOUT (Connection timed out) gettimeofday({1169044897, 905042}, NULL) = 0 futex(0x81dc1d8, FUTEX_WAKE, 1) = 0 time(NULL) = 1169044897 time(NULL) = 1169044897 time(NULL) = 1169044897 time(NULL) = 1169044897 time(NULL) = 1169044897 alarm(30) = 29 time(NULL) = 1169044897 time(NULL) = 1169044897 time(NULL) = 1169044897 time(NULL) = 1169044897 stat64("/srv/vdr/.update", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 time(NULL) = 1169044897 gettid() = 2600 time(NULL) = 1169044898 accept(23, 0xbfc07588, [16]) = -1 EAGAIN (Resource temporarily unavailable)
over and over again. This was with vdr's pid.
And this is oprofiler output
CPU: CPU with timer interrupt, speed 0 MHz (estimated) Profiling through timer interrupt samples % image name symbol name 9500 98.0595 anon (tgid:2600 range:0x48c000-0x48d000) (no symbols) 188 1.9405 vdr (no symbols)
And it is the same results after I restart vdr. The difference is that before restart vdr caused cpu load of 99,5% and after restart vdr caused cpu load of 1%. And this is because of the channel being a radio channel.
Oprofilers output is slightly different
CPU: CPU with timer interrupt, speed 0 MHz (estimated) Profiling through timer interrupt samples % image name symbol name 9500 96.7216 anon (tgid:2600 range:0x48c000-0x48d000) (no symbols) 313 3.1867 vdr (no symbols) 9 0.0916 anon (tgid:4479 range:0xf5a000-0xf5b000) (no symbols)
I suspended softdevice output from the settings but it made no change. Still after reboot vdr takes all cpu time. When I changed softdevice playback setting to playing from the main menu it caused restart of vdr and cpu load dropped to normal (~60%). So suspending did not help either.
I tried also plugin option -vo shm: to see the effect and this dropped cpu load of vdr to 2%. But this is ofcourse not usable
\Kartsa