• fuchen.ljl's avatar
    Long distance memory overflow issue · 4d563830
    fuchen.ljl authored
    Problem: The memory will slowly increase with the drawing until restarting.
    Observation: GC analysis shows that no occupation has occurred, so it is suspected to be a problem with the underlying allocator.
    Reason: Under Linux, glibc is used to allocate memory. glibc uses brk and mmap to allocate memory, and the memory allocated by brk cannot be released until the high-address memory is released. That is to say, if you apply for two pieces of memory A and B through brk, it is impossible to release A before B is released, and it is still occupied by the process. Check the suspected "memory leak" through TOP.
    So I replaced TCMalloc, but found that libtcmalloc_minimal could not find ptthread_Key_Create. After analysis, it was found that pthread was not entered during compilation.
    4d563830
webui.sh 8.64 KB