Go-Ethereum

執行geth同步全節點時,cache和handles是什麼意思?

  • December 18, 2017

這是什麼意思:

記憶體=128 句柄=1024

如何更改這些值?

只是為了添加伊斯梅爾的答案,即使您要增加作業系統本身中每個程序文件句柄的數量,您仍然會在1024.

來自flags.go

// makeDatabaseHandles raises out the number of allowed file handles per process
// for Geth and returns half of the allowance to assign to the database.
func makeDatabaseHandles() int {
   if err := raiseFdLimit(2048); err != nil {
       Fatalf("Failed to raise file descriptor allowance: %v", err)
   }
   limit, err := getFdLimit()
   if err != nil {
       Fatalf("Failed to retrieve 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
}

為了減少它們,您必鬚根據這個答案擺弄您的作業系統限制。(雖然它假設你在 Linux 上。)

geth --help

–cache value 分配給內部記憶體的兆字節記憶體(最小 16MB / 強制數據庫)(預設值:128)

我看不到如何修改句柄的參數。

引用自:https://ethereum.stackexchange.com/questions/33609