Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VirtioFS Support Page

Featured Replies

5 minutes ago, johnsanc said:

I do the same, Windows VM running on nvme with no vdisk. I also have 16 threads and 40 GB of RAM

I'm not sure, my only suggestion would be to spin up a new VM and see if the same thing happens. Are you on the latest version of Unraid?

  • 2 weeks later...
  • Replies 441
  • Views 137.1k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • mackid1993
    mackid1993

    VirtioFS and Memory backing seems much more stable in 6.12-rc2. I have almost a day of uptime and I'm backing up to backblaze in my Windows VM with no issue.   I found this (https://github.c

  • How To: Setup VirtioFS Under Windows and Mount Multiple Unraid shares as individual drive letters. VirtioFS under Windows is now stable as of Unraid 6.12.5 (QEMU 7.2) and Virtio Drivers 0.1.248-1

  • mackid1993
    mackid1993

    I was able to run Virtiofsd with the --inode-file-handles=mandatory switch. I created a script:   #!/bin/sh exec /usr/libexec/virtiofsd --inode-file-handles=mandatory -o sandbox=chroot "$@"

Posted Images

Can multiple guests access the same virtioFS drive at the  same time?

  • Author
  • Community Expert
53 minutes ago, scorcho99 said:

Can multiple guests access the same virtioFS drive at the  same time?

Yes

Out of curiosity, is there a general availability release of the patched drivers yet? Or still beta only?

Edited by dmrichards26
typo

  • Author
  • Community Expert
On 2/20/2024 at 10:59 PM, dmrichards26 said:

Out of curiosity, is there a general availability release of the patched drivers yet? Or still beta only?

Only test drivers released so far.

  • 2 weeks later...
  • Author
  • Community Expert

New drivers released a few days ago.

 

mm268/build 248

 

image.pngimage.png

14 hours ago, SimonF said:

New drivers released a few days ago.

 

mm268/build 248

 

image.pngimage.png

Thanks for this Simon. Everything is looking good on these drivers.

I updated my setup post here: 

with information about the latest drivers. I added and cleaned up some screenshots as well.

Hopefully now that this is reliable this post can help some more people get up and running with VirtioFS.

 

New stable drivers seem fine. Speed is still terrible for me on Windows 11 at only 40 MiB/s or so. I tried to setup a clean Windows 10 VM and transfers are about 100 MiB/s for the exact same file.

 

Samba on Windows 11 transfers this 2 GiB file at 650 MiB/s with explorer. No idea what could be causing the discrepancy, but glad its at least stable even if I won't be using it.

20 hours ago, johnsanc said:

New stable drivers seem fine. Speed is still terrible for me on Windows 11 at only 40 MiB/s or so. I tried to setup a clean Windows 10 VM and transfers are about 100 MiB/s for the exact same file.

 

Samba on Windows 11 transfers this 2 GiB file at 650 MiB/s with explorer. No idea what could be causing the discrepancy, but glad its at least stable even if I won't be using it.

I found that isolating a bunch of CPU threads for my VM has drastically improved performance. Do you have any isolation or pinning configured?

I have a 12700k. I ended up giving Unraid and dockers the first 6 threads and isolated the rest for my VM.

image.thumb.png.e45e5684c62c7780cd44e63f4e88cbce.png

Yes I do have a setup like yours 16/24 are allocated to the VM. The test Windows 10 VM i setup as a test only had 2/24 allocated and performed better (but still not great). I am out of ideas as to why my Windows 11 VM would perform so poorly... the only major difference is that its running on a separate NVME instead of a vdisk on my cache pool.

I also noticed worse performance of remote desktop (RDP) whenever VirtioFS is enabled and memorybacking configured. As soon as I disable these RDP is much snappier.

35 minutes ago, johnsanc said:

Yes I do have a setup like yours 16/24 are allocated to the VM. The test Windows 10 VM i setup as a test only had 2/24 allocated and performed better (but still not great). I am out of ideas as to why my Windows 11 VM would perform so poorly... the only major difference is that its running on a separate NVME instead of a vdisk on my cache pool.

I also noticed worse performance of remote desktop (RDP) whenever VirtioFS is enabled and memorybacking configured. As soon as I disable these RDP is much snappier.

Sorry I'm not having this issue, and I also have an nvme boot drive passed through. I was having some issues with RDP getting laggy but I think isolating my cores helped with that.

 

Maybe use Driver Store Explorer to blow out all of the virtio drivers and install fresh.

 

Or recreate your VM using the same disk, maybe a fresh XML will help?

Edited by mackid1993

I'm not familiar with driver store explorer... I'll look into that. I do have issues with installing new drivers. The installer always fails and has to rollback so I need to manually install each one.

52 minutes ago, johnsanc said:

I'm not familiar with driver store explorer... I'll look into that. I do have issues with installing new drivers. The installer always fails and has to rollback so I need to manually install each one.

It sounds like there's some issue with your VM, it may be time for a clean install of Windows.

Everything else with the VM appears to work just fine. I wiped out all old virtio-win drivers and guest tools and reinstalled. After a bit of googling was able to finally completely uninstall everything without the installer error, so that's good. Also verified I have no old drivers and only the latest is used.

Either way, still the same performance issue. I'm not completely reinstalling windows just to mess with this. I'll just stick with Samba since its way more performant in every scenario I've tested with the latest drivers.

