this post was submitted on 17 Dec 2023
101 points (97.2% liked)

Linux

48330 readers
590 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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Title. Besides setting tmpfs to use 10GiB of it to store downloads.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 114 points 11 months ago* (last edited 11 months ago) (1 children)

Run not one, but two electron based apps? 😅

All jokes aside, most desktop apps and web browsers, nowadays, use ungodly amounts of RAM. The pessimist in me blames Chrome and electron, but in reality it just comes down to programmers being more accustom to having access to more memory than they need.

I say relax and enjoy the lack of slowdowns - having too much RAM is not a problem, but having too little is. Your only concern should ever be trying to avoid the latter, and with 32gb of RAM you should be good until the next big Discord update. (slight /s on that last point)

[–] [email protected] 37 points 11 months ago (1 children)

RAM is the kind of thing you're better off having too much than not enough. Worst case the OS ends up with a very healthy and large file cache, which frees up your storage and makes things a bit faster/lets it spend the CPU on other things. If anything, your machine is future proofed against the ever increasing RAM hungriness of web apps. But if you run out of it, you get apps killed, hangs or major slowdowns as it hits the swap.

The thing with RAM is that it's easy for 99% of your workload to fit comfortably, and then there's one thing you temporarily need a bit more and you're screwed. My machine usually uses 8-12/32GB of RAM but yet I still ended up needing to add swap to my machine. Just opening up the Lemmy source code and spinning up the Rust LSP can use a solid 8+GB alone. I've compiled some AUR packages that needed more than 16GB of RAM. I have 16 cores so compiling anything with -j32 can very quickly bring down a machine to its knees even if each compile thread is only using like 256-512MB each.

Another example: my netbook has 8GB. 99% of the time it's fine, because it's a web browsing machine, and I probably average on 4GB usage on a heavy day with lots of tabs open. But if I open up VSCode and use any LSP be it TypeScript or Rust, the machine immediately starts swapping aggressively. I had to log out of my graphical session to compile Lemmy, barely.

RAM is cheap enough these days it's nice to have more than you need to not ever have to worry about it.

[–] cyanarchy 6 points 11 months ago

