I am curious about those settings in config.xml:
copiers
pullers
hashers
I try to sync a folder containing over 15millions of files and Syncthing often end-up topping the RAM of the whole system (8GB). I then need to restart ST (get a whole rescan of the folder) to free some RAM. So my idea about those settings is that maybe it can be used to reduce ressources usage.
Just like it should not take like half an hour to start/restart… However it might be a problem due to the millions files/folders inside the biggest share folder…
That happened to me today as well. I have a box 200 km away from here, which currently has a very slow internet connection. I am running into ping timeouts all the time, so I decided to upload that particular file (50 GB VM image) seperately with rsync; outside of my syncthing folder.
The rsync upload at the same time made the syncthing connection worse; it never did finish its inital index exchange with my server. What happened an my server was a bit astonishing; syncthing idled but consumed about 3.5 GB of RAM (with about 1GB swapped out):
Restarting syncthing on the server and shutting down syncthing on the slow boxed fixed the RAM issue.
That increase (“apps”) has been created by syncthing while running into ping timeouts. The amount of ram, which I have written above, has been reported be cgtop (I have RAM accounting using cgroups enabled).
Syncthing is only using just over half a gig of real ram. iirc cgroups can’t do separate rss accounting, the value it sees includes swap and friends. I can’t find good documentation on where “systemctl status” is getting that memory value, but it’s not fair to say Syncthing is using 2.3 G of ram, the rest of that amount is likely shared or cached or paged to disk as swap.
After reading the docs of RSS I understand what these values actually mean. Thanks for that pointer. I just took the value, which has been reported by cgtop.