Server performance quickly degrades over time

Server Version#: 1.42.1.10060 (Tested back to 1.41.6.9685)

The issue stems from the “Held transaction for too long” message. During that duration the server is completely unresponsive and is at 100% CPU usage. This repeats every few minutes. Restarting fixes it but then it reappears after a few hours. It starts happening soon after startup and the transactions keep getting held for longer and longer. It seems to mainly be for some statistics call. This happens while the server is idle with no scheduled tasks or media having been played. I also frequently get the “Sqlite3: Sleeping for 200ms to retry busy DB.” while this is happening. This only started being a problem on Aug 15.

I’ve added the debug logs. #3 is where it reaches it’s worst (usually around 60s held transaction) and ends with me reastarting. You can then see in the following logs the transactions get longer and longer.

I’ve already tried repairing the db with DBRepair with those logs also attached.

DBRepair.log (1.6 KB)

Plex Media Server.1.0.log (5.9 MB)

Plex Media Server.log (7.4 MB)

Plex Media Server.1.1.log (4.1 MB)

Plex Media Server.2.0.log (6.4 MB)

Plex Media Server.2.1.log (3.6 MB)

Plex Media Server.3.log (4.9 MB)

Plex Media Server.4.0.log (6.2 MB)

Plex Media Server.4.1.log (3.8 MB)

I’m having the same exact issue. For some reason, the container just pins a single cpu core and holds it there until the server crashes or becomes unusable to the point of needing to be restarted. While it is in this state, the websocket also seems to die as the dashboard doesn’t update cpu or bandwidth usage. I don’t really see anything in my logs other than the database sleep errors which are coming up because the server can’t transact with the database as it’s got the cpu core totally pinned.

Has there been zero traction on this? My server is completely unusable, I have to restart it every 2 hours and it still barely functions. Honestly, why am I paying for a product that doesn’t work and can get no support for with such a major issue. At least if it was open source, I would have fixed this myself already.

Have you tried the official PMS docker and not the 3rd party Linuxserver.io version?

https://hub.docker.com/r/plexinc/pms-docker/

Yes, it had the exact same issue.

@ChuckPa Thoughts?

Can I please have the DEBUG ZIP’d logs file which captures this?

I’m sorry for not responding before now. I’ve been overtasked

With some zip files which capture this, I’ll be able to see what PMS was trying to do when it stopped responding.

Logs.zip (3.6 MB)

I restarted 20 minutes ago so the held time is only about 5 seconds. But you can see the time get longer and reaches 60 seconds after a few hours.

@StoneColeQ

Thank you for the logs.

The error shows up immediately in these logs.

