<p>After some digging, I believe I have an explanation: the memory pool is clogged with 'junk' transactions.</p>

<p>Bitcoin Core's minrelaytxfee parameter defaults to 0.01 mBTC/KB, which is "too low" in the sense that it permits TONS of 'junk' transactions to enter the memory pool. I've bumped minrelaytxfee to 0.05 mBTC/KB and the results so far are very encouraging. The memory pool profile now makes sense, from the # of transactions to the size of each transaction.</p>

<p>And minrelaytxfee=0.00005 strikes me as "fair" as it is one-tenth the broadly recommended transaction fee of 0.5 mBTC/KB (backup up by the Pareto breakdown of real transactions on various websites).</p>

<p>I encourage everyone running Bitcoin Core can make their own decision on minrelaytxfee for their full node.</p>

CC BY-SA 3.0
2016-05-31T22:18:02.477Z
Since Bitcoin Core 0.12, the mempool is limited in size, and the effective relay fee will be modified to compensate for it growing too large. If your mempool is taking more space than you can spare, reduce it with -maxmempool=N (with N in MB RAM). Having the transactions otherwise does not hurt, apart from hurting your averages :)
Pieter Wuille
CC BY-SA 3.0
2016-05-31T16:57:52.693Z
2016-05-31T16:57:52.693Z
Pressed250
<p>For anyone reading this in 2019, not all txns have the same size, it all depends on the # of inputs/outputs and the scripts, that's why summing the mempool size and dividing by the # of transactions doesn't make sense.</p>

<p>Take for example a transaction by a large exchange, hundreds of clients withdraw and the site batch the all the request in a single transaction, making the size of it very big (see <a href="https://www.blockchain.com/btc/tx/b30679bf3c688ad8f8b674a25c33399be23234934a488c04b8666f9486c1e5f3" rel="nofollow noreferrer">https://www.blockchain.com/btc/tx/b30679bf3c688ad8f8b674a25c33399be23234934a488c04b8666f9486c1e5f3</a> it's 81486 bytes, where a normal tx nowadays is around 150.</p>

CC BY-SA 4.0
2019-04-12T01:12:45.990Z
2019-04-12T01:12:45.990Z
ejose19
<p>A bit of a conundrum interpreting the results from "bitcoin-cli getmempoolinfo".</p>

<p>Straight from <a href="https://chainquery.com/bitcoin-api/getmempoolinfo" rel="nofollow">https://chainquery.com/bitcoin-api/getmempoolinfo</a>:</p>

<pre><code>getmempoolinfo
Returns details on the active state of the TX memory pool.
Result:
{
  "size": xxxxx,               (numeric) Current tx count
  "bytes": xxxxx,              (numeric) Sum of all tx sizes
  "usage": xxxxx,              (numeric) Total memory usage for the mempool
  "maxmempool": xxxxx,         (numeric) Maximum memory usage for the mempool
  "mempoolminfee": xxxxx       (numeric) Minimum fee for tx to be accepted
}*
</code></pre>

<p>Cool! So "size" returns the number of transactions in the memory pool! But the numbers don't add up. Straight from the same page:</p>

<pre><code>"result": {
    "size": 9178,
    "bytes": 100859918,
    "usage": 216557216,
    "maxmempool": 300000000,
    "mempoolminfee": 0.00001070
},
"error": null,
"id": null*
</code></pre>

<p>Doing the math, "bytes" divided by "size" equals 10,989 bytes/transaction. I would expect sometime on the order of ~400 bytes/transaction. Hence my conundrum.</p>

CC BY-SA 3.0
2016-05-29T20:07:58.890Z
What is the question in this post?
Comodore
CC BY-SA 3.0
2016-05-30T03:46:16.120Z
I am trying to understand the output from "bitcoin-cli getmempoolinfo". The numbers don't jibe. If there are 9178 transactions in the memory pool, representing 100,859,918 bytes, then each transaction is ~10KB. That is 20x larger than expected. How does one interpret the numbers?
Pressed250
<bitcoin-cli>
Interpreting results from "bitcoin-cli getmempoolinfo"
Pressed250
# Interpreting results from "bitcoin-cli getmempoolinfo"

(Asked by: username_0 on 2016-05-29)

A bit of a conundrum interpreting the results from "bitcoin-cli getmempoolinfo".

Straight from <https://chainquery.com/bitcoin-api/getmempoolinfo>:

```
getmempoolinfo
Returns details on the active state of the TX memory pool.
Result:
{
  "size": xxxxx,               (numeric) Current tx count
  "bytes": xxxxx,              (numeric) Sum of all tx sizes
  "usage": xxxxx,              (numeric) Total memory usage for the mempool
  "maxmempool": xxxxx,         (numeric) Maximum memory usage for the mempool
  "mempoolminfee": xxxxx       (numeric) Minimum fee for tx to be accepted
}*

```

Cool! So "size" returns the number of transactions in the memory pool! But the numbers don't add up. Straight from the same page:

```
"result": {
    "size": 9178,
    "bytes": 100859918,
    "usage": 216557216,
    "maxmempool": 300000000,
    "mempoolminfee": 0.00001070
},
"error": null,
"id": null*

```

Doing the math, "bytes" divided by "size" equals 10,989 bytes/transaction. I would expect sometime on the order of ~400 bytes/transaction. Hence my conundrum.

**Tags:** bitcoin-cli

> **Comments:**
> **username_1**: What is the question in this post?  
> **username_0**: I am trying to understand the output from "bitcoin-cli getmempoolinfo". The numbers don't jibe. If there are 9178 transactions in the memory pool, representing 100,859,918 bytes, then each transaction is ~10KB. That is 20x larger than expected. How does one interpret the numbers?  

---

## 2 answers

### Answer by username_0 on 2016-05-31. Score: 3

After some digging, I believe I have an explanation: the memory pool is clogged with 'junk' transactions.

Bitcoin Core's minrelaytxfee parameter defaults to 0.01 mBTC/KB, which is "too low" in the sense that it permits TONS of 'junk' transactions to enter the memory pool. I've bumped minrelaytxfee to 0.05 mBTC/KB and the results so far are very encouraging. The memory pool profile now makes sense, from the # of transactions to the size of each transaction.

And minrelaytxfee=0.00005 strikes me as "fair" as it is one-tenth the broadly recommended transaction fee of 0.5 mBTC/KB (backup up by the Pareto breakdown of real transactions on various websites).

I encourage everyone running Bitcoin Core can make their own decision on minrelaytxfee for their full node.

> **Comments:**
> **username_2**: Since Bitcoin Core 0.12, the mempool is limited in size, and the effective relay fee will be modified to compensate for it growing too large. If your mempool is taking more space than you can spare, reduce it with -maxmempool=N (with N in MB RAM). Having the transactions otherwise does not hurt, apart from hurting your averages :)  

---

### Answer by username_3 on 2019-04-12. Score: 0

For anyone reading this in 2019, not all txns have the same size, it all depends on the # of inputs/outputs and the scripts, that's why summing the mempool size and dividing by the # of transactions doesn't make sense.

Take for example a transaction by a large exchange, hundreds of clients withdraw and the site batch the all the request in a single transaction, making the size of it very big (see <https://www.blockchain.com/btc/tx/b30679bf3c688ad8f8b674a25c33399be23234934a488c04b8666f9486c1e5f3> it's 81486 bytes, where a normal tx nowadays is around 150.


---

