It started freezing maybe a month or two ago. It happens anytime between a few seconds after the OS loads, to hours or days later. I do not recall downloading anything around when this issue began that could be suspect.

I’ve put off fixing this because I have no idea how to even begin troubleshooting it. Internet searches for “Linux freezes” returns practically countless potential problems.

What are some recommendations? I have my root directory on a 30 GB partition separate from my home directory, which I think makes reinstalling my base image (Debian) easy without losing personal data, so that’s an option. Maybe there’s a system log file that would provide some insight?

I’m Linux dumb so please teach me how to fish!

I’ll add that my Windows install (on a separate drive) doesn’t freeze, and my Linux install is on a new Samsung drive that didn’t report issues, so the problems unlikely hardware related.

02:05 18OCT: Thanks for all the quick responses, a lot of helpful suggestions so far. I should clarify that “my computer freezes” means it is 100% unresponsive until it is rebooted. Ctrl+alt+del spam or changing terminal sessions gets a response. The last few entries in my most recent journalctl boot outputs are different from one another, and the I did not see any errors. For now, I’ll boot a live USB and let it sit for while, see if it crashes again.

  • Günther Unlustig 🍄@slrpnk.net
    link
    fedilink
    arrow-up
    1
    ·
    3 hours ago

    I’ve had something similar a while ago. Trying a different distro or doing stuff on the software side didn’t help.

    What fixed the issue was getting a new hard drive because the old one was breaking down.

    But maybe try other approaches first

  • y0din@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    4 hours ago

    There are many good answers here already, just wanted to add to it.

    It sounds very much like what you’re seeing could be either a driver fault or a memory-related issue. Both can manifest as hard system freezes where nothing responds, not even Ctrl+Alt+Fx or SysRq. You mentioned this briefly before, and that still fits the pattern.

    If it’s a driver issue, it’s often GPU or storage related. A kernel module crashing without proper recovery can hang the whole system—especially graphics drivers like NVIDIA or AMD, or low-level I/O drivers handling your SSD or SATA controller. Checking dmesg -T and journalctl -b -1 after reboot for GPU resets, I/O errors, or kernel oops messages might reveal clues.

    If it’s memory pressure or the OOM killer, that can also lock a machine solid, depending on what’s being killed. When the kernel runs out of allocatable memory, it starts terminating processes to free RAM. If the wrong process goes first—say, something core to the display stack or a driver thread—you’ll see a full freeze. You can verify this by searching the logs for “Out of memory” or “Killed process” messages.

    A failing DIMM or a bad memory map region could also behave like this, even if Windows seems fine. Linux tends to exercise RAM differently, especially with heavy caching and different scheduling. Running a memtest86+ overnight is worth doing just to eliminate that angle.

    If your live USB sits idle for hours without freezing, that strongly hints it’s a driver or kernel module loaded in your main install, not a hardware fault. If it does freeze even from live media, you’re probably looking at a low-level memory or hardware instability.

    The key next steps:

    Check system logs after reboot for OOM or GPU-related kernel messages.

    Run memtest86+ for several passes.

    Try a newer (or older) kernel to rule out regression.

    If it’s indeed a driver or OOM event, both would explain the “total lockup” behavior and why Windows remains unaffected. Linux’s memory management and driver model are simply less forgiving when something goes sideways.

  • DigitalDilemma@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    6 hours ago

    Others have already given some good advice, but rather than let it sit and wait to error, use the program “stress”

    It’ll work specific components hard which can help locate whether it’s a CPU/Heat problem, or Memory, or disk.

    And if it still fails on random things, take a long hard look at your PSU and measure voltages if you can. But if everything else checks out, motherboard could be it. Tiny cracks/dry joints, even inside the pcb layers, can lead to occasional problems that come and go with heat or vibration and are impossible to accurately diagnose beyond swapping it out.

    • davetortoise@reddthat.com
      link
      fedilink
      arrow-up
      1
      ·
      6 hours ago

      This definitely can’t hurt and will probably help narrow it down, but it’s unlikely that OPs problem is hardware-related given that it doesn’t happen on Windows.

      • DigitalDilemma@lemmy.ml
        link
        fedilink
        English
        arrow-up
        4
        ·
        5 hours ago

        I can understand that view, but I’ve personally experienced things where it absolutely can be this and I respectfully disagree with you. I think what OP describes is more likely to be hardware than the OS.

        Firstly - different drive for linux. A dying drive can freeze and take down its host, regardless of OS.

        Secondly, linux uses memory very differently to windows, especially in relation to caching the filesystem. Linux might be accessing memory that Windows doesn’t get to.

        We also don’t know what loads OP puts on his computer when running windows and linux. Maybe he has windows to game with, or may he uses linux for LLM/compute work and runs it full tilt. Each may do very different things and tax different aspects of the hardware.

        It’s simply not safe to assume anything when diagnosing intermittent problems with hardware. The only reliable method is methodical testing and isolation.

  • MonkderVierte@lemmy.zip
    link
    fedilink
    arrow-up
    2
    ·
    6 hours ago

    dmesg/journalctl, then udev (udevadm monitor) and lsusb/lspci might be helpful too. Places to look at (only if you fiddled with them): /etc/fstab for mount options and do you maybe have a weird rule in /etc/udev, /etc/modprobe.d or /etc/sysctl?

  • kuneho@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    6 hours ago

    Unrelated, but I had something relatively similar once with my Inspiron 7520 laptop. In theory, that machine only supports 8GB of RAM, but technically I could put 16 into it and worked fine. Later I upgraded to a different machine and put this laptop aside, but sometimes I set it up if I go to friends place and need a PC to do some light multiplayer lan parties or such.

    For a while, the laptop has a strange locking up issue when I booted 64 bit OSs. Or I don’t know, after my testings, it seemed that booting a 64 bit OS would crash my machine sooner or later. Maybe even right after boot, maybe after when I logged in or used it for some time. Booting into Memtest also locked up eventually the laptop (but running the 32 version of Memtest didn’t). Pulling out either memory stick (2x8GB) solved the issue, it worked with both sticks on both slots, if I used only one. The two sticks together on the other hand made my machine crash after boot, no matter which stick went to which slot.

    Difference is that every OS did this, not just Debian, though Windows seemed to keep up longer in this case, but it also crashed on me.

    Now I don’t have this problem. It just… disappeared after not using the laptop for a while again.

    So… if it’s not software issue, maybe try to reseat your RAM sticks. Or use some compressed air to clean up the slots, maybe check the contacts of the sticks and clean them with some isopropyl and a soft brush.

    It also can be storage issue, if your Windows install works fine on a different drive. Once I had an Ubuntu installed to the same laptop I mentioned and its HDD was failing hard, but the system kept up for a while, just had some really weird issues popping up here and there. But then eventually failed completely. Amongst the weird happenings, random freezes were also a thing with my bad HDD.

  • ozymandias117@lemmy.world
    link
    fedilink
    English
    arrow-up
    17
    ·
    12 hours ago

    Maybe easier to another suggestion, you’re probably using a systemd based distros -

    journalctl -b -1 will show you the logs from the previous boot, so you could check that after resetting to see if anything was logged

    For some other ideas to narrow down where the issue is…

    If you’re stuck in the frozen state, you can Ctrl+alt+delete 7+ times quickly to tell systemd to try to restart the system. If this works, it means init was still able to process messages

    If that doesn’t work, you could enable Magic Sysrq Key (if disabled in your distro), and then use the key sequence REISUB to try to see if the kernel is still responding and can reset the system

    • Korkki@lemmy.ml
      link
      fedilink
      arrow-up
      5
      ·
      9 hours ago

      If you’re stuck in the frozen state, you can Ctrl+alt+delete 7+ times quickly to tell systemd to try to restart the system.

      Less destructive way would be to try to open a terminal session with ctr+alt+f3 (or any f key) If it’s only the gui that’s frozen. Makes it also possible to troubleshoot things from there. I had this issue recently. AMD core boost caused random freezes to kwin.

      • GooseFinger@sh.itjust.worksOP
        link
        fedilink
        arrow-up
        4
        ·
        8 hours ago

        It froze again tonight. Neither ctrl+alt+del spam nor trying to change terminal session worked unfortunately. Seems to be 100% locked up.

  • SayCyberOnceMore@feddit.uk
    link
    fedilink
    English
    arrow-up
    2
    ·
    8 hours ago

    My guess… you have some hardware that Linux and Windows communicate with differently.

    Either the hardware or the Linux driver is potentially broken.

    If you’re able to (hard with a laptop, I know), disconnect as many things as you can - even take out the Windows hardrive - and see if that helps.

    For all the suggestions about the journal, you will see random things at the very end, but see if there’s anything common from earlier in the boot process.

    sudo journalctl -xe may be helpful here.

    • sudo to ensure you’re seeing the entire journal
    • x adds additional explanations
    • e jumps to the end (again, probably look further back)
  • Xylight@feddit.online
    link
    fedilink
    English
    arrow-up
    4
    ·
    9 hours ago

    this is important, and will help you find solutions much more specific than just “system freeze”

    • Right after a crash, once you reboot, run journalctl -b -1 and scroll to the bottom. Look for any big red text, all of that will be very helpful to diagnose this issue

    Otherwise,

    • Does it freeze permanently, requiring a reboot, or for a few seconds?
      • If it’s just for a few seconds, and you’re on an AMD system, it would sound like an fTPM stutter. A BIOS update would likely fix that, it was a widespread issue.
    • Are you using an AMD or NVIDIA GPU?
    • Do you play any games or use any software that uses OpenGL? (Blender and minecraft are some I’ve had problems in before)
    • GooseFinger@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      2
      ·
      9 hours ago

      No red text from journalctl unfortunately. My last few sessions each end with different messages too. One is a KDE Connect warning, a few others echoing some commands I sent in the terminal, etc. No red errors.

      The system freezes permanently, requiring a reboot.

      I have an AMD GPU, and likely have OpenGL installed.

  • Snot Flickerman@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    15
    arrow-down
    1
    ·
    edit-2
    13 hours ago

    the /var/log/ folder would be the best place to start.

    1. When a random freeze occurs note the time. Try to be as accurate and close to the time it happened as you can, including day, hour, and minute.
            A. If possible, do this for multiple instances of this happening

    2. Check various log files starting with syslog and look at the times noted above. Look for any relevant errors being thrown by the system at these times.

  • AllForTwo@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    8 hours ago

    Which distro are you on?

    Was there a kernel update recently by chance? Have you tried falling back to an earlier version? Got any timeshift backups?

    • GooseFinger@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      2
      ·
      8 hours ago

      Debian 12. When the freezing first started, I lied to myself saying it’ll self-correct with time. I’ve since lost track of which timeshift backup to use. I am a silly fool.

      And there was no kernel update afaik.

      • AllForTwo@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        7 hours ago

        I suppose the logging from the Os there is the same as journalctl. I’m new to Linux, but I’ve done Hackintosh quite a bit, so a lot of similar commandlines and debugging. I digress.

        Have you tried making a new user, booting from a live usb or booting into a different desktop environment? I feel those are the lowest hanging fruits where you can check if it hangs universally or just on your main user account. Would help narrow it down a little if you haven’t been able to spot anything in logs.

  • PriorityMotif@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    10 hours ago

    Had the same issue and it was my mouse causing the USB ports to stop working I realized that the clock was still working and it would go into hibernate. Just wouldn’t respond to mouse or kb.

    • GooseFinger@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      1
      ·
      9 hours ago

      Whole system freezes unfortunately. The only silver lining is that I know exactly what time the crash occurred, since my clock freezes too!

  • AnimaLibera@piefed.social
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    1
    ·
    13 hours ago

    If it’s freezing regularly, you could try booting a live usb of any Linux distro and see if it does the same thing. That will tell you relatively quickly if it’s a hardware problem or a software problem.

    • Snot Flickerman@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      edit-2
      13 hours ago

      It happens anytime between a few seconds after the OS loads, to hours or days later.


      That will tell you relatively quickly if it’s a hardware problem or a software problem.

      I mean, potentially not that quickly if they have to wait days for it to happen. Good low-investment-of-personal-time-and-effort suggestion though.

      • AnimaLibera@piefed.social
        link
        fedilink
        English
        arrow-up
        2
        ·
        13 hours ago

        Yeah, I would give it a few hours to most of the day to test and then move on with something else. I really recommend journalctl though. Of course it depends on how long it stays on and how fast you can read the logs.

  • AnimaLibera@piefed.social
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    13 hours ago

    Command line is your friend. It might not seem like it at first, but it is very helpful.

    Use the journalctl command in a terminal.

    Command Purpose Example
    journalctl -u [SERVICE] View logs for a specific systemd unit/service. journalctl -u nginx.service
    journalctl -b Show logs from the current boot. journalctl -b
    journalctl -b -[N] Show logs from a previous boot (ee.g., -1 for the last boot). journalctl -b -1
    journalctl --list-boots List all recorded boot sessions. journalctl --list-boots
    journalctl -p [PRIORITY] Filter by priority level or a range. Levels are 0 (emerg) to 7 (debug). journalctl -p err…warning (shows errors, critical, alerts, and warnings)
    journalctl --since=“[TIME]” --until=“[TIME]” Filter by time range. Supports absolute (YYYY-MM-DD HH:MM:SS) and relative times (1 hour ago, yesterday). journalctl --since “20 min ago”
    journalctl -n [LINES] Show only the last N entries. journalctl -n 20
    journalctl -k Show only kernel messages (equivalent to dmesg output). journalctl -k```

    I spent a couple of days trying to figure out why I couldn't install any variant of Arch Linux or Fedora Linux on my laptop.  That command helped me narrow things down.