Reference

show pools

Available since

  • HAProxy 1.9
  • HAProxy Enterprise 1.9r1

Show the status of internal memory pools.

Description Jump to heading

The show pools command displays a list of memory pools and their statuses.

As of HAProxy version 2.7 and HAProxy Enterprise version 2.7r1, there are options for filtering and sorting the output.

As of HAProxy version 3.2 and HAProxy Enterprise version 3.2r1, there’s an additional option detailed that provides more information about the pools.

Examples Jump to heading

Show status of memory pools Jump to heading

To see the status of internal memory pools:

nix
echo "show pools" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
nix
echo "show pools" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
output
text
Dumping pools usage. Use SIGQUIT to flush them.
- Pool comp_state (32 bytes) : 10 allocated (320 bytes), 10 used, needed_avg 6, 0 failures, 6 users, @0x55f09cab7380=10 [SHARED]
- Pool filter (64 bytes) : 17 allocated (1088 bytes), 17 used, needed_avg 13, 0 failures, 9 users, @0x55f09cab7280=08 [SHARED]
- Pool pendconn (96 bytes) : 0 allocated (0 bytes), 0 used, needed_avg 0, 0 failures, 5 users, @0x55f09cab7400=11 [SHARED]
- Pool uniqueid (128 bytes) : 6 allocated (768 bytes), 6 used, needed_avg 2, 0 failures, 4 users, @0x55f09cab7080=04 [SHARED]
- Pool h1c (160 bytes) : 26 allocated (4160 bytes), 26 used, needed_avg 22, 0 failures, 4 users, @0x55f09cab6f80=02 [SHARED]
- Pool fcgi_strm (192 bytes) : 8 allocated (1536 bytes), 8 used, needed_avg 4, 0 failures, 3 users, @0x55f09cab6e80=00 [SHARED]
- Pool tcpcheck_ru (224 bytes) : 0 allocated (0 bytes), 0 used, needed_avg 0, 0 failures, 2 users, @0x55f09cab7180=06 [SHARED]
- Pool authority (256 bytes) : 2 allocated (512 bytes), 2 used, needed_avg 0, 0 failures, 2 users, @0x55f09cab7580=14 [SHARED]
- Pool spoe_ctx (320 bytes) : 0 allocated (0 bytes), 0 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab7200=07 [SHARED]
- Pool session (352 bytes) : 4 allocated (1408 bytes), 4 used, needed_avg 1, 0 failures, 1 users, @0x55f09cab7300=09 [SHARED]
- Pool dns_resolut (480 bytes) : 0 allocated (0 bytes), 0 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab7480=12 [SHARED]
- Pool dns_answer_ (576 bytes) : 0 allocated (0 bytes), 0 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab7500=13 [SHARED]
- Pool requri (1024 bytes) : 2 allocated (2048 bytes), 2 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab7680=16 [SHARED]
- Pool fcgi_conn (1216 bytes) : 0 allocated (0 bytes), 0 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab6f00=01 [SHARED]
- Pool stream (1248 bytes) : 2 allocated (2496 bytes), 2 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab7100=05 [SHARED]
- Pool h2c (1312 bytes) : 0 allocated (0 bytes), 0 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab7000=03 [SHARED]
- Pool hpack_tbl (4096 bytes) : 0 allocated (0 bytes), 0 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab7780=18 [SHARED]
- Pool buffer (16384 bytes) : 6 allocated (98304 bytes), 6 used, needed_avg 2, 0 failures, 1 users, @0x55f09cab7700=17 [SHARED]
- Pool trash (16416 bytes) : 2 allocated (32832 bytes), 2 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab7800=19
Total: 19 pools, 145472 bytes allocated, 145472 used.
output
text
Dumping pools usage. Use SIGQUIT to flush them.
- Pool comp_state (32 bytes) : 10 allocated (320 bytes), 10 used, needed_avg 6, 0 failures, 6 users, @0x55f09cab7380=10 [SHARED]
- Pool filter (64 bytes) : 17 allocated (1088 bytes), 17 used, needed_avg 13, 0 failures, 9 users, @0x55f09cab7280=08 [SHARED]
- Pool pendconn (96 bytes) : 0 allocated (0 bytes), 0 used, needed_avg 0, 0 failures, 5 users, @0x55f09cab7400=11 [SHARED]
- Pool uniqueid (128 bytes) : 6 allocated (768 bytes), 6 used, needed_avg 2, 0 failures, 4 users, @0x55f09cab7080=04 [SHARED]
- Pool h1c (160 bytes) : 26 allocated (4160 bytes), 26 used, needed_avg 22, 0 failures, 4 users, @0x55f09cab6f80=02 [SHARED]
- Pool fcgi_strm (192 bytes) : 8 allocated (1536 bytes), 8 used, needed_avg 4, 0 failures, 3 users, @0x55f09cab6e80=00 [SHARED]
- Pool tcpcheck_ru (224 bytes) : 0 allocated (0 bytes), 0 used, needed_avg 0, 0 failures, 2 users, @0x55f09cab7180=06 [SHARED]
- Pool authority (256 bytes) : 2 allocated (512 bytes), 2 used, needed_avg 0, 0 failures, 2 users, @0x55f09cab7580=14 [SHARED]
- Pool spoe_ctx (320 bytes) : 0 allocated (0 bytes), 0 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab7200=07 [SHARED]
- Pool session (352 bytes) : 4 allocated (1408 bytes), 4 used, needed_avg 1, 0 failures, 1 users, @0x55f09cab7300=09 [SHARED]
- Pool dns_resolut (480 bytes) : 0 allocated (0 bytes), 0 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab7480=12 [SHARED]
- Pool dns_answer_ (576 bytes) : 0 allocated (0 bytes), 0 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab7500=13 [SHARED]
- Pool requri (1024 bytes) : 2 allocated (2048 bytes), 2 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab7680=16 [SHARED]
- Pool fcgi_conn (1216 bytes) : 0 allocated (0 bytes), 0 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab6f00=01 [SHARED]
- Pool stream (1248 bytes) : 2 allocated (2496 bytes), 2 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab7100=05 [SHARED]
- Pool h2c (1312 bytes) : 0 allocated (0 bytes), 0 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab7000=03 [SHARED]
- Pool hpack_tbl (4096 bytes) : 0 allocated (0 bytes), 0 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab7780=18 [SHARED]
- Pool buffer (16384 bytes) : 6 allocated (98304 bytes), 6 used, needed_avg 2, 0 failures, 1 users, @0x55f09cab7700=17 [SHARED]
- Pool trash (16416 bytes) : 2 allocated (32832 bytes), 2 used, needed_avg 0, 0 failures, 1 users, @0x55f09cab7800=19
Total: 19 pools, 145472 bytes allocated, 145472 used.

