Sorry if the heading is not correct, I couldn’t think of the exact words.
What I mean by “how to understand hardware” is that I want to purchase a PC for my home-lab, and I can’t really tell what hardware is best. I’m not asking for suggestions on specific PC parts, instead, I want to learn how to identify hardware on my own. For example, if we are talking about RAM, then I can figure that how much ram it is and what it can do and stuff. Basically, I want to learn how to truly “know” hardware.
If you’re still interested in my homelabbing post then here: https://lemmy.world/post/54103147
The short math I did for my initial set up is I wanted something always on and low power/noise. Low power CPU would be a laptop or a little NUC; I bought a NUC with barely any ram, and swapped in a secondhand ram/nvme sticks when I had the chance.
Second I wanted something with a GPU. I took a retired gaming PC and set it up with wakeonlan to kill/sleep it when I use it. It’s loud and hot as hell so it’s hidden in a closet somewhere. I cleaned up the cables so I can upgrade it whenever this shit crashes.
I’m going to preface this by saying it’s a truly awful time to be looking at hardware, all the AI nonsense has driven the prices of nearly everything so though the roof it isn’t even funny. I’ll explain this from the standpoint of building a computer, because all of the knowledge from that will directly transfer even if you’re buying something off the shelf. Generally, most computer specs are a bigger number better kind of thing (the major exception being latency), but like most things best will depend on your use case and budget.
For a crash course:
Processor (CPU or sometimes proc)
This is the part of the computer that computes, the two most important specs are clock speed (usually measured in gigahertz (GHz)) and core/ thread count. Clock speed is roughly how long it takes the computer to execute an instruction. Modern processors have something of a built-in overclock to them, so you’ll probably see a base clock speed which as the name might imply is the baseline that things will run at and boost or turbo clock which is how fast the processor can go under ideal conditions (namely keeping it cool). Thread count is roughly how many things the computer can work on at the same time¹. If you’ve heard the term multi-threading, this is where that comes into play, a multi-threaded application is written to take advantage of being able to do multiple compute tasks at the same time (on different processor cores). There’s some technical nuance, but if you see both a thread count and core count, just take the higher of the two. Generally, it’s a balancing act between clock, cores, and cost. Having more cores is generally slower and fewer cores a bit faster. What you want depends on your workload, heavy single threaded tasks like gaming tend to run better on faster clocked CPUs, while more productivity focused tasks tend to favor having more threads. Because most people seldom do just one and not the other, there’s been an architectural trend recently to mix a few fast cores with a bunch of slower cores- that way the computer has speed when it needs it and volume when it doesn’t (this is most common for Intel, Arm, and smartphone processor).
In the case of a home lab, you probably want to lean towards having more cores. Hypervisor software (like Proxmox) will let you divvy up your threads and assign them to virtual machines, so having more threads gives you headroom to run more things at once.
Motherboard (MB or sometimes mobo)
If the CPU is the brain of the computer, this is the nervous system; it connects all the bits together and let’s them talk to each other. There’s a handful of different physical sizes, which you mostly pick based on how much space is available in you case of choice and how many things you’re looking to connect together. A motherboard will affect what kind and quantity of connections are available to you. Internally this includes:
- RAM slots (smaller ITX boards usually have slots for two sticks, while larger ATX boards have four (or more in the case of more enterprise focused server gear))
- PCI slots, for GPUs, Network cards, HBA cards and such (ITXs usually only have one, while larger boards will have a couple. Note: despite having the same connector, different slots will often be allocated different amounts of bandwidth, so there’s some nuance to what cards can make the most of which slots. Your manufacturers manual will have more details)
- m.2 slots largely for connecting solid state storage
- SATA headers for connecting hard drives
- fan headers
Externally, your motherboard choice also decides:
- your hardwired networking speed²
- USB port quantity and speed
- any wireless radio capability like Wi-Fi and Bluetooth²
There isn’t a spec to focus on here (other than having the features you want/ can make use of), but you do need to make sure that your motherboard has the same socket as your CPU.
RAM (sometimes memory)
Random Access Memory is tricky to explain, because it’s more equivalent to “huh, did I eat breakfast this morning?” than “this is a core childhood memory/ trauma and I’ll never forget it”. Its a temporary storage that only gets used while the computer is powered on. On its’ face this might seem less than useful, but the point of RAM is it’s a fast place to store and retrieve data³. When your computer boots up or launches a program, it copies the operating system or program’s information from your hard drive into memory, which helps things feel snappy and responsive (that’s also what old school loading screens were doing in the background: finding and loading the next area’s data into memory so that is was in a fast easy to access place for the player).
Spec wise, RAM is a bit of a choose your own adventure, mostly dependent on what your CPU and motherboard you’re working with. The first thing to consider is which RAM version and speed your hardware supports, this will be a number prefixed by DDR (like the most recent DDR5 standard), there’s nuance, so it’s not always true, but generally newer versions (higher number) are faster. The next most important spec is capacity, if you’re at all familiar with computers the idea of a gigabyte (GB) should be pretty familiar to you, but for the sake of completeness: this is how much space is physically soldered to the stick (or sticks) and represents how much data (programs, webpages, related assets, etc.) can held in memory at the same time. For consumer devices, the sweet spot is currently between about 8-16 GBs, in enterprise and home lab use cases, more is generally better (for similar reasons to having more CPU threads to work with), but each CPU will have an upper limit on how much RAM it can address at once. The last important spec is speed which is measured in megahertz (MHz) and is usually hyphenated after the RAM version (ie DDR5-6000), generally faster speeds are better⁴. However, there is a limit, each CPU will have a hard limit on how fast it can use RAM and (much like a Ferrari stuck behind a minivan in a school zone) anything faster will be throttled to the speed limit. When using multiple RAM sticks, it’s considered best practice to match the speeds (and ideally, other specs) since your motherboard will run everything at the lowest common denominator.
Some more enterprise focused boards will require a specific variant of RAM called error correcting (or ECC) which is designed to prevent random bit flips and corruption from altering data stored in memory. It’s uncommon in the consumer space (though DDR5 has it somewhat built in), but something to be aware of if you’re running enterprise gear in your lab.
Given the current market at the time of writing (succulent summarized as an AI induced “RAM-pocalypse”), this is very much a take what you can get/ afford right now.
GPU
I don’t particularly feel like writing more at the moment and will continue to update this tomorrow
- Technically, a single core machine can and will do multiple things at the same time by switching back and forth between them, but
- Unless you opt to purchase additional network card(s)
- Technically CPU cache and GPU VRAM offer even faster temporary storage, but those are much more space limited, and not necessarily something the average consumer needs to worry about
- You can also spit hairs with the RAM timings, which gets into the finer points about about data is stored an retrieved from a given stick, but it’s pretty overkill for the general consumer and I’ll leave that as an exercise for the reader.
If you can swing 16GB of RAM for cheap, you can do a lot with your homelab system. A web browser can take up to 8GB, and your Operating System needs 1-3 to function. If you run virtual machines (VMs), add that amount for each VM to get a ballpark idea of how much you need.
GB is gigabyte, or 1024 megabytes (MB), or 1024*1024 kilibytes (KB). Look at the cpu architecture of whatever you are getting (search for the cpu model and choose the ark.intel.com or amd equivalent page) to see the max supported RAM for that cpu. You always want room to grow, never get “enough”.
Generally you can look at the sticker-labels. If the basic information isn’t immediately obvious from the label, you can google parts of the label and find the information online.



