this post was submitted on 21 Mar 2025
11 points (100.0% liked)

Linux

9337 readers
156 users here now

Welcome to c/linux!

Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!

Rules:

  1. Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.

  2. Be respectful: Treat fellow community members with respect and courtesy.

  3. Quality over quantity: Share informative and thought-provoking content.

  4. No spam or self-promotion: Avoid excessive self-promotion or spamming.

  5. No NSFW adult content

  6. Follow general lemmy guidelines.

founded 2 years ago
MODERATORS
 

Hi guys!

I have what I'd consider a beefy gaming PC. AMD 7700 CPU, 32GB RAM, 7800XT 16GB, NVMe 1TB for OS, mSATA SSD 2TB for storage/games.

So...whenever I get a while using the computer, with a bunch of windows open, say firefox taking 4GB of RAM, total for everything a bit over 16GB...I'm prone to get a whole system slowdown/freeze, which can take a few full minutes until it settles. I can see the storage red led on the whole time without blinking, so it really looks like swapping.

However sometimes I don't see movements in the system process viewer, in usage from RAM/swap, I'd imagine those graphs would change if the data in swap has changed.

Swapping is set in the mSATA, taking 8GB, so I reckon that migth not be the fastest. Still, that's an SSD. I'm not sure how can I check/troubleshoot whatever is tanking my computer performance?

top 15 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 55 minutes ago

What is your swappiness? If you have all that ram you should not be swapping. You are probably still at a swappiness for an average system, 60. Try 10. sudo sysctl vm.swappiness=10

[–] [email protected] 3 points 8 hours ago
[–] [email protected] 10 points 13 hours ago

Rather than guessing at whether it's swapping, why not check your swap usage? Running free -h in a shell will give you a brief overview of memory usage. Various GUI system monitors will graph it.

You can also find out what process is hitting your storage so hard with a tool like iotop.

[–] [email protected] 6 points 13 hours ago* (last edited 13 hours ago) (1 children)

In the sysstat package, there's a command, iostat, that shows the amount of time that the average CPU (core) is waiting for something.

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.57    0.01    0.55    3.14    0.00   95.73

"User" is the CPU time used by regular processes. "Nice" is the time used by "niced" processes, stuff running at low priority. "System" is time used by the kernel. "Iowait" is the time waiting for I/O operations to complete.

If you're bounded on I/O, then the iowait number is probably going to be relatively high.

It'll also show you I/O load on each device (and the sysstat package can log this over time, let you use sar to see historical numbers).

You can artificially induce load on a given I/O device to see whether load on it induces your problem. Something like this:

$ dd if=/dev/zero of=filename-that-you-want bs=1M

That'll start your system just writing zeroes to a file. If it's I/O contention on the mSATA drive, then I'd expect you to see the problems you mentioned.

One thing you might check is whether your system is logging errors during this time. I don't know what a failing SSD looks like, but in my experience a failing rotational drive would often see errors and then attempts to re-perform I/O operations. That produces seriously-degraded disk I/O performance. These errors will show up in the kernel log. To see kernel errors since the current boot:

$ journalctl -kb

The smartmontools package contains a command, smartctl, which will let you see what your drive thinks of its own health. I'm not really familiar with what a failing SSD would look like, but with rotational drives, it can indicate that something's wrong with the drive, and it looks like my SSDs do report SMART status.

# smartctl -a /dev/sda

Moving swap

Linux can, if it needs to, use a swap file instead of a swap partition, so you don't need to repartition your NVMe if you just want to try putting your swap on the NVMe.

If you want to, first, for the current boot, disable all the active swap partitions.

# swapoff -a

If you run top, you'll see the available swap be at zero.

Then you want to create the swap file. Say we drop it in /var:

# mkswap --file /var/swapfile --size 32GiB

And then you can enable it:

# swapon /var/swapfile

Then see how things perform.

If it makes your problem go away and you want to make the change persistent:

In /etc/fstab, you'll have a line for your swap partition that the system reads at each boot. Will probably look something like this:

/dev/mapper/system--vg-swap_1 none            swap    sw              0       0

Comment that out by sticking a "#" at the beginning of your line, and put a line in for your new swapfile on the NVMe:

/var/swapfile none            swap    sw              0       0
[–] [email protected] 3 points 10 hours ago (1 children)

Thanks for the very detailed guide. Would you advice to have such a large swapfile? If I remember correctly, the old advice was to have double the storage in swap than in RAM. But after 4 or 8GB of RAM or so, this is no longer needed and just a generic amount of swap is kinda needed.

I'm moving now my swapfile to the nvme. I might put it in /var indeed. Thanks!

[–] [email protected] 2 points 9 hours ago* (last edited 9 hours ago)

Would you advice to have such a large swapfile

On laptops, you normally want at least as much swap space as you do physical memory, as when you hibernate the thing, that's where the hibernation data is stored, and if you don't have enough space there, hibernation will fail. IIRC, it's also required for some kernel debugging technique (where, as hazy memory indicates, I believe the kernel can basically "dump core" to swap space, then reboot and write it out to regular storage). So it certainly works, because there are a lot of Linux systems out there that use that much relative to physical memory. Though I admit that I've never tried using a swap file instead of a swap partition, myself.

It's not quite like the old days, with rotational drives, and pre-OOM killer, where having a huge amount of swap would let the system bog down to the point where it couldn't be used.

Do you need 32GB swap? Probably not, if you don't plan to hibernate the system. But unless you need the storage for something else, probably doesn't hurt. And if you've got a 1TB system drive, I doubt that you're short on space.

I have 128GB of main memory and 128GB of swap on this system. Same 1:1 ratio, and I normally use that on Linux systems.

For the example, I just chose an arbitrary, "reasonable" size. Feel free to pick a size that you feel is better, if you'd prefer something else.

[–] [email protected] 2 points 12 hours ago (1 children)

Probably not it, but what DE/WM are you using? I had a very similar issue on KDE, but it would go away if I switched DEs.

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

Yeah, it's KDE, but I wouldn't want to move away from it.

[–] [email protected] 1 points 4 hours ago

It still might be worth trying another DE/WM for a bit to see if the issue is KDE exclusive. It might help you narrow down the cause.

[–] [email protected] 2 points 13 hours ago (2 children)

You shouldn't really use swap on an SSD in the first place. It reduces the drive's lifespan.

[–] [email protected] 1 points 3 hours ago

An SSD also throttles as it heats up, going as slow as an old HDD. I thought I broke mine when it took an hour to copy 100 gigs of files, but it just slowed down to keep under 60C. Idk how much swapping heats it up though.

[–] [email protected] 3 points 13 hours ago (1 children)

While true, you're still unlikely to see significant wear from a typical PC use case over the typical replacement time.

[–] [email protected] 2 points 7 hours ago (1 children)

Typical replacement time of what? You never need to replace an SSD if it doesn't wear out.

[–] [email protected] 3 points 7 hours ago

most people aren't using 64gb ssds anymore, so I would say that the 64gb ssd I bought in 2014 has outlived its usable life, even though it is not worn out.

[–] [email protected] 1 points 13 hours ago* (last edited 13 hours ago)

Have any metrics on your heat? Dmesg logs? Power? Minutes of freezing certainly seems like a heat problem, but could also be a device going offline until power is restored.