this post was submitted on 15 Feb 2025
67 points (93.5% liked)
Linux
50208 readers
1213 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
You mention this is a server VM and so you probably don't need NetworkManager or the wpa_supplicant services. If you don't wish to setup a static IP for the server VM then install and use dhcpcd instead of NetworkManager/wpa_supplicant.
Unless you need to use WWAN (2G/3G/4G/5G) devices, you don't need ModemManager.
Depending on your workflow, consider reducing the number of agetty instances to 1. With a single agetty instance, install and use tmux multiplexer when you need more sessions on the physical VM console.
I don't have any experience of using seatd/elogind but I think you may be able to configure USE flags such that you only need seatd installed (i.e. don't need elogind) and since you need seatd only for running a WM occasionally, why not use seatd-launch to start the WM and not have the seatd daemon running constantly. See: https://github.com/swaywm/sway/wiki/Running-Sway-with-seatd,-elogind-or-systemd%E2%80%90logind#seatd-launch
Lastly, the largest chunk of memory used other than the processes you can see in htop will be the Linux kernel. The Gentoo distribution kernel will have hundreds of drivers for real hardware which make no sense in a Kernel that will be used in a VM (unless you plan to use PCI/USB pass through). So, you should create a custom kernel (https://wiki.gentoo.org/wiki/Kernel/Gentoo_Kernel_Configuration_Guide) which is tailored for a KVM guest.
To do this (the following are not detailed instructions but just guidance):
Note 1: The additional "*.config" files mentioned above will need to be copied into the correct place before make will find them and I've provided some some sample config files you can use to start with below:
Note 2: I'm not associated with the above github repo(cyano-linux/qemu-guest-kernel) but I have referenced it when I needed to setup a custom kernel. You can find a little documentation for the above kernel config here: https://github.com/cyano-linux/qemu-guest-kernel/blob/master/config.md