Electron CPU performance on Windows Server 2012 R2


#1

I am in the process of developing an electron app and one of the intended target OSes is Windows Server 2012 R2.

I am packaging/building the application using electron-builder and this resultant package / installer works fine on a Windows 7, Windows 8, Windows 10 machine - however, when I deploy to Windows Server 2012 the application predominantly has what appears to be a run away CPU spike where the CPU usage rises to 99%+ and remains there.

I haven’t been able to isolate the cause of this and have tried various build options. I am deploying a dev version that opens the dev console and on occasions when the CPU usage is ‘locked’ in the 100% state, simply closing the dev tools bring the CPU usage back down again.

That said, even moving the mouse over elements in the application to trigger simple tooltips and the like result in huge CPU spikes (40-65%). I should add that the application is developed using AngularJS and so is likely to be more JS engine heavy than some. But it works fine on OSX and these other windows environments.

Has anyone else come across this issue? Or does anyone have any ideas to help me debug this?


#2

After much investigation, modifying code and looking at system resource profiles, I have determined that the issue only occurs on a single core device. Using both a local and AWS deployed Windows Server 2012 instance, increasing the number of cores of the VM to 2 resolves the issue and I do not see the runaway CPU spikes.

The app has a number of fs.fileAsyncWrite operations and I believe that it is related to this specific element of the functionality. I haven’t spotted any active/known bugs that could relate to this…

For the moment - happy to proceed with a dual core + target platform…

As an aside, noticed this on stackoverflow and believe that Aaron was possibly encountering the same issue…