Written 7 Sep 2026. This is a how-to, not a product card.
When the computer ran out of memory
Pi-hole vanished, the share died, or dmesg says Out of memory. Confirm the OOM killer, free RAM, restart house jobs, stop the heavy process. Skip a new mini PC tonight.
Box feels slow but nothing died? Start with when the old PC feels slow. Only checking free RAM while things still work? That quieter look is see if the computer still has free memory. Disk packed with no free gigabytes? when the computer's disk is full. This note is the night a house job disappeared: ads are back, the share won't open, or SSH came back after a freeze, and the log shows the kernel killed a process to stay alive.
Skip until you can reach a shell
You need SSH or a keyboard and screen. Connect fails? when SSH won't connect. No fans, black screen? when the old PC won't boot. Soft-off after you thought it was on? is the computer still on?. Don't yank the power to "clear memory" while the house folder has no second copy.
What this is
Linux keeps short-term work in memory (RAM). When every megabyte is spoken for, the kernel's OOM killer picks a process and stops it so the rest of the system can breathe. Pi-hole, Samba, a local chat model, or even SSH can be that victim. The box may look "fine" a minute later with free RAM again, because the heavy job is gone. The fix is not a new N100 before you read the log. Prove the kill, see what is still heavy, bring house jobs back, then stop the hog from coming back.
Step 1: prove the OOM killer ran
Recent kernel lines:
dmesg -T | tail -n 80
Or, if that buffer wrapped:
sudo journalctl -k -b --no-pager | grep -i -E 'Out of memory|oom-kill|Killed process' | tail -n 20
Lines with Out of memory, oom-kill, or Killed process mean you are on this page. Note the process name in the line (ollama, smbd, pihole-FTL, a browser). No OOM lines, but the box still feels heavy? Go back to when the old PC feels slow. Ads back with Pi-hole still running and memory fine? That is usually DNS: when ads come back.
Step 2: see free memory right now
free -h
Look at available under Mem. Right after a kill, available can look healthy again. That does not mean the problem is gone. It means the victim freed its RAM. Total installed size is a separate look: see how much memory the computer already has. Quiet free-room check while nothing failed: see if the computer still has free memory. Overflow on disk (swap): see if the computer already has extra memory on disk.
Step 3: see what is still heavy
Snapshot by memory use:
ps aux --sort=-%mem | head -n 12
Or:
top
Press M to sort by memory, then q to quit. One line eating several GB on an 8 GB OptiPlex is the story: a local chat model, a stuck copy, a desktop browser left open on a machine that also runs the house share. Short drill for reading that list: see what is keeping the computer busy.
A local chat model on this same PC is a common hog: run a local chat on the old PC. Stop it when you are not chatting, or keep chat on a second box. Pi-hole alone is light. A big model plus Samba plus a photo dump on 8 GB is not.
Step 4: bring house jobs back
If ads are back, check Pi-hole:
pihole status
Or:
sudo systemctl status pihole-FTL --no-pager
Restart if it is dead:
sudo systemctl restart pihole-FTL
If the house share vanished:
sudo systemctl status smbd --no-pager
sudo systemctl restart smbd nmbd
Then retry open from a phone or laptop: open the house share from a phone, open the house share from a laptop. Admin page still won't load after a clean restart? when the Pi-hole admin page won't open. Share still won't open for other reasons: when the house share won't open.
Step 5: stop the hog so it does not kill again
If ps still shows the heavy job, stop it cleanly when you can (quit the chat UI, cancel the copy). If it will not die:
sudo kill PID
Swap in the real PID from ps. Wait a few seconds, then free -h again. Still stuck? sudo kill -9 PID is the hard stop. Prefer the plain kill first.
Don't start the same model again on this box tonight if you also need Pi-hole and the share. Don't add a second heavy job "to test." Don't buy RAM for a soldered N100 before you stop the process that ate the 8 GB you already have.
Step 6: if it keeps coming back
OOM again within a day means the workload does not fit. Options in order:
- Run one heavy job at a time. Stop local chat when you finish.
- Confirm swap exists so a spike has a cushion: see if the computer already has extra memory on disk. Swap is slow overflow, not a reason to leave a 12 GB model on 8 GB forever.
- Move chat or builds to another old PC. Keep this one for DNS and files.
- Only then shop more RAM, and only if the board takes it. Ceiling traps: N100/N150 RAM ceilings and soldered traps.
Disk full can make the whole box feel dead too, without an OOM line: when the computer's disk is full. Fan screaming after a memory storm: when the old PC's fan is loud.
What this is not
This is not a quiet free-memory check while nothing failed (see if the computer still has free memory). It is not the general slow walk when nothing was killed (when the old PC feels slow). It is not a full disk. It is not a reason to open port 22 on the router. It is not blaming Pi-hole for CPU when a chat model filled RAM and the killer picked FTL.
What next
Re-check free RAM after the restart: see if the computer still has free memory. Whole box still heavy with no OOM line: when the old PC feels slow. Ads still back after FTL is up: when ads come back. Pending reboot after weekly updates: see if a reboot is needed. Second copy of the house folder before the next experiment: a backup of the house folder.
Optional: jot the killed process name and available MB after restart in Lab plan โ username + passkey, no email. Skip if you just want to keep reading.
Skip
- Skip a new mini PC before you read one
dmesgorjournalctlOOM line. - Skip blaming Pi-hole for ads until you confirm FTL is running after the kill.
- Skip yanking power to "clear memory" with no second copy of the house folder.
- Skip starting the same local chat model again on an 8 GB box that also runs the share.
- Skip opening the computer to the public internet for a cloud memory graph.
- Skip soldered-RAM shopping until you stop the process that ate the RAM you already have.
Sources
Debian: dmesg. Debian: journalctl. Debian: free. Debian: ps. Linux kernel: Out of Memory management. Official pages only. For the quiet free-memory check, see see if the computer still has free memory. For the general slow walk, see when the old PC feels slow. For local chat on this box, see run a local chat on the old PC.