main: doMount: call FreeOSMemory() before jumping into server loop
scrypt (used during masterkey decryption) allocates a lot of memory. Go only returns memory to the OS after 5 minutes, which looks like a waste. Call FreeOSMemory() to return it immediately. Looking a fresh mount: before: VmRSS: 73556 kB after: VmRSS: 8568 kB
This commit is contained in:
parent
d12aa57715
commit
86253b7567
4
mount.go
4
mount.go
@ -10,6 +10,7 @@ import (
|
||||
"path"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"runtime/debug"
|
||||
"strings"
|
||||
"syscall"
|
||||
"time"
|
||||
@ -139,6 +140,9 @@ func doMount(args *argContainer) int {
|
||||
// This prevents a dangling "Transport endpoint is not connected"
|
||||
// mountpoint if the user hits CTRL-C.
|
||||
handleSigint(srv, args.mountpoint)
|
||||
// Return memory that was allocated for scrypt (64M by default!) and other
|
||||
// stuff that is no longer needed to the OS
|
||||
debug.FreeOSMemory()
|
||||
// Jump into server loop. Returns when it gets an umount request from the kernel.
|
||||
srv.Serve()
|
||||
return 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user