Suspend fails when ram usage is high
Hardware description:
- CPU: AMD Ryzen 3700x
- GPU: AMD Radeon RX 6600 (Navi 23)
- System Memory: Dual channel 16GB DDR4 @ 3200MHz
- Displays: 3 displays - Samsung S24D300H (x2); LG UltraGear 27GL83A-B;
- Type of Display Connection: Samsung S24D300H: DisplayPort (converted to HDMI) for both; LG UltraGear: DisplayPort
System information:
- Distro name and Version: Fedora Silverblue 37 (fully up-to-date)
- Kernel version: 6.1.6-200.fc37.x86_64
- Custom kernel: Fedora Vanilla Kernel
- AMD official driver version: N/A
How to reproduce the issue:
- Use an AMD RX 6600 as the main display driver
- Get the ram usage high (maybe around 16GB)
- Attempt to suspend the system using any method (
systemctl suspend
, etc) - The computer will do one of two things: Go into a zombie-like state, fail to suspend altogether, or suspend properly. It is unpredictable (probably indicating some kind of memory corruption)
Extra info
In some instances, my display, keyboard, and all other USB devices would properly shut off, but my computer would remain "on". Num lock doesn't work, my hard drive light is not on at all, my displays have shut down, and ctrl+alt+delete does not work either. The CPU, case, and GPU fans remain on, and the RGB is still powered. My computer basically goes into a total zombie state. After being in this state for about 20 minutes, the computer wakes up from its zombie state and continues as normal. The system never reaches a state of full suspense, though.
There are other instances where the system would cycle between on and off. USB devices would keep turning on and off again and the hard drive light would be blinking like crazy. Then after roughly 30 seconds of this happening, the system wakes up and fails to suspend.
I am unable to pinpoint the actual cause of this, though. I just tried suspending it while using ~10GB of RAM (5GB swap) and it suspends just fine. It seems like it fails to suspend when the RAM usage is above 16GB (I tried inching my way through RAM usage and found it to fail at ~16GB and beyond)
This issue does not occur on my laptop (with an AMD Ryzen 3700u with integrated Radeon graphics) or test workstation (AMD Bulldozer CPU with integrated graphics).
I filed this issue on the Linux bugzilla and the kernel developer told me that this is a driver issue, so I filed a bug here.