Desktop: macOS client constantly writes data and increased cpu usage

Created on 22 Nov 2019  路  8Comments  路  Source: nextcloud/desktop

Expected behaviour

when nextcloud client is not syncing no data is written to hard disk and the cpu usage is low

Actual behaviour

nextcloud client is constantly writing data to hard disk (9-15MB/s - >660gb in 4 days) and causes increased cpu usage (13-20%) even if not syncing. all folders are synced and cleint is not showing syncing action

Client configuration

Client version: 2.6.1stable

Operating system:
masOS 10.14.6

OS language:
german

Installation path of client:
/Applications

0. Needs triage bug os macOS

Most helpful comment

This has been fixed now with PR #1646.

For the fix please see: https://github.com/nextcloud/desktop/issues/1592#issuecomment-560009254

A new build with the fix for macOS will be available with our upcoming 2.6.2 release soon.

All 8 comments

log_nc.zip
attached log of freshly launched macos nc client with the described behaviour after finished launch

downgrade to 2.6.0stable and no high cpu-usage, no unnecessary writing of data to disk and low memory usage (same machine, no other changes except downgrade of nc client). but not real solution, 2.6..1 should work properly, too

馃憤 just saw this on my macos, too:

Bildschirmfoto 2019-11-28 um 12 01 25

Bildschirmfoto 2019-11-28 um 12 01 41

In 8 minutes of idle time (definitely no syncing) it wrote 200 mb, so roughly 25mb/min. Not as bad as OP but still.

I think I found out what is written.

I attached to the PID of nextcloud with sudo dtruss -p $PID. It shows a lot of garbage, but one thing that in a constant loop:

$ sudo dtruss -p $PID 2>&1 | grep login.keychain

