[mythtv-users] Cannot max out CPU usage on HLS transcode

Jim Downie Jim.Downie at sigmaseven.co.uk
Mon Oct 15 14:49:16 UTC 2012


> On 10/15/2012 03:12, Jim Downie wrote:
> > only 6 threads seem to be using the CPU - the rest sit at 0%

> That's because you only have six cores, and your CPU is running at 100% load. Ignore the hyperthreading hiding behind the curtain, feeding you bad statistics.


Nope - that's not it.

I have disabled hyper threading (so only 6 cores available to Ubuntu 12.04) and am monitoring the performance through i7z.


What this shows is that the CPU core frequencies predominantly stay low during HLS transcode (it can go up to 4.1GHz) and the thermal monitors show 40 degrees C (5 degree rise from no load) - it looks like it is using 30% of the available cpu's .


When I run handbreak to transcode a video the frequency goes to the set limit (4.1GHz) and I see the thermal monitor hit 61 degrees C (I'm OK with that).


There also seems to be a limit on HTTPLiveStreamThreads - tried setting it to 99 (didn't see number of threads expected) - believe limit is 9.


See below process table during single HLS transcode (HTTPLiveStreamThreads set at 3)

downiej at masterbackend:/data$ ps -eLf | grep trans
mythtv    6756  2405  6756  0    1 15:33 ?        00:00:00 sh -c /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6757 33   19 15:33 ?        00:00:21 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6758  0   19 15:33 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6759  0   19 15:33 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6760  0   19 15:33 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6761  0   19 15:33 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6763  0   19 15:33 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6764  0   19 15:33 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6765  0   19 15:33 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6767  0   19 15:33 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6768  0   19 15:33 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6769 28   19 15:33 ?        00:00:17 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6770 28   19 15:33 ?        00:00:17 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6771 27   19 15:33 ?        00:00:17 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6772  0   19 15:33 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6773  0   19 15:33 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6774  0   19 15:33 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6775  0   19 15:33 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6776 40   19 15:33 ?        00:00:25 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7
mythtv    6757  6756  6777  0   19 15:33 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 342 --verbose general --loglevel info --syslog local7


Same transcode with HTTPLiveStreamThreads set at 6 (cpu core got to 42 degrees).

downiej at masterbackend:/data$ ps -eLf | grep trans
mythtv    6810  2405  6810  0    1 15:38 ?        00:00:00 sh -c /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6811 38   22 15:38 ?        00:00:10 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6812  0   22 15:38 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6813  0   22 15:38 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6814  0   22 15:38 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6815  0   22 15:38 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6817  0   22 15:38 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6818  0   22 15:38 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6819  0   22 15:38 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6821  0   22 15:38 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6822  0   22 15:38 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6823 13   22 15:38 ?        00:00:03 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6824 13   22 15:38 ?        00:00:03 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6825 14   22 15:38 ?        00:00:03 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6826 14   22 15:38 ?        00:00:03 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6827 13   22 15:38 ?        00:00:03 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6828 14   22 15:38 ?        00:00:03 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6829  0   22 15:38 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6830  0   22 15:38 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6831  0   22 15:38 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6832  0   22 15:38 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6833 47   22 15:38 ?        00:00:12 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7
mythtv    6811  6810  6834  1   22 15:38 ?        00:00:00 /usr/bin/mythtranscode --hls --hlsstreamid 343 --verbose general --loglevel info --syslog local7



More information about the mythtv-users mailing list