Paste the output you already have. top, dmesg, df, free, journalctl, a failed unit. It reads the signals, ranks what matters, and hands you the next read-only command to run. Nothing installs. Nothing leaves the tab.
Drop in one or several outputs. It matches known trouble signatures and orders findings by risk. This runs entirely in your browser.
The "what do I run to see X" library. Every command here only reads. Nothing changes state. Copy and paste.
The failures that page you at 2am, what they look like in the logs, and the read-only confirm.
nproc. Load 8 on 8 cores is full, not on fire.df -h shows space. df -i shows inodes.df -h means inodes are exhausted. Millions of tiny files.lsof +L1.SIGTERM (15) polite stop. SIGKILL (9) forced, no cleanup.SIGHUP (1) reload config for many daemons.dmesg, not app logs.failed the unit died and stayed dead.activating (auto-restart) it's crash-looping.inactive (dead) stopped cleanly, may be normal.systemctl status NAME then journalctl -u NAME -b.dmesg or /dev/kmsg.journalctl. Persistent if /var/log/journal exists./proc/PID/, limits, fd, status, cmdline./proc/mounts. Open files: lsof.