Error when connecting three USB camera to Jetson nano

Hello.
I am developing an automated visual inspection system using a USB camera.
I want to run my inspection system with 3 USB cameras at the same time, but I get the following error in the terminal and the image is not displayed.
program:
import cv2

  cap1 = cv2.VideoCapture(0)
  cap2 = cv2.VideoCapture(1)
  cap3 = cv2.VideoCapture(2)

  while True:
      ret1, frame1 = cap1.read()
      ret2, frame2 = cap2.read()
      ret3, frame3 = cap3.read()

      cv2.imshow('cap1', frame1)
      cv2.imshow('cap1', frame2)
      cv2.imshow('cap1', frame3)

  cap1.release()
  cap2.release()
  cap3.release()    

error:
VIDIOC_STREAMON: No space left on device

Now, I can run two USB cameras at the same time.
Is there any solution to run three of them at the same time?

device:Jetson nano
SD card image:r32.3.1
python3.
OpenCV4.1.0
Three USB cameras (H:480, W:640, FPS:30) are connected to a USB 3.0 port.

Thank you.

Hi,
You would need to use USB3 cameras. Please refer to

Thanks for the reply.

I ran a Python program specifying the USB camera as follows
cap.set(cv2.CAP_PROP_FRAME_WIDTH,160)
cap.set(cv2.CAP_PROP_FRAME_HIGHT,120)
cap.set(cv2.CAP_PROP_FPS,160)

In the above case, one USB camera is assumed to use 13.5Mbytes/s of bandwidth.
So, even with three USB cameras, it is assumed to use a bandwidth of 40.5Mbyte/s, which is less than 480Mbps (60Mbyte/s).
Do I still have to use a USB 3.0 USB camera?

FYI, this is a bad message. In the context of USB this implies insufficient bandwidth, not space.