xbmc uses high CPU load
#1
In idle it use about 100% - 120% of my Dual Core. I use debian Squeeze, VDPAU and the last SVN Build of xbmc. What the Heck is going on with the System? Confused
Reply
#2
No Idea?!
Reply
#3
Start here please: http://forum.xbmc.org/showthread.php?tid=34655
Reply
#4
So, what do you need?! An Screenshot of my Putty Window wich shows you 150% CPU Load?

Or anything i already told?

Debian Squeeze
Lastest SVB Build xbmx
Nvidia VDPAU (with lastest driver)

Please tell me what exactly you need from me, thank you for your help.
Reply
#5
Are you serious? The link provides you with the details that are needed.

Here it is again in case it somehow disappears for you in bobo1on1's post.

http://forum.xbmc.org/showthread.php?tid=34655
42.7% of all statistics are made up on the spot

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#6
The debug log is the important bit (with debug logging turned on).
Reply
#7
(I plan on submitting a proper bug report, but this is my 10s attempt at seeing what is going on.)

I'm running xbmc live on a Zotac. Everything runs fine except for 20% CPU usage in the menus. The annoyance factor here is that when playing a movie there is almost 0% usage and the machine is dead quiet. When idle, the 20% usage kicks the fan up to an audibly annoying level. As per my disclaimer, I plan on submitting a proper bug report to help get this fixed, but my quick digging shows the usual pattern of segment of code looping as fast as possible over an error:

Code:
read(15, 0xbfdec8e0, 4112)              = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1290809982, 87098}, NULL) = 0
read(14, 0xb76f3000, 4096)              = -1 EAGAIN (Resource temporarily unavailable)
read(11, 0x934fbc8, 4096)               = -1 EAGAIN (Resource temporarily unavailable)
select(12, [11], NULL, NULL, {0, 0})    = 0 (Timeout)
clock_gettime(CLOCK_MONOTONIC, {18169, 229825310}) = 0
clock_gettime(CLOCK_MONOTONIC, {18169, 229926190}) = 0
time(NULL)                              = 1290809982
time(NULL)                              = 1290809982
time(NULL)                              = 1290809982
time(NULL)                              = 1290809982
clock_gettime(CLOCK_MONOTONIC, {18169, 231085065}) = 0
time(NULL)                              = 1290809982
time(NULL)                              = 1290809982
time(NULL)                              = 1290809982
time(NULL)                              = 1290809982
time(NULL)                              = 1290809982
read(9, "MemTotal:        1802492 kB\nMemF"..., 1024) = 1024
read(9, "    0\nHugePages_Rsvd:        0\nH"..., 1024) = 140
read(9, "", 1024)                       = 0
read(9, "", 1024)                       = 0
_llseek(9, 0, [0], SEEK_SET)            = 0
time(NULL)                              = 1290809982
clock_gettime(CLOCK_MONOTONIC, {18169, 234784941}) = 0
getpid()                                = 1431
poll([{fd=19, events=POLLIN|POLLPRI}], 1, 1000) = 1 ([{fd=19, revents=POLLIN|POLLPRI}])
ioctl(19, 0xc0104652, 0xbfded8d0)       = 0
clock_gettime(CLOCK_MONOTONIC, {18169, 245628720}) = 0
clock_gettime(CLOCK_MONOTONIC, {18169, 245734513}) = 0
clock_gettime(CLOCK_MONOTONIC, {18169, 245811352}) = 0
clock_gettime(CLOCK_MONOTONIC, {18169, 245942610}) = 0
read(15, 0xbfdec8e0, 4112)              = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1290809982, 103889}, NULL) = 0
read(14, 0xb76f3000, 4096)              = -1 EAGAIN (Resource temporarily unavailable)
read(11, 0x934fbc8, 4096)               = -1 EAGAIN (Resource temporarily unavailable)

An lsof on the fd's yields
Code:
xbmc.bin 1431 marc   11u  unix 0xf549a000      0t0       6013 socket
xbmc.bin 1431 marc   12u  unix 0xf549a400      0t0       6015 socket
xbmc.bin 1431 marc   13u  unix 0xf664be00      0t0       6031 socket
xbmc.bin 1431 marc   14u  unix 0xf60a2e00      0t0       6037 socket
xbmc.bin 1431 marc   15r   DIR       0,10        0          1 inotify

Since the reads are against 11, 14 (sockets) and 15 (inotify) it makes me think that xbmc is polling a service that is unavailable. In the inotify case, I'm not even sure if it's enabled in the Kernel. I haven't checked (via my hasty report combined with the freshness of the hardware/install).

I'll put some more effort into helping debug this Real Soon Now.

Enjoying the software so far though! :-)

Update:

Not much info on the unix domain socket fd's 11&14:

$ head -1 /proc/net/unix
Num RefCount Protocol Flags Type St Inode Path

$ cat /proc/net/unix | egrep "f549a000|f60a2e00"
f60a2e00: 00000003 00000000 00000000 0001 03 6037
f549a000: 00000003 00000000 00000000 0001 03 6013
Reply

Logout Mark Read Team Forum Stats Members Help
xbmc uses high CPU load0