100% Raspberry CPU consumption in Kodi when I add my remote library.
#1
I'm desperate, I have a Raspberry 3b + with two hard drives connected sharing the collection of movies and series through smb and Emby Server. In another Raspberry 3B I installed several versions of Libreelec, the 8.2.5 based on Kodi 17.6 and the 8.90.005 based on Kodi 18 Beta 2. The CPU consumption newly installed these distributions is stable, even when I install the repositories and addons that I am going to wear. The problem comes when I'm going to synchronize the contents of the hard drives of my other Raspberry 3B + with Libreelec in my Raspberry 3B. Whether I use the Emby plugin for Kodi or if I add the hard disks via smb and I scan the videos with a scraper (I've tried themoviedb, universal scraper) automatically the 4 CPU cores are set to 100% and they stay in that constant consumption. Only when I delete the collection of videos and I purge the database myvideos107 in Libreelec 8.2.5 and myvideos112 in Libreelec 8.90.005 the CPU consumption drops to 8-15%. I also tested OSMC with the same result. In these circumstances the Kodi becomes unmanageable, the addons become slow, the widgets charge slow, the movies give jerks, the audio gives jerks, etc. To rule out the problem of the Raspberry 3B I tried to change the micro SD of the 2 Raspberry (both are modern micro SD high speed) and put the Raspberry 3B + with Libreelec, but the CPU consumption was 100%. In Windows with Kodi 17.6 I had the same problem when synchronizing the collection of my Raspberry, but with Kodi 18 Beta 2 and Emby's addon I managed to keep the CPU stable, and Kodi in Windows flies in terms of speed to move through the menus, open the addons and watch the videos. I do not know what to do in the Raspberry to be able to enjoy my collection of videos without the 4 cores being 100%. Do I have to resign myself to having Libreelec unable to synchronize my video collection? To say that my collection of Videos is quite large (1978 movies and 112 Tv Shows).
Reply
#2
To receive meaningful assistance you will need to provide a full debug log.

The instructions are here... debug log (wiki)

If you are using the Basic Method, then ensure the following is applied...
1.Enable debugging in Settings>System Settings>Logging,
2.Restart Kodi
3.Replicate the problem.

If you are using the Advanced Method ensure you have correctly created and applied the advancedsettings.xml file.

In both instances, you should see the word DEBUG throughout the log.

Note: Full logs only. No partial or redacted logs
Do NOT post your logs directly into the forum. Always use a paste site like pastebin.com. Post the link to your pasted log in the forum
Reply
#3
All raspberry pi have a serious hardware design flaw - they actually have a _single_ usb port on the SoC that is shared via the builtin usb hub which provides 4 extra ports + usb NIC (network card),
thus you are limited to the bandwidth of a single USB 2.0 port shared between all your usb connected devices, in your case that's 2 hdds + nic.
The cpu load you are seeing is probably due to iowait , the kernel is waiting for the shitload (due to the size of your library) of io operations to complete.

Solution:
If you have such a huge collection don't use pi to host the library. Period.
Get a NAS/server with proper sata controller and mysql and store your collection there.
Point the pi(s) to your nas share (nfs is better for the pi),
setup a shared mysql database on the NAS, point the pi(s) to the database via advancedsettings.xml (see wiki).
Reply
#4
This is de Debug Log... during log creation the cpu was consuming 320 - 360 % (80-85% each core)

https://paste.ubuntu.com/p/wqY6dfrhgr/
Reply
#5
(2018-09-25, 15:00)asavah Wrote: All raspberry pi have a serious hardware design flaw - they actually have a _single_ usb port on the SoC that is shared via the builtin usb hub which provides 4 extra ports + usb NIC (network card),
thus you are limited to the bandwidth of a single USB 2.0 port shared between all your usb connected devices, in your case that's 2 hdds + nic.
The cpu load you are seeing is probably due to iowait , the kernel is waiting for the shitload (due to the size of your library) of io operations to complete.

Solution:
If you have such a huge collection don't use pi to host the library. Period.
Get a NAS/server with proper sata controller and mysql and store your collection there.
Point the pi(s) to your nas share (nfs is better for the pi),
setup a shared mysql database on the NAS, point the pi(s) to the database via advancedsettings.xml (see wiki).
 The Raspberry 3B+ that works as a server is connected to a USB hub, so the hard drives do not get the power of the Raspberry itself. In addition the devices that access by samba for video playback do it without problem, even Kodi 18 in Windows. I have the problem when I configure in Libreelec (Another Raspberry 3B) the library to be able to have organized the videos with their covers and all the information, which is when the CPU goes up to 360% (80-85% each Core). Until I delete the library in Libreelec and purge the database does not lower the CPU consumption, when in Windows 10 with Kodi 18 Beta 2 with the library configured in the same way does not happen to me (if I happened in Windows with Kodi 17.6).
Reply
#6
(2018-09-25, 14:48)Klojum Wrote: To receive meaningful assistance you will need to provide a full debug log.

The instructions are here... debug log (wiki)

If you are using the Basic Method, then ensure the following is applied...
1.Enable debugging in Settings>System Settings>Logging,
2.Restart Kodi
3.Replicate the problem.

If you are using the Advanced Method ensure you have correctly created and applied the advancedsettings.xml file.

In both instances, you should see the word DEBUG throughout the log.

Note: Full logs only. No partial or redacted logs
Do NOT post your logs directly into the forum. Always use a paste site like pastebin.com. Post the link to your pasted log in the forum
This is de Debug Log... during log creation the cpu was consuming 320 - 360 % (80-85% each core)

https://paste.ubuntu.com/p/wqY6dfrhgr/
Reply
#7
The log file is full of messages like:
Code:
17:06:18.505 T:1554781040 DEBUG: CAddonSettings[plugin.video.emby]: failed to find definition for setting LastIncrementalSync. Creating a setting on-the-fly...
17:06:18.505 T:1554781040 DEBUG: CSettingsManager: requested setting (SyncInstallRunDone) was not found.
17:06:18.505 T:1554781040 DEBUG: CAddonSettings[plugin.video.emby]: failed to find definition for setting SyncInstallRunDone. Creating a setting on-the-fly...
17:06:18.505 T:1554781040 DEBUG: CSettingsManager: requested setting (serverId) was not found.
17:06:18.506 T:1554781040 DEBUG: CAddonSettings[plugin.video.emby]: failed to find definition for setting serverId. Creating a setting on-the-fly...
17:06:18.506 T:1554781040 DEBUG: CSettingsManager: requested setting (token) was not found.
17:06:18.506 T:1554781040 DEBUG: CAddonSettings[plugin.video.emby]: failed to find definition for setting token. Creating a setting on-the-fly...
17:06:18.506 T:1554781040 DEBUG: CSettingsManager: requested setting (userId) was not found.
17:06:18.506 T:1554781040 DEBUG: CAddonSettings[plugin.video.emby]: failed to find definition for setting userId. Creating a setting on-the-fly...
I think you'd be better off asking in an Emby thread. Looks like a problem with the plugin.
Reply
#8
(2018-09-25, 21:03)miguelcmran Wrote: This is de Debug Log
Not a clean kodi.log file = No support

The forum moderators have determined that banned addons (wiki) are present on your system. To receive assistance here, these banned items must be removed. If a clean log is not submitted within 3 days, then the relevant post(s) will be removed after this time.
Reply
#9
Sorry for the inconvenience, I will perform a clean installation of Kodi synchronizing the library to reproduce the case and I will send the log again.
Reply
#10
(2018-09-25, 21:02)miguelcmran Wrote:
(2018-09-25, 15:00)asavah Wrote: All raspberry pi have a serious hardware design flaw - they actually have a _single_ usb port on the SoC that is shared via the builtin usb hub which provides 4 extra ports + usb NIC (network card),
thus you are limited to the bandwidth of a single USB 2.0 port shared between all your usb connected devices, in your case that's 2 hdds + nic.
The cpu load you are seeing is probably due to iowait , the kernel is waiting for the shitload (due to the size of your library) of io operations to complete.

Solution:
If you have such a huge collection don't use pi to host the library. Period.
Get a NAS/server with proper sata controller and mysql and store your collection there.
Point the pi(s) to your nas share (nfs is better for the pi),
setup a shared mysql database on the NAS, point the pi(s) to the database via advancedsettings.xml (see wiki).
 The Raspberry 3B+ that works as a server is connected to a USB hub, so the hard drives do not get the power of the Raspberry itself. In addition the devices that access by samba for video playback do it without problem, even Kodi 18 in Windows. I have the problem when I configure in Libreelec (Another Raspberry 3B) the library to be able to have organized the videos with their covers and all the information, which is when the CPU goes up to 360% (80-85% each Core). Until I delete the library in Libreelec and purge the database does not lower the CPU consumption, when in Windows 10 with Kodi 18 Beta 2 with the library configured in the same way does not happen to me (if I happened in Windows with Kodi 17.6). 
Nonsense.
Power not equal bandwidth.
You can plug you hard drives directly into a nuclear power plant if you wish, it wont give you more _bandwidth_.
I'm talking about IO bottleneck not about power shortage.
Reply
#11
You can close the post, I have already found out that the problem is due to the "script.skin.helper.services" that generates those consumptions in Raspberry with the skins that make use of it (Zephyr which is the one that I use). By disabling "script.skin.helper.services" and "Zephyr" and setting the "Estuary" skin, the CPU goes down from 360% to 30% of consumption. I have already asked the creator if there is any workaround to be able to use the "script.skin.helper.services" in Raspberry without generating those CPU consumptions. Otherwise I will have to settle for "Estuary". A greeting.
Reply

Logout Mark Read Team Forum Stats Members Help
100% Raspberry CPU consumption in Kodi when I add my remote library.0