stat64("/Users/username/Library/Keychains/login.keychain-db\0", 0x7FFEE41C4590, 0x0)         = 0 0
open("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-jSSkZY\0", 0x601, 0x81A4)      = 17 0
open("/Users/username/Library/Keychains/login.keychain-db\0", 0x0, 0x0)      = 21 0
unlink("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-jSSkZY\0", 0x0, 0x0)         = 0 0
stat64("/Users/username/Library/Keychains/login.keychain-db\0", 0x7FFEE41C52A0, 0x0)         = 0 0
open("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-H4RuIP\0", 0x601, 0x81A4)      = 17 0
open("/Users/username/Library/Keychains/login.keychain-db\0", 0x0, 0x0)      = 21 0
lstat64("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-H4RuIP\0", 0x7FFEE41C4818, 0x0)         = 0 0
open("/Users/username/Library/Keychains/login.keychain-db\0", 0x0, 0x0)      = 17 0
lstat64("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-H4RuIP\0", 0x7FFEE41C49E8, 0x0)         = 0 0
utimes("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-H4RuIP\0", 0x0, 0x0)         = 0 0
rename("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-H4RuIP\0", "/Users/username/Library/Keychains/login.keychain-db\0")      = 0 0
open("/Users/username/Library/Keychains/login.keychain-db\0", 0x0, 0x0)      = 16 0
stat64("/Users/username/Library/Keychains/login.keychain-db\0", 0x7FFEE41C52A0, 0x0)         = 0 0
open("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-qwby0E\0", 0x601, 0x81A4)      = 17 0
open("/Users/username/Library/Keychains/login.keychain-db\0", 0x0, 0x0)      = 21 0
lstat64("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-qwby0E\0", 0x7FFEE41C4818, 0x0)         = 0 0
open("/Users/username/Library/Keychains/login.keychain-db\0", 0x0, 0x0)      = 17 0
lstat64("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-qwby0E\0", 0x7FFEE41C49E8, 0x0)         = 0 0
utimes("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-qwby0E\0", 0x0, 0x0)         = 0 0
rename("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-qwby0E\0", "/Users/username/Library/Keychains/login.keychain-db\0")      = 0 0
stat64("/Users/username/Library/Keychains/login.keychain-db\0", 0x7FFEE41C44D0, 0x0)         = 0 0
open("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-ShqCsA\0", 0x601, 0x81A4)      = 17 0
open("/Users/username/Library/Keychains/login.keychain-db\0", 0x0, 0x0)      = 21 0
lstat64("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-ShqCsA\0", 0x7FFEE41C43D8, 0x0)         = 0 0
open("/Users/username/Library/Keychains/login.keychain-db\0", 0x0, 0x0)      = 17 0
lstat64("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-ShqCsA\0", 0x7FFEE41C45A8, 0x0)         = 0 0
utimes("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-ShqCsA\0", 0x0, 0x0)         = 0 0
rename("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-ShqCsA\0", "/Users/username/Library/Keychains/login.keychain-db\0")      = 0 0
open("/Users/username/Library/Keychains/login.keychain-db\0", 0x0, 0x0)      = 16 0
stat64("/Users/username/Library/Keychains/login.keychain-db\0", 0x7FFEE41C4590, 0x0)         = 0 0
open("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-3KO6jW\0", 0x601, 0x81A4)      = 17 0
open("/Users/username/Library/Keychains/login.keychain-db\0", 0x0, 0x0)      = 21 0
unlink("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-3KO6jW\0", 0x0, 0x0)         = 0 0
stat64("/Users/username/Library/Keychains/login.keychain-db\0", 0x7FFEE41C52A0, 0x0)         = 0 0
open("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-aKudRk\0", 0x601, 0x81A4)      = 17 0
open("/Users/username/Library/Keychains/login.keychain-db\0", 0x0, 0x0)      = 21 0
lstat64("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-aKudRk\0", 0x7FFEE41C4818, 0x0)         = 0 0
open("/Users/username/Library/Keychains/login.keychain-db\0", 0x0, 0x0)      = 17 0
lstat64("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-aKudRk\0", 0x7FFEE41C49E8, 0x0)         = 0 0
utimes("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-aKudRk\0", 0x0, 0x0)         = 0 0
rename("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-aKudRk\0", "/Users/username/Library/Keychains/login.keychain-db\0")      = 0 0
open("/Users/username/Library/Keychains/login.keychain-db\0", 0x0, 0x0)      = 16 0
stat64("/Users/username/Library/Keychains/login.keychain-db\0", 0x7FFEE41C52A0, 0x0)         = 0 0
open("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-9KiX21\0", 0x601, 0x81A4)      = 17 0
open("/Users/username/Library/Keychains/login.keychain-db\0", 0x0, 0x0)      = 21 0
lstat64("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-9KiX21\0", 0x7FFEE41C4818, 0x0)         = 0 0
open("/Users/username/Library/Keychains/login.keychain-db\0", 0x0, 0x0)      = 17 0
lstat64("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-9KiX21\0", 0x7FFEE41C49E8, 0x0)         = 0 0
utimes("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-9KiX21\0", 0x0, 0x0)         = 0 0
rename("/Users/username/Library/Keychains/login.keychain-db.sb-4a9cd33a-9KiX21\0", "/Users/username/Library/Keychains/login.keychain-db\0")      = 0 0
[...]

It is constantly creating some temporary login.keychain files and renaming them, about once per second.

And indeed, if I look at the modification times of /Users/username/Library/Keychains/login.keychain-db, it is constantly updated while the nextcloud client is running. If I close it, it is not modified anymore.

My login.keychain-db has the size of 310K, so if this is written every second, I get about 19mb/min which comes close to my previous calculation in activity manager (which just was a rough estimate).

So why is the nexcloud client doing this?

thank you!
hopefully gets solved in next release

This seems to be the same as #1639.

This has been fixed now with PR #1646.

For the fix please see: https://github.com/nextcloud/desktop/issues/1592#issuecomment-560009254

A new build with the fix for macOS will be available with our upcoming 2.6.2 release soon.

Was this page helpful?
0 / 5 - 0 ratings