Plex Server Keeps Crashing — How to Diagnose and Fix It
Troubleshoot Plex server crashes with log analysis, database repair, and resource monitoring.
A Plex server that crashes is worse than one that runs slowly. Slow performance degrades the experience; crashes destroy it entirely. Your family starts a movie and it dies mid-stream. Your remote users lose access without warning. Scheduled recordings fail. The good news is that Plex crashes almost always leave diagnostic evidence, and most causes have straightforward fixes once identified.
Step 1: Check the Plex Media Server Logs
The Plex Media Server logs are your primary diagnostic tool. They record everything the server does, including error messages and crash-related events that occurred right before the process died. The logs are located in your Plex data directory under Logs/.
The key log files are:
Plex Media Server.log — the main application log. Look at the last entries before the crash timestamp. Errors related to memory allocation failures, database lock timeouts, or unhandled exceptions will appear here.
Plex Media Scanner.log — if crashes coincide with library scans, this log may reveal problematic files or directories that trigger scanner failures.
Crash reports — on macOS, check ~/Library/Logs/DiagnosticReports/ for Plex crash reports. On Linux, check /var/log/syslog or journalctl -u plexmediaserver for OOM (Out of Memory) kills and segfaults. On Windows, the Event Viewer (Application log) may contain relevant crash entries.
Search the logs for keywords like "ERROR," "FATAL," "Segmentation fault," "killed," "out of memory," and "database is locked." These terms point directly to the crash cause.
Step 2: Database Corruption
Database corruption is one of the most common causes of persistent Plex crashes. The SQLite database can become corrupted due to power failures, disk errors, forced shutdowns, or running out of disk space during a write operation. When the database is corrupt, Plex may crash on startup, during library browsing, or when accessing specific content.
Checking for Corruption
Stop the Plex server, then run an integrity check on the main database:
sqlite3 "com.plexapp.plugins.library.db" "PRAGMA integrity_check;"
If the output is "ok," the database is structurally sound. If it reports errors, the database needs repair.
Repairing the Database
SQLite can often repair a corrupt database by exporting and reimporting it:
sqlite3 "com.plexapp.plugins.library.db" ".dump" | sqlite3 "repaired.db"
This exports all recoverable data from the corrupt database into a new, clean database. Back up the original file, rename the repaired database to replace it, and restart Plex. You may lose some data (watch history, custom edits) from the corrupted sections, but the server should start and run reliably.
If the damage is too severe for the dump-and-reimport approach, you may need to delete the database entirely and let Plex rebuild it by rescanning your libraries. This loses all watch history, custom metadata, and playlists, but results in a completely fresh database. Before doing this, export your watch history using a tool like Tautulli or ExportTools so you can restore it later.
Step 3: Memory and Resource Limits
Plex can consume significant memory, especially on servers with large libraries, many simultaneous streams, or active transcoding. If your server has limited RAM, the operating system's OOM (Out of Memory) killer may terminate the Plex process when memory pressure becomes critical.
On Linux, check for OOM kills with dmesg | grep -i "killed process" or journalctl -k | grep -i oom. If Plex is being killed due to memory, you have several options: add more physical RAM, increase swap space (slower but prevents crashes), reduce the number of simultaneous transcodes, or disable memory-intensive features like video preview thumbnails.
On Docker installations, check the container's memory limit. If the container is constrained to 2 GB of RAM but Plex needs 3 GB for a large library with transcoding, the container runtime will kill the process. Increase the memory limit or remove it entirely if the host has sufficient RAM.
Step 4: Disk Space
Running out of disk space is a silent killer. Plex needs free space on the drive containing its data directory for database operations, thumbnail generation, transcode temp files, and log rotation. When the disk fills up, Plex may crash during any write operation.
Check available space on all relevant drives. On Linux, use df -h. On Windows, check the drive properties. Pay special attention to the drive hosting the Plex data directory, which is often different from the media storage drives. Thumbnail data alone can consume tens of gigabytes on a large library.
To free space quickly: delete old transcoder temp files (in the Cache/Transcode/ directory), clean old log files, empty the Plex trash (Settings > Library > Empty Trash), and run Clean Bundles to remove orphaned metadata bundles.
Step 5: Update to the Latest Version
Plex regularly releases updates that fix bugs, including crash-causing bugs. Check your current version in Settings > General and compare it with the latest release on the Plex downloads page. If you are more than a few versions behind, update.
However, do not blindly update to the newest version if your server has been stable. Occasionally, a new release introduces regressions. Check the Plex forums for reports of issues with the latest version before updating. If a recent update caused your crashes, you can roll back by downloading and installing the previous version from the Plex downloads archive.
Step 6: Clean Install vs. Repair Install
If crashes persist after all the above steps, a clean install may be necessary. This involves uninstalling Plex, removing the data directory entirely, reinstalling the latest version, and setting up your server from scratch. You will lose all metadata, watch history, and configurations, but you will also eliminate any corrupt files, broken plugins, or misconfigured settings that may be causing instability.
A less destructive option is a repair install: uninstall and reinstall Plex without removing the data directory. This replaces the application binaries while preserving your database, metadata, and settings. This fixes issues caused by corrupted application files without losing your data.
On Windows, use the standard installer to repair. On Linux, reinstall the package (dpkg -i or rpm -i --force). On macOS, download the latest DMG and install over the existing version. On Docker, pull the latest image and recreate the container with the same volume mounts.
Step 7: Monitoring Tools
After resolving the immediate crash, set up monitoring to catch future issues before they become crashes. Tautulli monitors Plex-specific activity including stream counts, library sizes, and playback issues. Uptime Kuma or Healthchecks.io can ping your Plex server at regular intervals and alert you when it goes down.
For system-level monitoring, tools like Netdata, Grafana with Prometheus, or even simple scripts that check CPU, RAM, and disk usage can provide early warning when resources are running low. Set alerts for disk usage above 90%, RAM usage above 85%, and sustained CPU usage above 95%.
If your server is headless (no monitor attached), ensure you have remote access configured so you can check logs and restart services without physical access. SSH on Linux and macOS, or Remote Desktop on Windows, should be configured and tested before you need them.
When to Ask for Help
If your logs show errors you cannot interpret, the Plex forums are the best place to seek help. Post the relevant log excerpts (not the entire log file), your server hardware specifications, operating system version, Plex version, and a description of when and how the crashes occur. The Plex community is generally responsive and experienced with obscure crash scenarios.
Phlix — The Photo Browser for Plex
If you use Plex for photos, Phlix gives you a chronological timeline, year scrubber, 4K AirPlay slideshows, and offline downloads. Free to browse, Pro from $6.99/yr.
Download Phlix FreeiOS 17+ · Works with any Plex Media Server