Filter and sort pool information Jump to heading

Available since

  • HAProxy 2.7
  • HAProxy Enterprise 2.7r1

You can filter which pools are shown in the output and you can determine how they should be sorted.

By default, the command does not sort the output. You can sort the pools in the output as follows:

  • byname: sort by pool name
  • bysize: sort by item size in reverse order
  • byusage: sort by total usage in reverse order, and only show used entries

For example, to sort the pools by name:

nix
echo "show pools byname" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
nix
echo "show pools byname" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
Output
text
Dumping pools usage. Use SIGQUIT to flush them.
- Pool appctx (512 bytes) : 2 allocated (1024 bytes), 2 used (~1 by thread caches), needed_avg 0, 0 failures, 1 users, @0x6334bb57a740 [SHARED]
- Pool buffer (16384 bytes) : 16 allocated (262144 bytes), 16 used (~5 by thread caches), needed_avg 1, 0 failures, 1 users, @0x6334bb862740 [SHARED]
- Pool cache_st (40 bytes) : 34 allocated (1360 bytes), 34 used (~26 by thread caches), needed_avg 2, 0 failures, 13 users, @0x6334bb5474c0 [SHARED]
...
Total: 34 pools, 931904 bytes allocated, 931904 used (~203328 by thread caches).
Output
text
Dumping pools usage. Use SIGQUIT to flush them.
- Pool appctx (512 bytes) : 2 allocated (1024 bytes), 2 used (~1 by thread caches), needed_avg 0, 0 failures, 1 users, @0x6334bb57a740 [SHARED]
- Pool buffer (16384 bytes) : 16 allocated (262144 bytes), 16 used (~5 by thread caches), needed_avg 1, 0 failures, 1 users, @0x6334bb862740 [SHARED]
- Pool cache_st (40 bytes) : 34 allocated (1360 bytes), 34 used (~26 by thread caches), needed_avg 2, 0 failures, 13 users, @0x6334bb5474c0 [SHARED]
...
Total: 34 pools, 931904 bytes allocated, 931904 used (~203328 by thread caches).

