diff options
author | fuchen.ljl <yjqqqqdx_01@163.com> | 2023-12-06 12:23:56 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-06 12:23:56 +0000 |
commit | 4d56383025f2cbd00dc6296161e31a896624ab75 (patch) | |
tree | a1669206b4a517d9730bcd4666c69cbc877e52df /modules/textual_inversion/textual_inversion.py | |
parent | 42dbcad3efb704475306474a79fd8e95dd977c54 (diff) | |
download | stable-diffusion-webui-gfx803-4d56383025f2cbd00dc6296161e31a896624ab75.tar.gz stable-diffusion-webui-gfx803-4d56383025f2cbd00dc6296161e31a896624ab75.tar.bz2 stable-diffusion-webui-gfx803-4d56383025f2cbd00dc6296161e31a896624ab75.zip |
Long distance memory overflow issue
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.
Diffstat (limited to 'modules/textual_inversion/textual_inversion.py')
0 files changed, 0 insertions, 0 deletions