OrientedRepPoints icon indicating copy to clipboard operation
OrientedRepPoints copied to clipboard

Memory Leak--UserWarning: semaphore_tracker: There appear to be 14 leaked semaphores to clean up at shutdown len(cache))

Open hukaixuan19970627 opened this issue 3 years ago • 2 comments

DOTA数据集的规模暂时还比较小,所以目前没发生过因为内存泄露而导致的程序崩溃现象。 但当我将该项目应用在一个30W规模的数据集上的时候,随着迭代次数的增加内存的使用量也在增加,最后崩溃。 下图是每个小时自动运行一次free命令的输出情况。 IMG_20210625_114729 mmdet和python本身应该不容易出现内存管理方面的问题,感觉可能是新增的cuda代码容易出问题,但是cuda这一块我完全不懂,作者方便定位一下问题可能出现在哪些地方吗

hukaixuan19970627 avatar Jun 25 '21 03:06 hukaixuan19970627

补充:DOTA数据集似乎也会触发内存泄露的问题,比如将40epoch延长至120或200epoch,内存利用率会不断上升,最后崩溃 内存利用率曲线如下图所示(不方便截图只能拍照) IMG_20210626_172306_edit_60733602335002

hukaixuan19970627 avatar Jun 26 '21 08:06 hukaixuan19970627

是的,我在训练DOTA多尺度数据(scale: 0.5, 1.0, 1.5)时, 也出现内存泄漏导致训练中止的情况,具体终端信息显示如下: lib/python3.7/multiprocessing/semaphore_tracker.py:144: UserWarning: semaphore_tracker: There appear to be 14 leaked semaphores to clean up at shutd len(cache)) . 也知道是cuda代码的问题,但没有找到具体问题在哪。故训练出现中断的情况,一般采用resume_from继续训练,最后的结果似乎也没有受到影响。 感谢对此代码的完善以及commits !!!

LiWentomng avatar Jun 27 '21 14:06 LiWentomng