How to use multiple CPU cores for ROS Gazebo SITL

I want to do a large scale swarm simulation. Even though I set real time factor = 1 in the Gazebo world file, the real time factor is quite low. Obviously, the SITL only uses 1 physical core (2 logical cores). Is it possible to use multiple CPU cores?

@robin-shaun You need to be running multiple instances of px4 sitl to simulate swarms. How are you running multiple instances of SITL?

Have you checked this document?

I succeeded in running multiple instances of SITL and I don’t know why document says
It can only simulate a single type of vehicle at a time
The only problem for me is that the simulation speed is too low.

I want to speed up my gazebo simulation, so I’m going to buy a new PC just for that. So, what should I remember? So far, here’s what I’ve discovered: Make use of a graphics card that has an OpenGL 3D accelerated driver. Use CUDA with parallel-quickstep as directed by:

BUT, I couldn’t find anything about gazebo and multithreading? Is it supported by gazebo simulator? Will a quad-core processor accelerate my simulation, or is it primarily a graphic card issue?

One of the best tools to control robots is ROS Gazebo SITL. It is an open source tool for robot simulation. There are different tools available for ROS, but ROS Gazebo SITL is the most popular and widely used one.

Here are some of the best and essential tools that you need to get started with ROS Gazebo SITL.


It is the base for Gazebo SITL. It is a multi-robot simulator that helps to create an environment for the robots. It is developed by Willow Garage and has a plugin based architecture.


This is the main tool for controlling robots using Gazebo. It is developed by Willow Garage. It is a python based application.


It is the programming language to develop a robot. You can program your robot in Python. It is a multi-threaded language.

ROS Melodic

It is a graphical interface for ROS Gazebo SITL. It is developed by Willow Garage

visit here.