Sep 22, 2025 16:18:51.738 [139718244109112] DEBUG - Completed: [172.21.0.12:38926] 200 GET / (5 live) #62fe GZIP 3ms 5290 bytes (pipelined: 1)
Sep 22, 2025 16:18:51.770 [139717860313912] DEBUG - [HttpClient/HCl#c7] HTTP/1.1 (0.0s) 201 response from POST https://notifications.plex.tv/api/v1/notifications (reused)
Sep 22, 2025 16:18:58.335 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=408, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:18:58.335 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=7, type=1, index=4558, flags=0x1003, change=0x0
Sep 22, 2025 16:18:58.335 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:18:58.335 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:18:58.368 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:18:58.369 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=1744, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:18:58.369 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=0, type=1, index=4558, flags=0x1003, change=0x0
Sep 22, 2025 16:18:58.369 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:18:58.369 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:18:58.377 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:18:58.377 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=1412, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:18:58.377 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=0, type=1, index=4565, flags=0x1002, change=0xffffffff
Sep 22, 2025 16:18:58.377 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:18:58.377 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:18:58.380 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:18:58.395 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=1736, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:18:58.395 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=0, type=1, index=4558, flags=0x1002, change=0x41
Sep 22, 2025 16:18:58.395 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:18:58.395 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:18:58.421 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:18:58.421 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=408, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:18:58.421 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=7, type=1, index=4558, flags=0x1002, change=0x0
Sep 22, 2025 16:18:58.421 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:18:58.421 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:18:58.422 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:18:58.422 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=624, type=RTM_DELLINK, flags=0x0
Sep 22, 2025 16:18:58.422 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=0, type=1, index=4565, flags=0x1002, change=0xffffffff
Sep 22, 2025 16:18:58.422 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=408, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:18:58.422 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=7, type=1, index=4558, flags=0x1002, change=0x0
Sep 22, 2025 16:18:58.422 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:18:58.422 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:18:58.424 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:18:58.424 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=104, type=RTM_DELLINK, flags=0x0
Sep 22, 2025 16:18:58.424 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=7, type=1, index=4558, flags=0x1002, change=0x0
Sep 22, 2025 16:18:58.424 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=624, type=RTM_DELLINK, flags=0x0
Sep 22, 2025 16:18:58.424 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=0, type=1, index=4558, flags=0x1002, change=0xffffffff
Sep 22, 2025 16:18:58.667 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=1420, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:18:58.667 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=0, type=1, index=4566, flags=0x1002, change=0xffffffff
Sep 22, 2025 16:18:58.667 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:18:58.667 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:18:58.674 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:18:58.674 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=1420, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:18:58.674 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=0, type=1, index=4566, flags=0x1002, change=0x0
Sep 22, 2025 16:18:58.674 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:18:58.674 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:18:58.680 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:18:58.684 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=1744, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:18:58.684 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=0, type=1, index=4566, flags=0x1002, change=0x0
Sep 22, 2025 16:18:58.684 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:18:58.684 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:18:58.685 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:18:58.686 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=1744, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:18:58.686 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=0, type=1, index=4566, flags=0x1002, change=0x100
Sep 22, 2025 16:18:58.686 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:18:58.686 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:18:58.687 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:18:58.687 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=408, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:18:58.687 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=7, type=1, index=4566, flags=0x1002, change=0x0
Sep 22, 2025 16:18:58.687 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:18:58.687 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:18:58.689 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:18:58.689 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=1744, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:18:58.689 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=0, type=1, index=4566, flags=0x1043, change=0x1
Sep 22, 2025 16:18:58.689 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:18:58.689 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:18:58.691 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:18:58.691 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=408, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:18:58.691 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=7, type=1, index=4566, flags=0x1043, change=0x0
Sep 22, 2025 16:18:58.691 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:18:58.691 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:18:58.692 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:18:58.692 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=408, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:18:58.692 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=7, type=1, index=4566, flags=0x1043, change=0x0
Sep 22, 2025 16:18:58.692 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:18:58.692 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:18:58.693 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:18:58.731 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=408, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:18:58.731 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=7, type=1, index=4566, flags=0x11043, change=0x0
Sep 22, 2025 16:18:58.731 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:18:58.731 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:18:58.732 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:18:58.732 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=1744, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:18:58.732 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=0, type=1, index=4566, flags=0x11043, change=0x0
Sep 22, 2025 16:18:58.732 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:18:58.732 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:18:58.733 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:19:13.930 [139717841296184] DEBUG - NetworkInterface: received Netlink message len=408, type=RTM_NEWLINK, flags=0x0
Sep 22, 2025 16:19:13.930 [139717841296184] DEBUG - NetworkInterface: Netlink information message family=7, type=1, index=4566, flags=0x11043, change=0x0
Sep 22, 2025 16:19:13.930 [139717841296184] DEBUG - Network change.
Sep 22, 2025 16:19:13.930 [139717841296184] DEBUG - NetworkInterface: Notified of network changed (force=0)
Sep 22, 2025 16:19:13.931 [139717841296184] DEBUG - Network change notification but nothing changed.
Sep 22, 2025 16:19:22.905 [139717795806008] DEBUG - Request: [172.19.0.2:52754 (WAN)] GET /library/sections (5 live) #635d GZIP Signed-in Token (StoneColeQ)
Sep 22, 2025 16:19:22.906 [139718244109112] DEBUG - Completed: [172.19.0.2:52754] 200 GET /library/sections (5 live) #635d GZIP 0ms 1090 bytes (pipelined: 1)
Sep 22, 2025 16:19:22.909 [139717795806008] DEBUG - Request: [172.19.0.2:52754 (WAN)] GET /library/sections/5/all?type=1&sort=addedAt%3Adesc&addedAt%3E%3E=17585

Your network adapter is “flapping” (going Down/Up/Down/Up repeatedly)
Each time this happens, PMS resets all connections and has to wait for the host to signal a stable network.

This activity occurred twice in the very first Plex Media Server.log of the ZIP file.

Loose / bad cable or connector ?
If using WiFi for the server – Switch to wired as wifi is not good.

Plex was set to network_mode: host which apparently causes this issue so I’ve moved from that. The original issue is still happening however.

I’m using Ethernet and the same hardware and software as over the past few years. This has only started being an issue about a month ago. There has been no change in my server that would cause these issues now and not before. Aside from some random issue, I imagine some change in Plex is causing the performance to be degraded.

Logs.zip (3.8 MB)

That tells me the container is relying on the host. Nothing more.

Is the server IP static or DHCP assigned?

If DHCP, even if a DHCP reservation, A lease time set too low will cause this flapping.

Minimum recommended DHCP time is 86440 seconds (1 day)

( You can pull 1.42.1.10060 if you want to see if 1.42.2 is problematic for you )

If it were PMS, I would be inundated with threads - which I’m not.

EDIT: Thinking & pondering more about this. What’s the underlying OS and structure ?

I’m going to try and break this overnight with a full up server rebuild on my test box.

The IP is static, all my of DHCP leases are at least 12 hours.

I’m on Ubuntu 22.04 and run plex through a docker container with an Intel CPU and Nvidia GPU. The config folder is on an NVMe and media on HDDs through mergerfs. This server has been running for 2+ years.

This issue started on Aug 15th, I know this precisely as that’s when I started getting notifications of issues for things trying to connect to Plex. Before that it was less than 5 a month, since then it’s been 5,688 and that’s with restarting every 2 hours. The version I was on at that time was most likely v1.42.1.10060. I do not have logs for that time as I only turned on debug logging a few weeks ago.

There has to be some bug in Plex or something got corrupted, there is nothing from the outside that can force an application to behave this way. At this point it seems the only path forward is recreating the server. Is there any way to recreate the server without losing any data or having to reinvite anyone?

@StoneColeQ

Do you have server DEBUG logs which capture the connect problem?

I would very much like to see the log file(s) which capture the 5,688 connect errors (?)

(( Are you still getting the Host Adapter flapping errors?
If so, then this is an “ALL STOP” problem at the host OS level and must be addressed first ))

I’ve moved from 'network_mode: host` and adapter flapping has stopped. The trigger is a docker container restart so it’s nothing novel and the frequency hasn’t changed on my server.

The connect errors are not from the plex logs. It’s when an app tries to use the Plex api then the app itself timeouts since plex is busy. These api timeouts are what happened 5,688 times over a month instead of 1 or 2 a month.

This isn’t just an API problem though, the entirety of Plex freezes. So you cannot browse the UI during these freezes, if you are watching something, the player will quit. The logs show the “Held transaction for too long” message which increases the longer Plex runs. During this time the CPU usage is 100%.

Oct 08, 2025 13:18:30.427 [140519940262712] WARN - Held transaction for too long (/home/runner/_work/plex-media-server/plex-media-server/Statistics/StatisticsManager.cpp:288): 46.810000 seconds
Oct 08, 2025 13:18:30.432 [140520019032888] WARN - [Req#33692] Took too long (16.500000 seconds) to start a transaction on /home/runner/_work/plex-media-server/plex-media-server/Statistics/Device.cpp:46
Oct 08, 2025 13:18:30.432 [140520019032888] WARN - [Req#33692] Transaction that was running was started on thread 140519940262712 at /home/runner/_work/plex-media-server/plex-media-server/Library/Database/SqliteDB.h:100

It’s not always for endpoint/source code, but it doesn’t seem to happen for all operations that Plex performs so it must be possible to find the common thread. Likely a bad function, table, or db query. If an application tries to use the api or I try to play something during that 46 seconds above, they would timeout. If I don’t restart, these values keep getting longer and longer.