1 hour ago, johnsanc said:

Everything else with the VM appears to work just fine. I wiped out all old virtio-win drivers and guest tools and reinstalled. After a bit of googling was able to finally completely uninstall everything without the installer error, so that's good. Also verified I have no old drivers and only the latest is used.

Either way, still the same performance issue. I'm not completely reinstalling windows just to mess with this. I'll just stick with Samba since its way more performant in every scenario I've tested with the latest drivers.

The advantage of VirtoFS is not performance. It's that the volumes show up as local drives which helps with compatibility for certain programs that don't work with network drives. 

OK so I tried adjusting my CPU isolation and pinning and I got the speed up 60 MiB/s consistently now by shifting all the CPUs for the VM to higher numbers and leaving lower numbers for Unraid.

 

However, I also noticed some weird behavior. When I am copying to my VM's NVME from the virtiofs drive, all CPU graphs in Windows stop completely and then resume once the transfer is complete. I checked both task manager and process explorer. I also noticed that a single thread was at 100% whenever I am moving something. What is going on here? Is that normal?

viofs-cpu.thumb.png.e34f894a34f31e3f7ef53d1eec2b91b8.png

Edited by johnsanc

16 hours ago, johnsanc said:

OK so I tried adjusting my CPU isolation and pinning and I got the speed up 60 MiB/s consistently now by shifting all the CPUs for the VM to higher numbers and leaving lower numbers for Unraid.

 

However, I also noticed some weird behavior. When I am copying to my VM's NVME from the virtiofs drive, all CPU graphs in Windows stop completely and then resume once the transfer is complete. I checked both task manager and process explorer. I also noticed that a single thread was at 100% whenever I am moving something. What is going on here? Is that normal?

viofs-cpu.thumb.png.e34f894a34f31e3f7ef53d1eec2b91b8.png

Unraid prefers lower cores usually. I copied a file to my nvme from the VirtioFS drive and nothing froze, the graphs continued to move.

I think there is something wrong with your Windows installation. This doesn't appear to be an issue with VirtioFS. I cannot repro any of your problems.

My only other suggestion is it may be an AMD specific issue as my system is an Intel i7 12700k.

 

At a minimum I would try a  dism /Online /Cleanup-Image /RestoreHealth command or a repair install of Windows. Since your second VM didn't have these issues I'm inclined to believe you have a corrupted Windows installation.

18 hours ago, johnsanc said:

OK so I tried adjusting my CPU isolation and pinning and I got the speed up 60 MiB/s consistently now by shifting all the CPUs for the VM to higher numbers and leaving lower numbers for Unraid.

 

However, I also noticed some weird behavior. When I am copying to my VM's NVME from the virtiofs drive, all CPU graphs in Windows stop completely and then resume once the transfer is complete. I checked both task manager and process explorer. I also noticed that a single thread was at 100% whenever I am moving something. What is going on here? Is that normal?

viofs-cpu.thumb.png.e34f894a34f31e3f7ef53d1eec2b91b8.png

You can also try the newer Rust version of Virtiofsd: https://gitlab.com/virtio-fs/virtiofsd/-/jobs/artifacts/main/download?job=publish

To install it sftp to your server and create a folder in /boot called virtiofsd and copy the executable there.

Then stop all VMs using Virtiofs.

Then open a terminal and type:

nano /boot/config/go

Then add the following to your go file:

#replace Virtiofsd with Rust version
mv /usr/libexec/virtiofsd /usr/libexec/virtiofsd.old
cp /boot/virtiofsd/virtiofsd /usr/libexec/virtiofsd 
chmod +x /usr/libexec/virtiofsd 

Then either run the 3 commands manually or reboot your server.

 

This may or may not help, but the version of Virtiofsd that ships with Unraid is very old so it may actually end up helping.

 

Completely reinstalled Windows 11, exact same performance issues and weirdness with a single thread used at 100% and Windows performance graphs halting while a transfer is running. Yes I am using the Rust version. I will wait until other people with AMD CPUs test this out. I am completely out of ideas.

Edit: Also confirmed that the regular non-Rust version has the exact same issue.

Edited by johnsanc

12 hours ago, johnsanc said:

Completely reinstalled Windows 11, exact same performance issues and weirdness with a single thread used at 100% and Windows performance graphs halting while a transfer is running. Yes I am using the Rust version. I will wait until other people with AMD CPUs test this out. I am completely out of ideas.

Edit: Also confirmed that the regular non-Rust version has the exact same issue.

It must be an amd issue. Maybe open a bug report with the virto win team?

Just for good measure, spun up a completely new Window 11 VM using a vdisk instead of NVME, same issue. Also it locks up user input on VNC while its transferring.

55 minutes ago, johnsanc said:

Just for good measure, spun up a completely new Window 11 VM using a vdisk instead of NVME, same issue. Also it locks up user input on VNC while its transferring.

Maybe try emulating your CPU instead of CPU passthrough and a test to see if speeds improve. Not saying you should leave it that way but it may be worth trying to see if it's an AMD issue.

Thanks for the suggestion. Same issue though, ~40-60 MiB/s and a single cpu thread gets pegged to 100%. With emulated CPUs however the performance graph in Windows doesn't lock up. I think we just need more people trying this out with different hardware configurations. So far everyone I have asked uses Intel CPUs and it seems to work as expected.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.