- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
CPU usage climbs to 100% in an application using Intel MediaSDK with specific drivers / windows version.
Hi,
We have an issue with our application using IntelMediaSDK. The symptom is that after a while the application reaches 100% CPU usage and never drops (unless restarted).
We have tested on multiple CPU/IntelDriver/Windows versions here are the results of our tests:
codecs used: H264/H265
number of streams: 8
resolution of streams: 720p/1080p
Application used throughout tests has:
- media SDK version 2016.0.1
- media SDK version 2017.0.1
NOTE the application version is not affecting the outcome, it is the same behavior.
Haswell CPU's Do not have any issues with any driver we tested with.
Configurations tested and result:
Windows: Windows 10 64bit 1709
CPU: Intel Core i7-7700K
GPU: HD Graphics 630
- Driver: 22.20.16.4836 - ERROR CPU INCREASE 100%
- Driver: 21.20.16.4678 - OK
- ALL drivers in between the OK and ERROR version are also tested and have same ERROR.
Windows: Windows 10 64bit 1709
CPU: Intel Core i7-6700K
GPU: HD Graphics 630
- Driver: 22.20.16.4836 - ERROR CPU INCREASE 100%
- Driver: 21.20.16.4678 - OK
- ALL drivers in between the OK and ERROR version are also tested and have same ERROR.
Windows: Windows Server 2016 Standard version 1607
CPU: Intel Xeon E3-1515M
GPU: Iris Pro P580
- Driver: 23.20.16.4901 - ERROR CPU INCREASE 100%
- Driver: 21.20.16.4678 - OK
Windows: Windows Server 2016 Standard version 1607
CPU: Intel Xeon E3-1578L
GPU: Iris Pro P580
- Driver: 23.20.16.4901 - ERROR CPU INCREASE 100%
- Driver: 21.20.16.4678 - OK
It seems that all Skylake drivers since May have had this issue. However this can also be connected to the Windows 1709 update. we have not been able to test on a skylake machine without that update.
Please let me know if you need more information.
Kind regards,
Artur.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Arthur,
Did you try MSDK sampels on your system ?
https://software.intel.com/en-us/intel-media-server-studio/code-samples
Thanks,
Zachary
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Zachary,
Well yes have tried, however i have not tried to modify your samples to run "in a loop" as the sample only processes one file and stops, thus i can not observe the same behavior.
However the fact that our application and OS are exactly the same version on the machine and only Intel driver is changed it is fairly reasonable conclusion that only that has changed. So all points to the driver version change giving the CPU spike.
do you want me to tweak your sample code to reproduce same behavior? although it seems very likely its the driver.
Kind regards,
Artur.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Artur, can you please share tracer log from your application, so we can see what parameters are used and can try reproduce on our side.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Artem,
Here is an attachment of the tracetool without the "pre frame logging" (sctrace3.log), i have another file (with "pre frame logging") but its a 1.7 GB zipped log file(sctrace2.log) so cant attach here, you can download both files here:
http://download.milestonesys.com/FT01/Intel_1917556/
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Artem,
Do you have any news on this issue? We have many of our customers that report this problem, and the only workaround we can give them is to install the older driver. however this is not the case for all as some GPU's do not have the "older" driver that did not have this issue, so for some of them we are unable to even give a valid workaround except to disable the Intel hardware acceleration.
And please let me know if you need more information from our end.
Kind regards,
Artur.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Artur,
As I can see you are using system memory. There were issues with system memory which were fixed, but I'm not sure they are available in public drivers(I'll check and get back to you).
You can try to confirm if it is the same issue I'm thinking about.
1. Are you seeing that CPU overhead is visible immediately?
2. Can you try to set mfxInitParam::GPUCopy to MFX_GPUCOPY_OFF when passing mfxInitParam to MFXInitEx, please?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Artem,
Thank you for the reply :)
Yes we are currently using system memory.
1. Are you seeing that CPU overhead is visible immediately?
- No its it not a sudden spike, in the setup i described in the beginning it is visible that there is a leak after an hour, and if left alone it gets to 100% CPU usage.
2. Can you try to set mfxInitParam::GPUCopy to MFX_GPUCOPY_OFF when passing mfxInitParam to MFXInitEx, please?
- I can try this, but we are currently using just Init function, not InitEx - is this a recommended now to use InitEx?
I will revert with the result of setting the parameters as you suggested. And i am guessing once we also begin using the VideoMemory we should remove this flag from InitEx?
Kind regards,
Artur.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Artem,
Good news :) .. seems that minor code change did the trick, so far we have been testing for couple of days with newest Intel drivers and the ones from october (that originally triggered the issue) and it seems CPU is not rising anymore.
Can you elaborate a bit more if we move to video memory - should we set the flag to MFX_GPUCOPY_ON? Is that the logic of this parameter that system_mem is MFX_GPUCOPY_OFF and video_mem is MFX_GPUCOPY_ON?
Kind regards,
Artur.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Artur, so issue not visible because of new driver, or because of disabling GPU copy?
With video memory input you can leave GPU Copy in any state, either 0 or ON, or OFF it won't affect anything. It only affects system memory to video memory copy path, when it is video memory input - copy is not required.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Artem,
The issue was solved by the code change. we had tried with newest drivers as well before the code change, and the CPU was rising. So the only change on the same system is the code change and it seems to be the culprit :).
Ok, so once we change to video_mem we can ignore that parameter.
Thank you.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page