LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Strange CPU Usage peaks caused by RabbitMQ?

Solved!
Go to solution

I am seeing strange CPU usage peaks - every 5-6 seconds up to 50%. After some experiments have found that if I will kill erlsrv.exe (erl.exe will be closed together), then abnormal CPU usage is gone. Also I noticed, that during these peaks the PowerShell shortly opened in backround. LabVIEW 2023Q3 is installed on that PC. It looks like this happened after Windows update (may be, but not sure).

Screenshot 2023-10-10 224006.png

Any idea what could be wrong?

 

Message 1 of 10
(16,568 Views)

Hmm, I recall answering this, but maybe forgot to push "Post".

 

Did you intend to install RabbitMQ?  According to the Web, "RabbitMQ is a message-queueing software also known as a message broker or queue manager."  It is written in a language called "Erland", and (if my memory is correct) is one of the "suggested" Additional Features (or a name something similar) that NIPM shows you when you install LabVIEW.  I have never chosen it, as I don't need/want it in my LabVIEW system.

 

Unless you know you want it, you should probably remove it.  You want to be very careful when you remove LabVIEW components -- only use NIPM, and don't try to "help" it by deleting folders on disk and do not try to "clean out the Registry".  Doing so may corrupt your PC, requiring reinstallation of Windows (happened twice to me, and has happened numerous times to posters on this Forum).

 

Bob Schor

0 Kudos
Message 2 of 10
(16,479 Views)

Yes, I know what RabbitMQ is, and I temporarily removed this as long as I don't need this for the moment. But that was LabVIEW installation "everything by default", pretty fresh on newly prepared Win11 PC, and I saw this effect second time.

Message 3 of 10
(16,430 Views)

Erlang is used by SystemLink

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
Message 4 of 10
(16,429 Views)

@Yamaeda wrote:

Erlang is used by SystemLink


Thanks!  I didn't know that.  I wasn't sure I knew what SystemLink was and did, so I looked it up, and saw that I was unlikely to encounter it in the near future ...

 

Bob Schor

Message 5 of 10
(16,408 Views)
Solution
Accepted by Andrey_Dmitriev

Update: Finally I've found where is the problem. It is RabbitMQ 3.1.17.

Recently upgraded my "Kitchen laptop" used for some "breakfast experiments" to the latest LabVIEW, and the problem coming back (or still here).

The problem is that this laptop is not very powerful, just i7-3740QM and every time when such spike happened, the СPU's Fan is turned on shortly, then goes off. Every 5-6 seconds, very nervous.

 

Now short investigation. The fact is that this happened only if erl.exe & erlsrv.exe are running. They are from "C:\Program Files\National Instruments\Shared\Skyline\RabbitMQ\erl-25.3\erts-13.2.2.1\bin". Also observed that every time when high CPU load occurred, the powershell.exe is executed with some script to get some internal handles. The powershell script used as "backup" solution, but using Powershell as a backup for handle.exe is not a good solution, this is known issue:

https://github.com/rabbitmq/rabbitmq-server/issues/8700

Now I checked where erland looking for handle.exe, and the first directory is this one (then following whole path variable):

Screenshot 2024-02-11 07.54.50.png

So, the solution is to place missing handle.exe from SysInternals to the folder "C:\ProgramData\National Instruments\Skyline\RabbitMQ", this will make Erlang and RabbitMQ happy and no CPU's spikes any longer, and laptop now silent back, and I'm happy as well.

Screenshot 2024-02-11 07.37.02.png

 

This is general philosophical engineering problem of the contintiously growing and complicated systems, when one product depends on other product and some day everything goes out of the control and nobody knows how to fix it.