My testing has only involved two vitual machine sizes. The first has 256MB and nud would crash when accepting a block. The second has 800MB and nud generally runs fine. That is a dedicated box which just runs nud and a couple of python scripts though, there’s no overhead from serving graphics or anything like that.