Kodi Community Forum

Full Version: Strange CPU usage behavior
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Ok, this is a very strange problem I'm having lately, and I can find 0 help on the forums or Google. Hopefully someone has some insight as to what is going on. First, some quick system info:

AMD Phenom II x2
ATI Radeon HD 5770 using Catalyst drivers
Linux Mint 14 (Nadia)
XMBC Frodo

Now on to the crux of the matter... I tend to put my system to sleep every night using 'sudo pm-suspend'. When the system is resumed and XBMC is started, there is a constant fluctuation in CPU usage and corresponding fan speed cycles. The CPU and fan fluctuations only occur when XBMC is running, and the process using the CPU has been confirmed to be xbmc.bin. The issue doesn't seem to occur if the system is rebooted, only after it has been resumed from suspend. Has anyone else experienced anything like this, or am I just special? For the record, I have used at least 6 different Catalyst driver versions, and am currently running the bleeding edge version from the makson96 repository, but haven't noticed any difference. I bring this up, because the FOSS ATI drivers don't seem to have the same problem, but other apps needed the Catalyst drivers, so I stuck with those.
Could be AMD's "Cool n quiet" feature that is acting up after resuming, could be due to buggy ACPI or something. Try disabling it from BIOS and see if it helps. I have a Phenom X3 705e and I've had to turn that feature off just to get full performance out of the CPU when I want to play some games (it's weird).
Just tried it, and still getting the same thing after suspend/resume. Watching the output from 'top' I see the CPU usage cycling between 40 and 70 percent for the xbmc.bin process. Also, it doesn't seem to affect the playback, but it's seriously annoying when the system is sitting idle, such as when I'm using the system in the other room to watch a movie or something hosted on this system. I'm completely stumped.
Ok, here's another weird symptom I just found since I can't stop thinking about it. While watching a video, the sustained CPU usage is only around 5% for xbmc.bin with nearly no fluctuation. Thus, the CPU usage fluctuation is only at idle when nothing is happening in the program. Does anyone have any idea what happens when the program is just sitting at the home screen that could be eating CPU cycles like that?
(2013-03-05, 05:03)aaronius Wrote: [ -> ]Ok, here's another weird symptom I just found since I can't stop thinking about it. While watching a video, the sustained CPU usage is only around 5% for xbmc.bin with nearly no fluctuation. Thus, the CPU usage fluctuation is only at idle when nothing is happening in the program. Does anyone have any idea what happens when the program is just sitting at the home screen that could be eating CPU cycles like that?

Have you fiddled with the dirty region settings? Look it up in the wiki page for advancedsettings.xml, perhaps it would make a difference. It is my experience too that XBMC uses more CPU when idling than when playing movies.
If it is fglrx 13.1 or 13.2 beta - this behaviour is expected, cause AMD has fucked up Vertical Blank Sync :-)
(2013-03-05, 09:40)negge Wrote: [ -> ]Have you fiddled with the dirty region settings? Look it up in the wiki page for advancedsettings.xml, perhaps it would make a difference. It is my experience too that XBMC uses more CPU when idling than when playing movies.

I haven't done that, but will give it a shot here in a while.

(2013-03-05, 14:39)fritsch Wrote: [ -> ]If it is fglrx 13.1 or 13.2 beta - this behaviour is expected, cause AMD has fucked up Vertical Blank Sync :-)

I can totally see that being the issue. Why can't AMD provide passable Linux drivers like nVidiaHuh And I just looked, and it appears that I'm running 12.10.5, per dmesg. The whole issue isn't serious at all, since the system is still working, but it sure is annoying.
(2013-03-05, 14:39)fritsch Wrote: [ -> ]If it is fglrx 13.1 or 13.2 beta - this behaviour is expected, cause AMD has fucked up Vertical Blank Sync :-)

I use catalyst 13.3 beta2 which is most recent version available for Gentoo and I have no issue with 100% cpu usage with any other app besides XBMC once I enable Vsync to always ON in amdcccle

My XBMC is configured as follows in guisettings.xml

<videoscreen>
<guicalibration></guicalibration>
<limitedrange>false</limitedrange>
<monitor>DFP1</monitor>
<resolution>55</resolution>
<screen>0</screen>
<screenmode>DESKTOP</screenmode>
<testpattern></testpattern>
<vsync>2</vsync>
</videoscreen>


I tried every possible setting using advancedsettings.xml

<gui>
<algorithmdirtyregions>1</algorithmdirtyregions>
<visualizedirtyregions>false</visualizedirtyregions>
<nofliptimeout>0</nofliptimeout>
</gui>

and disabling RSS Reader

<lookandfeel>
<enablerssfeeds>false</enablerssfeeds>
</lookandfeel>

but 1 core always remains at 100% Cpu usage with my AMD E-350 / HD 6310 graphics Sad Any ideas what else may I need to change or which Catalyst version is know to work correclty?
12.10 is the latest working for xorg 1.12
12.9quantal edition was the last one for xorg 1.13
Code:
<algorithmdirtyregions>1</algorithmdirtyregions>
This is always bad, change it to 3 - see the wiki for explanation. You don't want to stress the bad AMD driver to hell, won't you?
I have confirmed that downgrading to the ati-drivers-12.9 fixes the issue. THANKS!

Tested and working with kernel 3.8.3 and xorg-server 1.13.3

I have created Gentoo BUG regarding this issue that includes an EBUILD which one might use if they use XBMC and Gentoo and ATI card Big Grin

(2013-03-21, 19:17)fritsch Wrote: [ -> ]This is always bad, change it to 3 - see the wiki for explanation. You don't want to stress the bad AMD driver to hell, won't you?
Well I read it several times and in the end I placed there 1 as many guides explained that it should bring down cpu usage the most from all of the options present.

BTW do I still need to change it once I installed 12.9 wihch is working right?
It should bring down CPU usage ... but it is not safe. The only safe method is 3 (again see the wiki).