cmd/utils: max out the OS file allowance, don't cap to 2K

This commit is contained in:
Péter Szilágyi 2018-11-29 12:47:29 +02:00
parent 01371469e6
commit cf62bd2e88
No known key found for this signature in database
GPG Key ID: E9AE538CEDF8293D

@ -824,17 +824,12 @@ func setIPC(ctx *cli.Context, cfg *node.Config) {
// makeDatabaseHandles raises out the number of allowed file handles per process // makeDatabaseHandles raises out the number of allowed file handles per process
// for Geth and returns half of the allowance to assign to the database. // for Geth and returns half of the allowance to assign to the database.
func makeDatabaseHandles() int { func makeDatabaseHandles() int {
limit, err := fdlimit.Current() limit, err := fdlimit.Maximum()
if err != nil { if err != nil {
Fatalf("Failed to retrieve file descriptor allowance: %v", err) Fatalf("Failed to retrieve file descriptor allowance: %v", err)
} }
if limit < 2048 { if err := fdlimit.Raise(uint64(limit)); err != nil {
if err := fdlimit.Raise(2048); err != nil { Fatalf("Failed to raise file descriptor allowance: %v", err)
Fatalf("Failed to raise file descriptor allowance: %v", err)
}
}
if limit > 2048 { // cap database file descriptors even if more is available
limit = 2048
} }
return limit / 2 // Leave half for networking and other stuff return limit / 2 // Leave half for networking and other stuff
} }