In our experiment with Nvidia Jetson TX2, memory utilization of vins-gpu could go up to 85% (as mentioned in #2 ) and would eventually escalate sigkill. After we examined the main entry of ROS node rosNodeTest.cpp, we found you have used queue<sensor_msgs::ImageConstPtr> in line 29,30, which may bring about miserable results such as failure of memory deallocation of sensor_msgs::Image, thus causing memory panic.
After making some minor changes, i.e. using queue<cv::Mat> and convert msgs just in time, this problem can be addressed. Note: extra care should be taken since cv::Mat wouldn't save extra info such as timestamp, which means you have to store it somewhere else manually.
Hope this helps
In our experiment with Nvidia Jetson TX2, memory utilization of vins-gpu could go up to 85% (as mentioned in #2 ) and would eventually escalate sigkill. After we examined the main entry of ROS node
rosNodeTest.cpp
, we found you have usedqueue<sensor_msgs::ImageConstPtr>
in line 29,30, which may bring about miserable results such as failure of memory deallocation ofsensor_msgs::Image
, thus causing memory panic. After making some minor changes, i.e. usingqueue<cv::Mat>
and convert msgs just in time, this problem can be addressed. Note: extra care should be taken since cv::Mat wouldn't save extra info such as timestamp, which means you have to store it somewhere else manually. Hope this helps