Menu

Installation into Proxmox Virtual Machine: CPU/RAM/Storage Minimum/Preferred?

2022-09-02
2022-11-22
  • John T Davis

    John T Davis - 2022-09-02

    Hello,

    I've been happily using the ARM version for quite a while, and I'd like to move over to the x64 Focal version on my Proxmox server. I'm curious what the minimum and recommended specs are in terms of number of CPU cores/RAM/and disk storage for the OS install.

    Underlying CPU is an 8c/16t Ryzen 5000 mobile processor, so each core should be pretty powerful.
    I'm assuming 2 cores/4 GB of RAM would be a good place to start?

    Thanks!

     

    Last edit: John T Davis 2022-09-02
  • Cemaxecuter

    Cemaxecuter - 2022-09-03

    Hi and welcome. That is great to hear the arm/aarch64 version for the Pi is working good! I used Proxmox all the time, it's actually funny how i came across it back then. I would 2 or 4 Cores with at least 4GB ram, maybe 8 if you can spare should run most things at a decent speed. I'm curious how well usb pass through will work.

     
  • John T Davis

    John T Davis - 2022-09-04

    Hello!

    Honestly, the only reason I wouldn't just keep it running on the Pi is because I need that Pi to do at least one other thing needing a different OS. Otherwise, it'd be perfect. :)

    I'll try it with 4 cores (have those to spare) and start with 4 GB. I could do 8 GB, but I'm curious to see how constrained it acts with 4 GB; I'll probably up it later. I'll let you know.

    I anticipate passthrough working fine, since Proxmox can see the radio without any issues. See second to last entry, below.

    $] lsusb
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 004: ID 1c7a:0577 LighTuning Technology Inc. Fingerprint Sensor
    Bus 003 Device 003: ID 0e8d:0608 MediaTek Inc. Wireless_Device
    Bus 003 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 002: ID 03eb:800c Atmel Corp. Airspy HF+
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    

    EDIT: Oh! I wanted to ask: how much disk space would you give the OS drive for this install?

     

    Last edit: John T Davis 2022-09-05
  • John T Davis

    John T Davis - 2022-11-20

    So, I fell off the edge of the world for Reasons®, and never got to try this, but I will this week.

    How much space does the install need to be happy? I was gonna give it 64 GB just to be safe. Is that not enough?

     
  • Cemaxecuter

    Cemaxecuter - 2022-11-20

    Hi John! I think the installer will fail without at least 40ish GB. 60 will be fine.

    Welcome back.

     
  • John T Davis

    John T Davis - 2022-11-21

    Thanks!

    I gave it 64 GB storage, 8 GB of RAM, and 4 vCores of my Ryzen 5900HX.
    It worked! 8 GB is either just enough or overkill--I'm not really pushing it hard yet. Remoting into Lubuntu on Proxmox via NoVNC's webviewer was not great, so I need to figure out how to use SPICE (SPICE also has audio and VNC doesn't ... ;) )

    No issues with the VM picking up the USB radio at all, but even a non-root user with privileges to create a VM cannot add the USB device. I had to log in as the root account, or I got a permissions error instead of a USB device list.

    Some notes that might be useful for others:
    1. With 4 vCores under this setup, it idles at about 22 percent CPU usage. SDR++'s server mode uses an additional 4-5 percent. After it's running a while, this calms down as well. Even with SDR++ Server running, it's almost entirely idle.
    2. Default install with added proprietary packages (mostly for graphics codecs) took just under 18 GB.
    3. The OS needs about 1 GB to idle, I think, so I'd probably not go below 6 GB total RAM. I haven't pushed it hard enough to find an upper limit yet. Edit: After a while, even with the SDR++ Server running, the whole system calmed down to using about 550 MB of RAM, at least according to htop. Proxmox/QEMU agent reports that the whole thing is using 1.34 GB of RAM. I assume the VM itself doesn't count the RAM that Proxmox uses for overhead to keep it running.
    4. It took at least a few minutes to actually bring up the virtual console (VNC server accessible within Proxmox) after installing it on the virtual HD. It was instantly available when booting from the ISO. Not exactly sure what's going on here, but just letting it sit until PVE reports the "console" is ready will get you GUI through Proxmox. :) Not sure whether the OS' own VM server would have worked immediately or not.
    5. The QEMU guest tools are available in the Lubuntu package manager. Install these before shutting down the VM and enabling the QEMU guest agent in Proxmox's settings for the VM. Restart, and Proxmox will be able to get RAM metrics and other data for its dashboard.
    6. Lubuntu looks to have automatically loaded all the right VirtIO drivers.
    7. It defaulted to something called "bochs-drm", which is some sort of generic VGA driver from Red Hat. That would match the "VGA" setting I used in Proxmox, but I started out with a kind of bonkers resolution. I probably need to look into ways to tweak this without passing a GPU through.
    8. inxi, smartctl, and htop are really useful to monitor what's going on in the VM.
    9. Be sure to enable "SSD emulation" in Proxmox's VM settings if you're storing your VM disk on an SSD, and then make sure DragonOS properly enabled TRIM by querying fstrim.service and fstrim.timer. Both were automatically on for me since I enabled SSD Emulation. (Otherwise, Proxmox tells the OS that an actual spinning HDD is enabled, which is not what you want ever. ;) )
    10. It's using paravirtualized NIC drivers. They just have a strange name.
    11. Suggestion: Install the OpenSSH server so you can remote into your VM. I was messing around and wrecked my graphics drivers and had to revert to a backup because I couldn't get in and fix whatever had happened. Oops. (You can also easily start servers this way.)

    I'll add on to this with more info if I find out anything else that might be useful.

     

    Last edit: John T Davis 2022-11-22
  • Cemaxecuter

    Cemaxecuter - 2022-11-22

    Dang, those are some great notes and greatly appreciated! Something funny to share.. I'm sure I could dig up the post, but back in the day when Proxmox was still rather new, I knew someone that had it in a data center and was selling "slices" (virtual machines) to people. There reached a point where a max amount of VM's were found, which once I brough it up to Promox they fixed and raised the amount of systems way higher..

     
    • John T Davis

      John T Davis - 2022-11-22

      That's awesome! Proxmox's support forum has been, IMHO, a bizarre mixture of super helpful and you just need to get good attitude. It's a bit disorienting, but nice more often than not.

      So, I got XRDP working so I could get into the system with Microsoft Remote Desktop--trying operate via noVNC (a Javascript utility inside a web browswer window) was not working well. :P

      Upside: Much better performance interacting with the system. Almost real-time, which is what I expect from Microsoft's Remote Desktop Tool. (I use it for work.)

      Minor issue: No sound yet; XRDP's service didn't load any sort of sound driver to pass sound to the client. Not sure if I can fix this or not. If not, I'll try NoMachine, which bundles its own sound drivers, and someone else mentioned working in a VM like this. In the alternative, I could plug in a USB audio device and pass that through, but there's got to be a better way.

      Major issue: The default VGA driver emulation Proxmox gives VMs is all software rendering. And SDR++ in particular needs a GPU to be beautiful and have a high FPS. Here's what it did to 4 cores of a Ryzen 5900HX mobile processor.

      Look at htop. Yikes. :P That definitely says "I want hardware GPU accelleration and I'm not getting it."

      Amazingly, the system was only just barely not-usable. But I need to figure out a solution that does not involve passing it the only actual GPU I have. (I mean, I could, but I didn't want this VM to require the physical GPU if I could avoid it.)

      Amazingly, the system was only just barely not-usable. But I need to figure out a solution that does not involve passing it the only actual GPU I have. (I mean, I could, but I didn't want this VM to require the physical GPU if I could avoid it.)

       

      Last edit: John T Davis 2022-11-22

Log in to post a comment.