I run syncthing on a 32bit windows pad with 2G ram as a server, and there is a virtual machine on it which use about 500MB ram.
4 syncthing folders, Local State (Total) file: 27,093 folder: 10,958 size: ~37.5 GiB, and sync to 2 or 3 other nodes simutaneously.
1.x till 1.30 works without any problem, after upgrade to 2.0.16. It seems working well at first and completed the first scan successfully. But after several days, I found that syncthing on other devices can not connect to the win pad. In the console log of syncthing on win pad, it continues complain about “can not create new thread” and then exit and restart it self, which keeps it unusable. Manually kill the process and restart it doesn’t help. Restart the system may help, but syncthing will stop working again soon or later.
I tried the 2.1.0, it has the same problem. And I have to restore the older 1.3.0 config file and returned to 1.30. It works without problem in the same environment.
I don’t know whether it is a bug or the low-end winpad should take responsibility. I find some post with same problem, but they are very old. I followed the advice and tried to modify the concurrent scan folder setting in config file, which doesn’t help.
Is there some setting tweaks that will make the 2.x work again?
2026-05-22 08:55:55 INF New device connection (device= remote.client=syncthing remote.version=v2.0.16 log.pkg=model)runtime: failed to create new OS thread (8)
repeat exit and restart until
2026-05-22 08:57:22 INF Detected NAT services (count=0 log.pkg=nat)runtime: failed to create new OS thread (8)
stable for a while by itself
2026-05-22 08:57:25 INF syncthing v2.0.16 “Hafnium Hornet” (go1.25.8 windows-386) builder@github.syncthing.net 2026-03-13 12:03:22 UTC (log.pkg=main)
2026-05-30 08:27:19 INF Updated file metadata (folder.label= file.modified=“2026-05-30 08:26:31.0114962 +0800 CST” file.permissions=0644 file.size=32768 file.blocksize=131072 log.pkg=model)
runtime: failed to create new OS thread (8)
something wrong again, this time it didn’t automatically recover, and seems exited by itself
It’s trying to create a new thread for database access, but can’t. That “(8)” is ERROR_NOT_ENOUGH_MEMORY, so there apparently isn’t space for more threads, whatever that means here (might not be physical RAM, might be things like address space or something; 32-bit world is special on Windows).
I don’t have any suggested solutions for you, other than setting everything for minimum resource usage.
I notice that the working 1.30.0 config file also has all the setting for low resource, but without limitation. Does it mean that if I tweaked the 2.x config to make it work stable, it will perform worse than 1.x?
Maybe 1.30.0 is a better choice for low end 32bit windows PC, I will stick to it until it can not sync with 2.x or later syncthing.