The main problem: Duplicati is, theoretically, not currently running a backup.
The web UI shows no backups running;
the logs in about → show log → live only show that Duplicati started.
However, it is using a sustained 25% cpu. I need it to not do so. How do I do that?
Successful outcome: duplicati uses approx 0% cpu while not actively running on my laptop.
Background: I recently updated Duplicati. ver Duplicati - 2.0.7.1_beta_2023-05-25 . Mac os.
$ mono --version
Mono JIT compiler version 6.12.0.182 (2020-02/6051b710727 Tue Jun 14 15:01:21 EDT 2022)
I was also recently forced to hardkill the process because Duplicati froze on a backup for 15 days. I discovered this last night, which wasn’t awesome, so I killed the process and upgraded it. I have completed several manually triggered backups since then.
Duplicati has’t run in a couple days so it launched a backup on launch. After it finishes and gets to a steady state, I’ll run ktrace / monitor network and disk and see if anything interesting shows up.
ugh. I am surprised that it works at all. AFAIK it’s not possible to install from scratch, but it seems that it is possible to update from what you say.
reports yetty. Most reporters aren’t saying their OS though, so it’s hard to know what they’re on.
Windows 10 for me doesn’t give me a “pegs a whole core” even when I know SQLite is pegged.
Load of full-core-equivalent is spread across all cores by Windows for some reason. Is it better?
Task Manager requires “Change graph to” → “Logical processors” to even see individual usage.
See previous post too, but next question is – when? Easier repro is potentially easier to debug,
although there’s still a good chance that developer help (preferably a Mac user) will be needed.
The weird part is that the time appears to be spent inside libsystem_kernel.dylib which I assume has a super efficient wait implementation.
There is a possibility that the problem is Mono related and will go away with the .Net8 update.
If not, then my best guess is that this is caused by inefficient use of wait handles in the Duplicati code.
A task for later would be to switch to async style methods so we do not have idle threads at all.
Thanks for the look. I had tried using the mono tracing abilities that show what code it’s going through.
I couldn’t persuade it to log to a file, but I can get a spew to the terminal, and toggle it using SIGUSR2.
With no Duplicati GUI tab open, and no Tray Icon, mine gets pretty quiet. Not sure how yours looks…
mono --trace=all Duplicati.Server.exe
is where I left it, and by then I had probably also used AUTOUPDATER_Duplicati_SKIP_UPDATE=true
If this were happening on my Linux system, next stop would be strace. On macOS, perhaps dtruss.