Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

performance_test used up memory on ubuntu 16.4 #62

Open
BraddlyTDY opened this issue May 13, 2019 · 5 comments
Open

performance_test used up memory on ubuntu 16.4 #62

BraddlyTDY opened this issue May 13, 2019 · 5 comments

Comments

@BraddlyTDY
Copy link

BraddlyTDY commented May 13, 2019

Hello,
I investigate ROS2 crystal DDS performance via ApexAI performance_test test tool on ubuntu 16.04.
I'd like to ask a question about performance_test will use up system memory.
While test large message like Array1m, PointCloud2m, system may be pending for no free memory, like for rmw_fastrtps_cpp case, performance_test test with QoS reliable and transient, it looks like refer to transient mode(backup samples), but it should not consumes more memory by running more time and no any free memory.
And test rmw_connext_cpp case, it also happens even if Best Effor and Volatile mode.
And small message no this issue.
Is it some configuration while performance_test and ROS2 QoS or others?
Please help me to fix it.

Thanks !

@BraddlyTDY
Copy link
Author

Test case follow below:

$ RMW_IMPLEMENTATION=rmw_fastrtps_cpp ros2 run performance_test perf_test --communication ROS2 -p1 --max_runtime 120 -l 'rate_1000/subs_1/log' --topic Array2m --rate 1000 -s 1 --transient --reliable

$ RMW_IMPLEMENTATION=rmw_connext_cpp ros2 run performance_test perf_test --communication ROS2 -p1 --max_runtime 120 -l 'rate_1000/subs_1/log' --topic PointCloud2m --rate 1000 -s 1

@deeplearningrobotics
Copy link
Contributor

deeplearningrobotics commented May 16, 2019

@BraddlyTDY:

  • For FastRTPS: Can you try to reduce the history size? The default is 1000 which could be a bit much with transient.
  • RMW Connext Pro is really slow with large messages I tried last time. Maybe this affects you, not sure.

@BraddlyTDY
Copy link
Author

@deeplearningrobotics:
I try reduce the history depth as 500 / 100, but the system memory still to be used up, test command like below.
$ RMW_IMPLEMENTATION=rmw_fastrtps_cpp ros2 run performance_test perf_test --communication ROS2 -p1 --max_runtime 120 -l 'rate_1000/subs_1/log' --topic Array2m --rate 1000 -s 1 --transient --reliable --history_depth 100

In the transient mode, why it consume much more memory step by step? Was it caused by backup samples, are those backup samples no any free?
And small size no this issue in transient mode, which used memory without increasing step by step.
I'm very confuse to this, and don't really understand the transient service.
Command like below:
$ RMW_IMPLEMENTATION=rmw_fastrtps_cpp ros2 run performance_test perf_test --communication ROS2 -p1 --max_runtime 120 -l 'rate_1000/subs_1/log' --topic Array1k --rate 1000 -s 1 --transient --reliable

@dejanpan
Copy link
Contributor

@BraddlyTDY are you still seeing this issue? If yes, could you tell us about your platforms:

  1. what kind of computer (CPU, memory, ...)
  2. which OS
  3. which ROS 2 version

@BraddlyTDY
Copy link
Author

@dejanpan
I'm sorry reply so late.

I try this performance tool latest code on ubuntu 18..04.2 LTS bionic.
It's spend memory about 11 GiB while test Array2M, and no use up memory now.

$ RMW_IMPLEMENTATION=rmw_fastrtps_cpp ros2 run performance_test perf_test --communication ROS2 -p1 --max_runtime 120 -l 'rate_1000/subs_1/log' --topic Array2m --rate 1000 -s 1 --transient --reliable --history_depth 100

My system environment:
utuntu 18.04.2 LTS
x86_64,
ntel(R) Core(TM) i7-6700K CPU @ 4.00GHz (8*threads)
memory 16GiB
ROS2 dashing

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants