1

geth (and swarm) seem to require a lot of memory, and there are also reports that they tend to an all you can eat approach to system limits.

1) What are the actual memory requirements for geth?

2) What is the best way to limit its usage? (ulimit, for example, uses ENOMEM as its gentlest approach which causes out of memory panics in geth, not very helpful)

1 Answer 1

1

1) What are the actual memory requirements for geth?

It depends of the --syncmode of your node : light < 380 MB (like btc, ltc, ...) but if you do that you will not have dag verification and not full contract suport so someone can make you fake coin by just creating a contract and say to you this contract add to your balance 2 ether, ... the 512mb on rinkeby ins't update fast 1GB - 2GB full 2GB - 4GB archive 2GB - 8GB

src : https://www.rinkeby.io/#geth

2) What is the best way to limit its usage? (ulimit, for example, uses ENOENT which causes out of memory panics in geth, not very helpful)

the --syncmode --cache --ethash.cache... argv

PS : Go on the rinkeby web site (https://www.rinkeby.io/#geth) for see good preconfiguration (just remove all about rinkeby like --networkid=4 --datadir=$HOME/.rinkeby --ethstats='yournode:Respect my [email protected]' --bootnodes=enode://a24ac7c5484ef4ed0c5eb2d36620ba4e4aa13b8c84684e1b4aab0cebea2ae45cb4d375b77eab56516d34bfbd3c1a833fc51[email protected]:30303?discport=30304)

2
  • I'm not sure how this will help. For full node it says use --cache=512 but default is 128 ... how can increasing this help limit usage? Also, the --ethash.* options' defaults together with this seem to define usage around 1.5Gb. So what accounts for the rest? These are just recipes, not explanations ;)
    – lash
    Jan 29, 2018 at 18:21
  • No, full node will use to much ram, use somethings like light node or somethings I call full light node (a full node but with ultra low memory usage) Here is my File : #!/bin/bash cd /root/geth/ ip="$(ifconfig eth0 | grep 'inet ad' | cut -d ':' -f 2 | cut -d ' ' -f 1)" nohup nice -n 10 ./geth -rpc -rpcaddr $ip --maxpeers 100000 --ipcdisable -rpcapi "admin,debug,eth,miner,net,personal,rpc,txpool,web3" -cache 256 --syncmode "full" --ethash.dagsondisk 4 --nat extip:<YOUR EXT IP> --ethash.dagsinmem 0 & And my stop file : #!/bin/bash pkill --signal 3 geth
    – Jorropo
    Jan 31, 2018 at 13:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.