[
https://issues.apache.org/jira/browse/DISPATCH-344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ganesh Murthy updated DISPATCH-344:
-----------------------------------
Description:
0. version of dispatch code is 0.6.0 RC3
1. bring up a router
2. do not attach any clients, except...
3. ...repeatedly invoke qdstat -m on the router
result:
After 1000 calls from "qdstat -m", top shows that router memory has grown by
4947968 bytes. The output from "qdstat -m" accounts for about 63% of that, or
3144448 bytes.
Here are the data types that increased, according to qdstat, ordered from
largest to smallest.
Um. This table looked really nice when it was in a fixed-width font.....
{noformat}
type size total total increase increase
before after structs bytes
=========================================================================================
qd_log_entry_t 2104 112 1040 928 1952512
qd_buffer_t 536 80 1120 1040 557440
qd_field_iterator_t 128 192 1280 1088 139264
qdr_delivery_t 136 64 512 448 60928
qdr_connection_t 216 64 320 256 55296
qdr_field_t 40 192 1280 1088 43520
qd_connection_t 224 64 256 192 43008
qd_message_content_t 640 16 80 64 40960
qd_message_t 128 192 512 320 40960
qdpn_connector_t 600 16 64 48 28800
qdr_general_work_t 64 64 512 448 28672
qdr_connection_work_t 56 64 512 448 25088
qd_composite_t 112 64 256 192 21504
qdr_link_t 264 16 80 64 16896
qd_composed_field_t 64 64 256 192 12288
qdr_terminus_t 64 64 256 192 12288
qdr_delivery_ref_t 24 64 512 448 10752
qdr_link_ref_t 24 64 512 448 10752
qd_parsed_field_t 80 128 256 128 10240
qdr_action_t 160 256 320 64 10240
qd_link_t 48 64 256 192 9216
qdr_error_t 24 0 320 320 7680
qd_deferred_call_t 32 64 256 192 6144
{noformat}
grand total increase from qdstat: 3144448
grand total increase from top: 4947968
Here is the script I used....
This input window is breaking some lines. >:-(
#! /bin/bash
echo "NOTE: router should already be running."
INSTALL_ROOT=${SHACKLETON_ROOT}/install
PROTON_INSTALL_DIR=${INSTALL_ROOT}/proton
DISPATCH_INSTALL_DIR=${INSTALL_ROOT}/dispatch
QDSTAT=${DISPATCH_INSTALL_DIR}/bin/qdstat
export LD_LIBRARY_PATH=${DISPATCH_INSTALL_DIR}/lib64:${PROTON_INSTALL_DIR}/lib64
export
PYTHONPATH=${DISPATCH_INSTALL_DIR}/lib/qpid-dispatch/python:${DISPATCH_INSTALL_DIR}/lib/python2.7/site-packages:${PROTON_INSTALL_DIR}/lib64/proton/bindings/python
ROUTER_PID=`ps -aef | grep qdrouterd | grep -v grep | awk '{print $2}'`
count=1
while [ $count -lt 1001 ]
do
echo "==========================================="
echo "TEST $count"
echo "==========================================="
count=$(( $count + 1 ))
top -b -n 1 -p ${ROUTER_PID}
${QDSTAT} -m
sleep 3
done
was:
0. version of dispatch code is 0.6.0 RC3
1. bring up a router
2. do not attach any clients, except...
3. ...repeatedly invoke qdstat -m on the router
result:
After 1000 calls from "qdstat -m", top shows that router memory has grown by
4947968 bytes. The output from "qdstat -m" accounts for about 63% of that, or
3144448 bytes.
Here are the data types that increased, according to qdstat, ordered from
largest to smallest.
Um. This table looked really nice when it was in a fixed-width font.....
type size total total increase increase
before after structs bytes
=========================================================================================
qd_log_entry_t 2104 112 1040 928 1952512
qd_buffer_t 536 80 1120 1040 557440
qd_field_iterator_t 128 192 1280 1088 139264
qdr_delivery_t 136 64 512 448 60928
qdr_connection_t 216 64 320 256 55296
qdr_field_t 40 192 1280 1088 43520
qd_connection_t 224 64 256 192 43008
qd_message_content_t 640 16 80 64 40960
qd_message_t 128 192 512 320 40960
qdpn_connector_t 600 16 64 48 28800
qdr_general_work_t 64 64 512 448 28672
qdr_connection_work_t 56 64 512 448 25088
qd_composite_t 112 64 256 192 21504
qdr_link_t 264 16 80 64 16896
qd_composed_field_t 64 64 256 192 12288
qdr_terminus_t 64 64 256 192 12288
qdr_delivery_ref_t 24 64 512 448 10752
qdr_link_ref_t 24 64 512 448 10752
qd_parsed_field_t 80 128 256 128 10240
qdr_action_t 160 256 320 64 10240
qd_link_t 48 64 256 192 9216
qdr_error_t 24 0 320 320 7680
qd_deferred_call_t 32 64 256 192 6144
grand total increase from qdstat: 3144448
grand total increase from top: 4947968
Here is the script I used....
This input window is breaking some lines. >:-(
#! /bin/bash
echo "NOTE: router should already be running."
INSTALL_ROOT=${SHACKLETON_ROOT}/install
PROTON_INSTALL_DIR=${INSTALL_ROOT}/proton
DISPATCH_INSTALL_DIR=${INSTALL_ROOT}/dispatch
QDSTAT=${DISPATCH_INSTALL_DIR}/bin/qdstat
export LD_LIBRARY_PATH=${DISPATCH_INSTALL_DIR}/lib64:${PROTON_INSTALL_DIR}/lib64
export
PYTHONPATH=${DISPATCH_INSTALL_DIR}/lib/qpid-dispatch/python:${DISPATCH_INSTALL_DIR}/lib/python2.7/site-packages:${PROTON_INSTALL_DIR}/lib64/proton/bindings/python
ROUTER_PID=`ps -aef | grep qdrouterd | grep -v grep | awk '{print $2}'`
count=1
while [ $count -lt 1001 ]
do
echo "==========================================="
echo "TEST $count"
echo "==========================================="
count=$(( $count + 1 ))
top -b -n 1 -p ${ROUTER_PID}
${QDSTAT} -m
sleep 3
done
> memory growth after repeated calls from qdstat -m
> -------------------------------------------------
>
> Key: DISPATCH-344
> URL: https://issues.apache.org/jira/browse/DISPATCH-344
> Project: Qpid Dispatch
> Issue Type: Bug
> Components: Routing Engine
> Affects Versions: 0.6.0
> Reporter: michael goulish
>
> 0. version of dispatch code is 0.6.0 RC3
> 1. bring up a router
> 2. do not attach any clients, except...
> 3. ...repeatedly invoke qdstat -m on the router
> result:
> After 1000 calls from "qdstat -m", top shows that router memory has grown by
> 4947968 bytes. The output from "qdstat -m" accounts for about 63% of that,
> or 3144448 bytes.
> Here are the data types that increased, according to qdstat, ordered from
> largest to smallest.
> Um. This table looked really nice when it was in a fixed-width font.....
> {noformat}
> type size total total increase
> increase before after structs bytes
>
> =========================================================================================
> qd_log_entry_t 2104 112 1040 928 1952512
> qd_buffer_t 536 80 1120 1040 557440
> qd_field_iterator_t 128 192 1280 1088 139264
> qdr_delivery_t 136 64 512 448 60928
> qdr_connection_t 216 64 320 256 55296
> qdr_field_t 40 192 1280 1088 43520
> qd_connection_t 224 64 256 192 43008
> qd_message_content_t 640 16 80 64 40960
> qd_message_t 128 192 512 320 40960
> qdpn_connector_t 600 16 64 48 28800
> qdr_general_work_t 64 64 512 448 28672
> qdr_connection_work_t 56 64 512 448 25088
> qd_composite_t 112 64 256 192 21504
> qdr_link_t 264 16 80 64 16896
> qd_composed_field_t 64 64 256 192 12288
> qdr_terminus_t 64 64 256 192 12288
> qdr_delivery_ref_t 24 64 512 448 10752
> qdr_link_ref_t 24 64 512 448 10752
> qd_parsed_field_t 80 128 256 128 10240
> qdr_action_t 160 256 320 64 10240
> qd_link_t 48 64 256 192 9216
> qdr_error_t 24 0 320 320 7680
> qd_deferred_call_t 32 64 256 192 6144
> {noformat}
> grand total increase from qdstat: 3144448
> grand total increase from top: 4947968
> Here is the script I used....
> This input window is breaking some lines. >:-(
> #! /bin/bash
> echo "NOTE: router should already be running."
> INSTALL_ROOT=${SHACKLETON_ROOT}/install
> PROTON_INSTALL_DIR=${INSTALL_ROOT}/proton
> DISPATCH_INSTALL_DIR=${INSTALL_ROOT}/dispatch
> QDSTAT=${DISPATCH_INSTALL_DIR}/bin/qdstat
> export
> LD_LIBRARY_PATH=${DISPATCH_INSTALL_DIR}/lib64:${PROTON_INSTALL_DIR}/lib64
> export
> PYTHONPATH=${DISPATCH_INSTALL_DIR}/lib/qpid-dispatch/python:${DISPATCH_INSTALL_DIR}/lib/python2.7/site-packages:${PROTON_INSTALL_DIR}/lib64/proton/bindings/python
> ROUTER_PID=`ps -aef | grep qdrouterd | grep -v grep | awk '{print $2}'`
> count=1
> while [ $count -lt 1001 ]
> do
> echo "==========================================="
> echo "TEST $count"
> echo "==========================================="
> count=$(( $count + 1 ))
> top -b -n 1 -p ${ROUTER_PID}
> ${QDSTAT} -m
> sleep 3
> done
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]