You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Generally an eGPU works great for me. It's usually a big performance boost to the iGPU I have in my laptop.
However in some games I seem to get very poor performance when VRAM usage gets saturated and system memory (GTT memory) needs to jump in. GTT seems to use system memory similar to how system RAM uses swap files/disks, as far as I understand. I see this issue with DCS World as described here. And sometimes see this issue in No Man's Sky when jumping to a new solar system (for No Man's Sky a restart of the game fixes the issue).
From networking on Linux I'm used to being able to get the negotiated link speed through tools like "ethtool". And I think I can get the equivalent with "lspci" for USB/Thunderbolt link speeds. But I couldn't find a way to get live Thunderbolt throughput results on Linux. This would be very useful to check and confirm that when a game becomes unresponsive on Linux with high VRAM usage that this is the case because of USB4 / Thunderbolt becoming a bottleneck due to VRAM<->GTT/system RAM swapping.
I tried using sudo modprobe usbmon + sudo usbtop --bus 0 which should capture on all available USB buses, but it looks like this still excludes any Thunderbolt traffic.
Anyone knowing any other tool which could achieve this? Or even raw kernel interfaces, like /sys... or /proc/... files, ioctl syscalls or netlink interfaces?
Hardware I'm trying this on: A Lenovo Thinkpad T14s AMD Gen3, featuring a USB4 / USB-C port. Connected to a Razer Core X Chroma eGPU enclosure, with an ATI/AMD Radeon RX 6650 XT with 8GB of VRAM attached.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Generally an eGPU works great for me. It's usually a big performance boost to the iGPU I have in my laptop.
However in some games I seem to get very poor performance when VRAM usage gets saturated and system memory (GTT memory) needs to jump in. GTT seems to use system memory similar to how system RAM uses swap files/disks, as far as I understand. I see this issue with DCS World as described here. And sometimes see this issue in No Man's Sky when jumping to a new solar system (for No Man's Sky a restart of the game fixes the issue).
From networking on Linux I'm used to being able to get the negotiated link speed through tools like "ethtool". And I think I can get the equivalent with "lspci" for USB/Thunderbolt link speeds. But I couldn't find a way to get live Thunderbolt throughput results on Linux. This would be very useful to check and confirm that when a game becomes unresponsive on Linux with high VRAM usage that this is the case because of USB4 / Thunderbolt becoming a bottleneck due to VRAM<->GTT/system RAM swapping.
I tried using
sudo modprobe usbmon
+sudo usbtop --bus 0
which should capture on all available USB buses, but it looks like this still excludes any Thunderbolt traffic.Anyone knowing any other tool which could achieve this? Or even raw kernel interfaces, like /sys... or /proc/... files, ioctl syscalls or netlink interfaces?
Hardware I'm trying this on: A Lenovo Thinkpad T14s AMD Gen3, featuring a USB4 / USB-C port. Connected to a Razer Core X Chroma eGPU enclosure, with an ATI/AMD Radeon RX 6650 XT with 8GB of VRAM attached.
Beta Was this translation helpful? Give feedback.
All reactions