3

My bitcoind (v0.13.0) mempool size is currently 12k transactions as can be seen from:

tail -f ~/.bitcoin/debug.log

I find this number very surprising as I naively expected it to keep in line with the number of 'Unmatched transaction' as reported say by blockchain.info which currently shows 3k transactions.

https://blockchain.info/unconfirmed-transactions

What am I missing?

7
  • How long has your code been running? It usually takes hours to days before the mempool fills us that much. Aug 25, 2016 at 15:35
  • It has been running for 10 hours now today. Showing poolsz = 12k and 157MB. Aug 25, 2016 at 15:39
  • 2
    Oh, sorry. I thought that your mempool was 12 kB in size. Since Bitcoin Core 0.12, the mempool is really designed to be always at its maximum size. You can check the memory usage with the getmempoolinfo RPC command. Aug 25, 2016 at 15:48
  • what's the difference between "bytes" and "usage" ? "bytes" only showing 85MB with usage 160MB. Please ignore bitcoin-cli getmempoolinfo help got it :) Thanks v much ! Aug 25, 2016 at 16:24
  • 1
    The sum of the 'size' of transactions is 85 MB (size on the wire), but in memory they consume 160 MB of RAM (due to indexes, allocation overhead, metadata, ...). Aug 25, 2016 at 17:11

1 Answer 1

4

Every node owner can set their own policy for the mempool. The mempool is limited two-fold:

  • With -maxmempool=<n> you can set an explicit limit of MB that it will not exceed. The default is 300MB.
  • Transactions that don't surpass the minRelayTxFee are not added to your mempool.

As statoshi.info has the mempool at 145MiB and ~11k transactions, it appears likely that different settings on the minRelayTxFee seem to cause your and blockchain.info's divergent mempool size here.

5
  • This is great thank you ! I have minrelaytxfee=0.0002, I am assuming config file is not case sensitive. Aug 24, 2016 at 22:43
  • 1
    @SvenWilliamson: Yeah, that's fine. The option is -minrelaytxfee while in the source code it is the camel-case minRelayTxFee.
    – Murch
    Aug 25, 2016 at 6:23
  • 2
    Note that since 0.12, the effective relay fee is dynamic, and automatocally increases when the mempool fills up. Aug 25, 2016 at 7:25
  • 1
    @PieterWuille: I was wondering about that: The Developer Guide says "it effectively increases the minRelayTxFee", which I understand to say that some transactions that exceed minRelayTxFee are still not included in the mempool. Does the minRelayTxFee actually increase or does just the lowest included fee rise? The difference would be that the former would also raise derived values such as the dust limit, while the latter wouldn't. Do you happen to know?
    – Murch
    Aug 25, 2016 at 7:28
  • 3
    The dust limit and minimum fee increase for replacement (both depend on minRelayTxFee) are not increased when the mempool min fee goes up. The developer guide is wrong to say that minRelayTxFee is increased. Aug 25, 2016 at 7:38

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.