Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macOS client constantly writes data and increased cpu usage #1638

Closed
ppaulek opened this issue Nov 22, 2019 · 8 comments
Closed

macOS client constantly writes data and increased cpu usage #1638

ppaulek opened this issue Nov 22, 2019 · 8 comments

Comments

@ppaulek
Copy link

ppaulek commented Nov 22, 2019

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

@kesselb
Copy link
Contributor

kesselb commented Nov 23, 2019

@ppaulek
Copy link
Author

ppaulek commented Nov 23, 2019

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

@ppaulek
Copy link
Author

ppaulek commented Nov 24, 2019

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

@doits
Copy link
Contributor

doits commented Nov 28, 2019

👍 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.

@doits
Copy link
Contributor

doits commented Nov 28, 2019

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?

@ppaulek
Copy link
Author

ppaulek commented Nov 28, 2019

thank you!
hopefully gets solved in next release

@doits
Copy link
Contributor

doits commented Nov 28, 2019

This seems to be the same as #1639.

@misch7
Copy link
Member

misch7 commented Nov 30, 2019

This has been fixed now with PR #1646.

For the fix please see: #1592 (comment)

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants