Isaac Sim increases usage of memory whenever Camera objects are moved

Note: For any Isaac Lab topics, please submit your topic to its GitHub repo (GitHub - isaac-sim/IsaacLab: Unified framework for robot learning built on NVIDIA Isaac Sim) following the instructions provided on Isaac Lab’s Contributing Guidelines (Contribution Guidelines — Isaac Lab Documentation).

Please provide all relevant details below before submitting your post. This will help the community provide more accurate and timely assistance. After submitting, you can check the appropriate boxes. Remember, you can always edit your post later to include additional information if needed.

Isaac Sim Version

4.2.0
4.1.0
4.0.0
4.5.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):

Operating System

Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):

GPU Information

  • Model: 4070
  • Driver Version:

Topic Description

Detailed Description

(Describe the issue in detail, including what you were trying to do, what you expected to happen, and what actually happened)

I’m using the python api with IsaacSim to generate some images of a usd model, I load the model into the center of the scene and then I want to capture a bunch of images of it from various camera angles. Because there are so many camera angles I want to capture I load in ~20 cameras into the scene and then use camera_object.set_world_pose to move the cameras to new locations before collecting more images. I do this repeatedly to capture ~300 images. I find though that every time I move the cameras my usage of system memory increases by 2-3gb meaning if I attempt to move the cameras too many times it will overuse system memory and crash. I was wondering why this is, if theres a better way to go about this, or a way to clean up memory usage from a previous step in the scene after its moved to the next one?

Hey @albowler welcome to the community! Could you please try it on Isaac Sim 4.5. and see if this issue persists?

I tried to port to IsaacSim 4.5 but it seems that the isaacSim 4.5 python api is quite buggy, for example just to do the quickstart at this link Quickstart with Isaac Sim — Isaac Sim Documentation, I had to go into the IsaacSim source code and add the Prim module to the init.py at isaacsim/core/prims, and still the syntax in the quickstart still does not work, giving this exception Exception: Prim path expression [‘/World/earth’] is invalid, a prim matching the expression needs to created before wrapping it as view. I’m willing to port to 4.5 but this seems extremely buggy from the get go.

Also I’ve looked into it more utilizing a memory profiler, and it seems 99% of the memory usage is by numpy ndarrays, I assume these are use by the simulator somehow, it also says that these are referenced with [‘rgba’] and other cameras like [‘rgb-RenderProduct_camera_01’], the strange thing is ‘rgba’ is not the name of a camera I have created I believe. Hoping for any pointers when it comes to this.