Forums Niryo One Troubleshooting NiryoOne Studio memory leak

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • FindingNiryo
    Participant
    Post count: 105

    Since upgrading arm and Studio to version 2.2 I have noticed linearly increasing memory usage each time a move instruction is executed in the Blockley editor.

    The main thread uses about 132MB of memory when connected to the robot arm with a 22 move XML loaded. The XML loops through the 22 moves 10 times. After each move the memory usage goes up by about 100KB. It does not appear that this memory is ever de-allocated so after running through the sequence loop memory usage is 154MB. That’s 22MB in 2 minutes 15 seconds of run time (587MB per hour).

    FindingNiryo
    Participant
    Post count: 105

    Since upgrading arm and Studio to version 2.2 I have noticed significant lag between arm movement and display updates in Studio when running sequences in Blockley editor.

    NiryoOneStudio.exe creates three threads the main thread takes 100% of its CPU core while idle. I presume this thread is responsible for maintaining the GUI by reading some packets and updating joint positions. This should not be 100% busy when performing so few functions (is Electron event driven? This is looks like infinite polling behavior without wait())

    The Blockley XML loops through the 22 moves 10 times. At first the editor updates the cursor position after each move, the simulated robot graphic moves synchronously with the arm. After the second loop through the sequence there is an obvious lag between arm movements and screen updates. By the 4th pass the display is updating only every third move.

    Edouard Renard
    Keymaster
    Post count: 239

    –> I have merged the 2 previous topics as they are addressing the same problem.

    We will make further tests to find out if we can reproduce the issue.

    Could you give us any info that may help us debug? (exact OS version, NOS 32-64bits?, etc)

    Edouard Renard
    Keymaster
    Post count: 239

    I’ve just made some tests and I can’t reproduce your issue.

    System: Windows 10, computer with intel i7, 8-cores, 8GB RAM, tested with Niryo One Studio 2.2.0 (direct download from our website).

    I’ve run a sequence with 8 move_joint blocks, inside a loop with 100 iterations –> 800 moves.

    Results:

    • 3 CPUs are used (not 3 threads) with about ~70 threads on 3 CPUs
    • Used ressources are: between 10-20% on one CPU, less than 2% on the 2 others
    • Memory: About 200-210MB total. When I run the sequence in Blockly (800 moves), the RAM sligthly increases until about 280MB then it drops to 200-210MB again, indefinitely.
    • Also I don’t see much lag on the 3D view of Niryo One

    Notes:

    Niryo One Studio is based on the Electron framework, which is – I have to admit – a huge resource eater (but it allows an application to be easily integrated and deployed on many OSes). But we’ve made sure that the CPU and RAM usage doesn’t indefinitely increase.

    I guess this issue is related to your computer setup, maybe how it handles the Chromium engine (which is the base used by Electron for the app)? Also, please try on another computer to see if you have the same problem.

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.