Ask HN: What can I do with 48GB of RAM?
Hi HN,
After a mobo upgrade, i have ended up with an ungodly 48GB of 3200Mhz DDR4 RAM. This is a ridiculous amount to have on a personal machine for me. What are some cool things I can do with this much RAM?
All ideas are welcome. Video/audio editing?, databases, run an OS off a ramdisk??, anything.
63 comments
[ 4.0 ms ] story [ 130 ms ] threadAs for the other 2/3... ZFS, Google Chrome, or Electron apps maybe?
Would you agree with this article's recommendations regarding ramdisk setup? https://www.linuxbabe.com/command-line/create-ramdisk-linux There seems to be controversy in the comments as to whether tmpfs is a proper ramdisk - although no clear tutorial as to a better method. Interested to learn more!
In this case I'm just using tmpfs as outlined in your link. Keep in mind tmpfs can actually swap when out of space, if that matters to you.
SSDs can handle a lot of writes. That is not necessary to do.
About weekly the longest.
If you dedicate 2 gigabytes of it to the .cache folder than either it's going to be mostly empty and you're be causing more thrashing as the kernel unloads stuff it didn't need to, or it fills up and your system falls over when something tries to put a big temporary file in that folder.
Your post may sound like you're mentioning as a joke, but it's really something more people should use.
I know Teams gets a lot of hate on here, but in a 3 decade career I can tell you it’s far from the worst piece of software an employer has made me use. Lotus Notes gets that top prize. What a piece of crap that monstrosity was…
I’d be willing to bet that pretty much everyone who has used Lotus Notes probably at worst has a “meh, at least it’s not Lotus Notes” opinion of Teams.
I allocate 32 of my 128GB to 'hugepages' - basically reserved areas of memory for the VMs (or other capable software) to use. It helps performance a bit.
Aside from that, I make pretty liberal usage of tmpfs (memory backed storage) for various things. When building software with many files it can make a big difference.
Fedpkg/mock will chew through 40-50GB depending on what I'm building/the chroot involved
Get Houdini Apprentice and if you like it, upgrade to Houdini Indie and get a free 3Delight license for rendering and try to max that combo out.
Clarisse is another option.
Just use your computer as you planned. There is nothing "cool" about large memory applications anyway. But maybe next time, don't waste money on RAM you don't really need.
You're not wrong though.
At a super high level, an ML algorithm converts content (text, images, or audio) into vectors (aka embeddings). Similar content should generate similar embeddings, so a large RAM lets you keep more embeddings in memory allowing more search. Large ram also makes training models easier.
2/ Data leaks can be fun to explore, but are often gigabytes of data. More ram makes them faster to query.
Edit: Also, run a cluster of anything (in VMs or containers) and muck around killing individual cluster nodes or just suspending them/throttling them to be extremely slow to simulate a brownout/straggling cluster node.
[1] https://github.com/apache/arrow-datafusion
And also how incredibly not-fast. The fact is that most applications are memory bandwidth bound, once you eliminate the disk as a bottleneck. Not CPU bound. So when you run off a ramdisk, it's not actually helping as much as I thought it would.
But! One really neat thing you can do is to save VM checkpoints, so that backing up your computer is as simple as checkpointing the VM. So there are other advantages.
Doing some video editing is fun too, and 3D modeling. Ever want to dabble with ZBrush? Now's your chance. Get yourself a nice big monitor and Wacom tablet. Yum.
(And then, y'know, set the hobby down and never touch it again, just like the rest of us. But it's fun while it lasts.)
Most programs spend little time doing computation, or reading I/O. Everyone knows I/O is expensive, so it's minimized.
But there's no getting around the fact that every time you want to do anything at all, you have to shuffle around memory. There's no choice.
One way to circumvent this restriction is to make memory faster. This is difficult with traditional approaches.
I was going to point to Memristors as a possible way forward, but honestly I don't know enough about the subject.
We're getting to the point where we're speed-of-light bound, I believe. I.e. running up against fundamental limits.
Still, there's a lot of room. One interesting thing is to read Feynman's lectures on computation: https://theswissbay.ch/pdf/Gentoomen%20Library/Extra/Richard...
He points out that a reversible computer is actually the most efficient, from an energy perspective. But the tradeoff is that things take more time. If you want to take less time, it generates more heat. And more heat means inevitable delay.
https://www.forrestthewoods.com/blog/memory-bandwidth-napkin...
Put MacOS and Linux (I recommend Ubuntu Mate for desktop) on there as a couple of VMs and poof, a much less ungodly 16GB of RAM per OS.
Alternatively, create a VM with an interesting application (for example a Genera VLM) and run that in the background with your other stuff.
Run several Electron apps at once (VSCode, Teams, Slack, etc.).
Alternatively, try running Elasticsearch to index something.