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
(3,572 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
(3,483 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.

0 Kudos
Message 3 of 10
(3,434 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
(3,433 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
(3,412 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.

Message 6 of 10
(3,075 Views)

Hello

 

I've the same issue here. I don't find your path ProgramData\National Instruments .. also where can we found the handle.exe ?

 

What's your software you used to troubleshoot ?

 

Can you help maybe over TeamViewer to solve my issue ? I've exactly the same.


Thanks in advance.

0 Kudos
Message 7 of 10
(1,886 Views)

@Fellerson wrote:

 

I've the same issue here. I don't find your path ProgramData\National Instruments .. also where can we found the handle.exe ?

 

What's your software you used to troubleshoot ?


The handle.exe tool is from SysInternals, can be downloaded for free — Handle v5.0

The tool used for troubleshooting is Process Monitor, also can be downloaded — Process Monitor v3.96

If you prefer "all in one", then you can download whole SysInternals Suite.

At first run of Process Monitor set the Filter to "erl.exe", then you will see activities only from this particular application.

The Handle.exe can be placed also in "C:\Program Files\National Instruments\Shared\Skyline\RabbitMQ\erl-25.3\erts-13.2.2.1\bin" if you prefer this path in Program Files. Or place to "C:\ProgramData\National Instruments\Skyline\RabbitMQ" as shown above.

The Sysinternals Software License Terms preventing third party deployment for these tools, this is probably a reason why PowerShell was used instead.

Using Handle.exe will not prevent "polling", but the overhead from this tiny tool is much less in comparison with PowerShell-based solution, at least on my PC.

 

 

0 Kudos
Message 8 of 10
(1,874 Views)

Hello

 

Thanks very much for your fast feedback

 

My issue is that RabbitMQ by us is not installed on "C:\ProgramData\National Instruments\Skyline\RabbitMQ" but on "C:\AlarmProg\RabbitMQ". I tried to put the handle.exe there but it looks same issue. Do you think is it a problem that i install RabbitMQ in an another path ?

 

Can we give fast a look together over TeamViewer ?

 

EDIT : I've solved the issue with copy Handle. Works now. I've a last point, when i install erlang and rabbit, i need always to install it twice to run it. Do you have an idea, why ?

 

ty

0 Kudos
Message 9 of 10
(1,850 Views)

@Fellerson wrote:

. Works now. I've a last point, when i install erlang and rabbit, i need always to install it twice to run it. Do you have an idea, why ?

 


Could be an issue with you particular "customized" installation, may be because of some dependencies. In my case everything was installed "by default". Glad to see that this was helpful for you as well.

0 Kudos
Message 10 of 10
(1,835 Views)