I have 64GB as future proofing (ITX board, two slots, can't address any more). Normally I probably use 8 to 10 of those doing things like gaming and hoarding internet tabs like they're a nonrenewable resource. I actually managed to crash my machine with an out of memory condition compiling something a while back. I don't remember what and I'm sure it doesn't count as regular use but I installed ZRAM to prevent it from happening again.

[–] [email protected] 34 points 11 months ago

Run your web browser from RAM for faster browsing.

https://github.com/graysky2/profile-sync-daemon

[–] [email protected] 28 points 11 months ago

2 Chrome tabs at the same time!

[–] [email protected] 26 points 11 months ago (1 children)

With the rate at which Electron applications catch on? Nothing, you'll end up using it all in a few years time.

[–] [email protected] 9 points 11 months ago

Was just gonna say this. Run discord and slack, and you're all set.

[–] [email protected] 19 points 11 months ago* (last edited 11 months ago) (2 children)

Nothing. My laptop has 8GB and while this is somewhat the limit, it's enough to browse, do office stuff, a bit of development/programming and even a bit of CAD for my 3D printer, video editing, retro-gaming and all sorts of things. I'd prefer to have 16GB because Firefox likes to eat a lot of RAM, but the laptop is too old for me to upgrade anything at this point.

If you'd like to waste your resources, you could run 4 other operating systems simultaneously in VMs. Or try artificial intelligence chatbots and load one of the large language models. They can easily make use of 32GB of memory and more.

[–] [email protected] 3 points 11 months ago

Agreed. I have ageing hardware that I upgraded to its maximum 16GB RAM, and I manage to browse the web and do basic office work with that. The most memory intensive work I do beside browsing is in GIMP, and I simply set some sensible virtual memory for that to work.

Just use a light DE, or even scale back to only a WM. People insisting that KDE or Gnome are lightweight are exactly the same who claim that 32GB RAM is a minimum. Yeah, it is when even your desktop environment is bloated 🙄

If you're a gamer and can afford the hardware upgrades to stay at the current bleeding edge, go ahead. I keep an old box alive and make it work instead.

[–] [email protected] 2 points 11 months ago* (last edited 11 months ago)

I have 16 gigs of ddr4 sodimms so if you happen to live close enough (unlikely) and need ddr4 i'd be willing to give it to you for free

[–] [email protected] 15 points 11 months ago (2 children)

Virtualize fun things for projects

[–] [email protected] 5 points 11 months ago

Heh, I've got 32gb on my Proxmox box, and would be lying if I said I wasn't eyeballing a few 64 or 128 sticks.

[–] [email protected] 1 points 11 months ago

I second that, install cockpit if you don't want to bother with the CLI and run a couple of VMs. You can even start 3 VMs and install Kubernetes on them and play with it.

[–] [email protected] 14 points 11 months ago

Self host some stuff.

[–] [email protected] 12 points 11 months ago (3 children)

Just wait. In 10 years 32 gig is on the low side to just run the OS. Hardware getest faster and bigger, but software scales with it.

The more resources are available, the more people will program computers to use them.

My first graphics card had 128mb memory. These days it goes in gigabyte and they use the memory and processing power to produce amazing things.

On the other hand, they also are not as critical on efficiëncy as used to be, because there are simply more resources available anyway. As a consequence, some programs use a silly amount of resources for basically doing nothing. Sometimes I really feel like my browser is eating RAM.....

[–] [email protected] 13 points 11 months ago* (last edited 11 months ago) (3 children)

After boot, I'm using 2GB. I haven't noticed Linux doing the ram-hog thing like Windows at all. But Firefox is currently using 8GB.

Just restarted Firefox and it's using 2.5GB now. I think it stores a lot in ram from video.

[–] [email protected] 6 points 11 months ago (3 children)
[–] [email protected] 10 points 11 months ago

Average web developer principle

[–] Verat 7 points 11 months ago* (last edited 11 months ago)

A program that can run on 1GB but uses 2GB is more wasteful, OS and FS level caching and memory reclamation only work if the memory is available, and a program wasting it takes it from everything else, unused RAM is wasted, but so is RAM being used for no actual function.

Not to say programs cant use large amounts, but they should provide a level of functionality for the amount of memory used, and some programs of late have been more than a bit inefficient, in short, filling the RAM is good, but do make sure its actually being used.

load more comments (1 replies)
load more comments (2 replies)
[–] [email protected] 4 points 11 months ago (1 children)

I remember when system memory was measured in KB...

Fuck, I'm old.

[–] [email protected] 2 points 11 months ago

Yeah, that day when you got your first whole MB of RAM... I remember mine was on SIPP chips.

[–] [email protected] 2 points 11 months ago

I have a machine with 1gb of ram. I can browse the web and everything

[–] [email protected] 11 points 11 months ago

"just browse the internet" doesn't indicate that you don't need a powerful computer in 2023. Modern browsers are really heavy - and rendering websites are much more complex now.

Unless you're really frugal about your PC budget, I think it's definitely "to-go" for 32G

[–] [email protected] 11 points 11 months ago (1 children)

Mount your .cache dirs into memory via tmpfs

[–] [email protected] 5 points 11 months ago* (last edited 11 months ago) (2 children)

Does it improve performance in any way? Seems a bit obvious, but I'll ask anyways for the sake of curiosity.

[–] [email protected] 5 points 11 months ago
[–] [email protected] 4 points 11 months ago

Yes, and if you have an ssd, it will decrease the amount of usage that the limited(albeit ridiculously high) read/write cycles the ssd is capable of. However, it is unlikely you will hit those limits with that kind of usage, lol

Also, memory is faster always, but your usage is negligible. You can disable swap(linux/mac) or page file(windows) to force memory to be used, and your drive is used less. Firefox can be configured to disable disk cache and increase ram cache. Also, it will be noted that this cache is marked as temporary ram cache. any application that needs more ram can delete the temp cache for usage(dynamic ram usage)

But that's it. The best thing to do is live your life and be happy that you are future proofed for any task that may arise.

[–] [email protected] 11 points 11 months ago

Nothing. Don't make up problems for your hardware, lol.

I'm guessing you listened to someone who didn't know what they were talking about.

[–] [email protected] 10 points 11 months ago (3 children)

Here's a little script I've put in my $PATH, called memsum:

#!/usr/bin/bash
/usr/bin/ps -eo rss,command --sort -rss | egrep $1 | awk '{ hr=$1/1024 ; sum +=hr} END {print sum}'

Now you can go: memsum firefox or memsum whatever and see that, actually, apps use a ridiculous amount of memory these days.

I can get Firefox up to 8GB by using things like Office 365.

[–] [email protected] 5 points 11 months ago

Browsers often use a lot of unreserved memory marked as free for whoever wants it. This is how you get 16GB browser sessions.

load more comments (1 replies)
[–] [email protected] 7 points 11 months ago

Use it for caching more stuff to make your system even faster, virtualization and most importantly, browsers

[–] [email protected] 6 points 11 months ago

Build everything from source ;p

[–] silverdiamond 5 points 11 months ago

you can disable paging (swap) i guess apart from launching more things at the same time and letting apps know you have ram for them to cache shit (check app settings some apps do have a how much ram should we use slider like okular the kde pdf viewer) and virtualisation of multiple os's i can't think of much

[–] [email protected] 5 points 11 months ago

Run your own ai to help with coding

[–] [email protected] 5 points 11 months ago* (last edited 11 months ago)

Just open a few more Chrome tabs: a couple of Ali Express and Amazon pages and a few YouTube videos and couple Reddit posts, and you'll be wondering why you only got 32.

[–] [email protected] 4 points 11 months ago

Virtual Machines?

[–] [email protected] 4 points 11 months ago (1 children)

It’s great for multitasking without slowing down any other programs you may be running at the same time.

Depending on what sort of programming you are doing, you might use more of the RAM than “normal”.

[–] sloppy_diffuser 3 points 11 months ago

LSPs, linters, AI auto complete, multiple ranked auto complete sources, contextual syntax highlighting abused to feed things like symbol tree views, type analysis, scoped file trees depending on what you're working on, infinite undo since last commit, and all available in real-time.

I feel like I use up 8GB the moment I type "neovim" on a sufficiently large node project, lol.

[–] [email protected] 4 points 11 months ago* (last edited 11 months ago)

Run different virtual machines for different purposes. For example, you can have a VM that does all its networking over a VPN and downloads torrents in the background while you do other things. Or you can run other OSs in VMs.

Also, containerized software is everywhere now and it uses more resources. Extra memory helps.

[–] [email protected] 4 points 11 months ago (1 children)

Compile chromium, firefox or rust

[–] [email protected] 2 points 11 months ago (1 children)
[–] [email protected] 2 points 11 months ago

Only two things. Rust is 12 gigs on disk(which translates into 12 gigs of ram if you use tmpfs) and IDK how much in ram. Chromium is about same. Keep rest of ram for linker.

[–] [email protected] 3 points 11 months ago
[–] [email protected] 3 points 11 months ago

Open ten tabs in Chrome. Maybe even twelve!

I don't think you need 32GB of RAM. 16GB should be enough, and 8 will still do for light tasks (though modern apps and websites are starting to push that, which is terrible). Your OS uses any RAM you don't use to cache files, which speeds up your system, reduces power consumption, and could save you some SSD wear by caching the writes.

If you haven't already, you can mount a tmpfs over your browsers' cache directories (a bunch of them in ~/.cache or ~/. config). It used to really speed up browsing back in the HDD days. I doubt it's still necessary, but hey you've got plenty of RAM, right?

If you really don't do anything but browsing, you could boot your entire OS into RAM and have a 0 SSD latency browsing experience.

You could also use the RAM to run a bunch of VMs or containers. I used to run a separate Pihole VM, for example; virtual machines are nice and isolated, so you don't risk ruining your /etc directory with a billion different configured services. The big downside of running such stuff on your machine is that you quickly end up with a whole bunch of duplicates (I have like four versions of postgres running on a server somewhere because I'm lazy) but if you have RAM to spare, that doesn't matter.

One container that may be worth looking at is Waydroid (or Anbox if you're on X11) to run Android apps on your desktop. I find that a bunch of different services have web interfaces thst just don't work as well as their apps, and running those can be nice. How much of a difference this makes will depend on the services you use, of course.

Lastly: don't underestimate the advantages of plenty of RAM when programming. It'll depend on what language you use, but many compilers will generate a million tiny files that will all be written to disk and read back. SSDs are fast, but random reads are still nowhere close to RAM speed. Your OS will hide most of this overhead, but I definitely felt the difference going from 16GB to 32GB because of file system caching alone.

[–] [email protected] 1 points 11 months ago

Build android

load more comments
view more: next ›