如何在 Linux 上最佳化 USB3 Vision 相機的效能?
在 Linux 上使用 USB3 Vision 相機時,對於高頻寬或多相機應用,可能需要調整某些系統設定。
IC4 GenTL USB3 驅動程式會自動管理 USB 傳輸大小,因此不需要手動設定。
視您的應用而定,可能需要調整以下 Linux 設定:
-
USB 堆疊記憶體上限
-
檔案控制代碼上限
需要手動設定 USB 傳輸大小嗎?
不需要。
IC4 GenTL USB3 驅動程式會自動設定適當的 USB 傳輸大小,並將其設為 3 MByte。
因此,無需在 Linux 或您的應用程式中手動更改傳輸大小。
需要在 Linux 上提高 USB 記憶體上限嗎?
通常不需要。
IC4 GenTL USB3 驅動程式會根據可用的系統記憶體,自動設定 Linux 的 USB 記憶體上限。驅動程式預設會將 usbfs_memory_mb 上限設為可用記憶體的四分之一。
因此,使用者通常不需要手動設定此參數。
如果您仍想自行設定 USB 記憶體上限,可以手動更改 usbfs_memory_mb 的值。例如,以下指令會將上限設為 1000 MB:
sudo sh -c 'echo 1000 > /sys/module/usbcore/parameters/usbfs_memory_mb'
注意:
手動更改此設定,會暫時覆寫 IC4 GenTL USB3 驅動程式自動設定的值。
使用多台 USB3 Vision 相機時,需要提高檔案控制代碼上限嗎?
通常不需要。
在現代 Linux 系統上,預設上限通常為每個行程 1024 個檔案控制代碼,而我們的 USB3 Vision 相機每台通常只需要不到 10 個檔案控制代碼。
因此,即使同時使用多台 USB3 Vision 相機,預設上限一般也已足夠,通常不需要進行調校。
如果您的應用仍需要提高此上限,可以更改目前行程的軟性上限,例如:
ulimit -Sn 4096
這會將目前 shell 及由其啟動之行程的軟性上限設為 4096 個檔案控制代碼。
若要在 Ubuntu 上進行永久設定,可在以下檔案中設定對應的上限:
/etc/security/limits.conf