To report only pools beginning with a given string, specify the string after the match argument.

nix
echo "show pools byname match h2" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
nix
echo "show pools byname match h2" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
Output
text
Dumping pools usage. Use SIGQUIT to flush them.
- Pool h2_rx_bufs (4040 bytes) : 0 allocated (0 bytes), 0 used (~0 by thread caches), needed_avg 0, 0 failures, 1 users, @0x6334bb884940 [SHARED]
- Pool h2c (1320 bytes) : 0 allocated (0 bytes), 0 used (~0 by thread caches), needed_avg 0, 0 failures, 1 users, @0x6334bb47ab00 [SHARED]
- Pool h2s (192 bytes) : 22 allocated (4224 bytes), 22 used (~19 by thread caches), needed_avg 0, 0 failures, 8 users, @0x6334bb469a40 [SHARED]
Total: 3 pools, 4224 bytes allocated, 4224 used (~3648 by thread caches).
Output
text
Dumping pools usage. Use SIGQUIT to flush them.
- Pool h2_rx_bufs (4040 bytes) : 0 allocated (0 bytes), 0 used (~0 by thread caches), needed_avg 0, 0 failures, 1 users, @0x6334bb884940 [SHARED]
- Pool h2c (1320 bytes) : 0 allocated (0 bytes), 0 used (~0 by thread caches), needed_avg 0, 0 failures, 1 users, @0x6334bb47ab00 [SHARED]
- Pool h2s (192 bytes) : 22 allocated (4224 bytes), 22 used (~19 by thread caches), needed_avg 0, 0 failures, 8 users, @0x6334bb469a40 [SHARED]
Total: 3 pools, 4224 bytes allocated, 4224 used (~3648 by thread caches).

To limit the output to the first number of lines, specify that number as an argument.

nix
echo "show pools byname match h2 1" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
nix
echo "show pools byname match h2 1" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
Output
text
Dumping pools usage (limited to the first 1 entries). Use SIGQUIT to flush them.
- Pool h2_rx_bufs (4040 bytes) : 0 allocated (0 bytes), 0 used (~0 by thread caches), needed_avg 0, 0 failures, 1 users, @0x6334bb884940 [SHARED]
Total: 3 pools, 0 bytes allocated, 0 used (~0 by thread caches).
Output
text
Dumping pools usage (limited to the first 1 entries). Use SIGQUIT to flush them.
- Pool h2_rx_bufs (4040 bytes) : 0 allocated (0 bytes), 0 used (~0 by thread caches), needed_avg 0, 0 failures, 1 users, @0x6334bb884940 [SHARED]
Total: 3 pools, 0 bytes allocated, 0 used (~0 by thread caches).

You can use these arguments interchangeably with each other. The reported total only concerns pools matching the filtering criteria.

Show additional information about pools Jump to heading

Available since

  • HAProxy 3.2
  • HAProxy Enterprise 3.2r1

To show more information about the pools, add the detailed argument. For example, to show detailed information about pools matching the name quic sorted by usage:

nix
echo "show pools match quic byusage detailed" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
nix
echo "show pools match quic byusage detailed" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
output
text
Dumping pools usage. Use SIGQUIT to flush them.
- Pool quic_crypto (1032 bytes) : 2 allocated (2064 bytes), 2 used (~2 by thread caches), needed_avg 0, 0 failures, 2 users, @0x610134884f80 [SHARED]
> quic_crypto : size=1032 flags=0x1 align=0
> requri : size=1024 flags=0x1 align=0
Total: 1 pools, 2064 bytes allocated, 2064 used (~2064 by thread caches).
output
text
Dumping pools usage. Use SIGQUIT to flush them.
- Pool quic_crypto (1032 bytes) : 2 allocated (2064 bytes), 2 used (~2 by thread caches), needed_avg 0, 0 failures, 2 users, @0x610134884f80 [SHARED]
> quic_crypto : size=1032 flags=0x1 align=0
> requri : size=1024 flags=0x1 align=0
Total: 1 pools, 2064 bytes allocated, 2064 used (~2064 by thread caches).

See also Jump to heading

*show threads

Do you have any suggestions on how we can improve the content of this page?