[mythtv-users] mysql consuming 100% CPU - help, please
T L
tlunde at gmail.com
Fri Jul 28 02:56:02 UTC 2017
Hi Stephen -
Thanks for the suggestion. No, I don't have it set to run daily, but
I do run it periodically. Here are the last couple of invocations:
https://pastebin.com/ZJsfT5bQ
I don't see any differences before or after running it. Also, with
multiple instances of the problem across different distributions
(CentOS and Ubuntu) across different machines (on Liva X hardware, on
NUC hardware, on the current bhyve vm), I'd be surprised if this was
it.
If you see anything in that log file that I should further
investigate, or additional suggestions, I'm grateful for any pointers.
Thanks
Thomas
On Thu, Jul 27, 2017 at 6:45 PM, Stephen Worthington
<stephen_agent at jsw.gen.nz> wrote:
> On Thu, 27 Jul 2017 16:43:35 -0500, you wrote:
>
>>Hi All -
>>
>>I'm looking for advice / troubleshooting help regarding mariadb/mysqld
>>entirely consuming a CPU core and, consequently, causing recordings to
>>be missed, aborted, distorted, etc. Two example queries are at the
>>the bottom of this email message, if anyone's familiar with the code
>>to be able to spot the problem from that.
>>
>>I've been using MythTV since around 2003, starting with PVR-250 cards.
>>As of last summer, I was using a Core 2 Quad backend running Ubuntu
>>12.04 and Myth 0.26. I decided to try to be a bit more green and move
>>to a LIVA X backend and upgrade to the then new Ubuntu 16.04 and Myth
>>0.28. After the upgrade, initially all seemed fine. Starting a few
>>days after the upgrade (and persisting until I gave up on 0.28 some
>>weeks later), I'd get periodic lockups, failed recordings, etc. I
>>thought it might be a hardware problem -- maybe not enough cooling. A
>>CPU heatsink and a switch to an Intel NUC convinced me that this
>>wasn't the issue. I also ran MemTest86 on both the Liva's RAM and the
>>8GB stick in the NUC and had no errors there. Finally, I tried
>>different boot devices: built in flash on the Liva, an add-in mSATA
>>drive, a hard drive in the NUC and an SSD in the NUC. No joy. I
>>thought that it was maybe a software issue, as both 16.04 and 0.28
>>were pretty new at the time. So, by late September, with the new TV
>>season underway, I gave up and fell back to 12.04 and 0.26.
>>
>>This summer, I've tried again and I'm still hitting the 100% CPU
>>problems. Now, I've put a test CentOS vm with MythTV 0.28 on a
>>FreeBSD 11 box, giving it 2 cores and 2GB of RAM under bhyve. It's
>>sitting on a dual core Xeon 56xx series box with 24GB of RAM and ~20
>>TB of disk. When it works, it works flawlessly and only goes over 10%
>>CPU briefly, for mythcommflag. But, starting a few days after
>>installation, I hit the same problem.
>>
>>My recording hardware is a mix of SiliconDust HDHomeRun HDHR, HDHR-2,
>>HDTC-2US, and HDTC-2US-M boxes. With the CentOS install, I started
>>with the MPEG-2 recorders and I don't _think_ that I had this problem
>>until I added the HDTC boxes into the mix. I'm recording US OTA
>>signals, about 20 miles from the Twin Cities towers, at a spot in
>>Minneapolis where I use an AntennaCraft HBU22 which claims a 50 mile+
>>range. The HD Homerun software on a Windows box claims that I"m
>>getting 80% raw signal levels and has a solid green line for the
>>decoded signal strength meter, so I think that reception isn't the
>>root issue.
>>
>>There's no pattern that I can see to the channel, shows, time of day,
>>length of show, etc. that will cause a CPU spike. After a full
>>restart, I might see it on the next recording -- or not for a couple
>>of days. When I do, though, the offending query in MariaDB (on
>>CentOS) looks like the ones below (at least according to a show
>>fullprocess list;). Last fall and earlier this summer, I thought that
>>it might be this:
>>https://code.mythtv.org/trac/ticket/11011
>>but, now, I've removed MythWeb and the problem remains. (FWIW, the
>>new built-in web server is nice! Wish I could get it to default to
>>the backend status page, though...)
>>
>>I'm very open to suggestions as to where to look / what to try to
>>diagnose the problem.
>>
>>Thanks in advance for any help you can provide!
>>Thomas
>>
>>
>>
>>
>>First example query:
>>SELECT recordedmarkup.type FROM recordedmarkup WHERE
>>recordedmarkup.chanid = 1021 AND
>>recordedmarkup.starttime = '2017-07-22 16:30:00' AND
>>recordedmarkup.type >= 11 AND recordedmarkup.type <= 14
>>GROUP BY recordedmarkup.type
>>ORDER BY SUM(
>>( SELECT IFNULL
>> (rm.mark,
>> ( SELECT MAX(rmmax.mark) FROM recordedmarkup AS rmmax WHERE
>>rmmax.chanid = recordedmarkup.chanid AND rmmax.starttime =
>>recordedmarkup.starttime )
>> ) FROM recordedmarkup AS rm WHERE rm.chanid = recordedmarkup.chanid
>>AND rm.starttime = recordedmarkup.starttime AND rm.type >= 11 AND
>>rm.type <= 14 AND rm.mark > recordedmarkup.mark ORDER BY rm.mark ASC
>>LIMIT 1
>>) - recordedmarkup.mark ) DESC LIMIT 1
>>
>>Second example query:
>>SELECT recordedmarkup.type FROM recordedmarkup WHERE
>>recordedmarkup.chanid = 1024 AND
>>recordedmarkup.starttime = '2017-07-27 02:00:00' AND
>>recordedmarkup.type >= 11 AND recordedmarkup.type <= 14
>>GROUP BY recordedmarkup.type
>>ORDER BY SUM(
>> ( SELECT IFNULL
>> (rm.mark,
>> ( SELECT MAX
>> (rmmax.mark) FROM recordedmarkup AS rmmax
>> WHERE rmmax.chanid = recordedmarkup.chanid
>> AND rmmax.starttime = recordedmarkup.starttime
>> )
>> )
>> FROM recordedmarkup AS rm WHERE rm.chanid =
>> recordedmarkup.chanid AND
>> rm.starttime = recordedmarkup.starttime AND
>> rm.type >= 11 AND
>> rm.type <= 14 AND
>> rm.mark > recordedmarkup.mark
>> ORDER BY rm.mark ASC LIMIT 1
>> ) - recordedmarkup.mark
>>) DESC LIMIT 1
>
> Do you run a daily check and repair of your database
> (/etc/cron.daily/optimize_mythdb)? If not, then I would suspect that
> your database has crashed or damaged tables and that is causing the
> problems.
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://lists.mythtv.org/mailman/listinfo/mythtv-users
> http://wiki.mythtv.org/Mailing_List_etiquette
> MythTV Forums: https://forum.mythtv.org
More information about the mythtv-users
mailing list