you can disown a process and have it run in the background. That should guarantee that it stays running after you logout.
nohup <insert command here> &;
disown;
Some people have used kernel boot parameters to help with older AMD cards. Might be worth a try:
radeon.cik_support=0 amdgpu.cik_support=1 amdgpu.dpm=1 amdgpu.dc=1
You can pass the partition as an existing drive according to stackoverflow. Alternatively, if you have the space, I copied my windows partition to a .img file, then used qemu-img to convert that to a qcow2 file. I then used qcow2 image for the vm and expanded my Linux partition to fill out my entire hard drive
I still think you need to focus on the ZFS tunables instead of RAM size, i.e. enabling prefetch for stream boxes, setting appropriate compression and recordsize on your datasets.
According to this page, arc limits are configurable as well.
I actually just had that happen to me too, but I was running Rawhide soooo I guess I asked for it. It was either dnf or python3.7. I just booted from a live Fedora, downgraded the two problem children, rebooted, upgraded, and was good as gold!