#21312: Memory and file descriptor leaks in programs that use go-webrtc -----------------------------------+------------------------- Reporter: arlolra | Owner: arlolra Type: defect | Status: closed Priority: High | Milestone: Component: Obfuscation/Snowflake | Version: Severity: Major | Resolution: fixed Keywords: | Actual Points: Parent ID: | Points: Reviewer: | Sponsor: -----------------------------------+-------------------------
Comment (by yawning): Replying to [comment:64 dcf]: > Replying to [comment:63 dcf]: > > So instead, I'm just using ulimit like this: > > {{{ > > ulimit -v 409600 > > exec chpst -u snowflake-proxy proxy-go > > }}} > > I originally gave each process 200 MB. But they were restarting (on average once during the 15 minutes I was watching). So I then bumped it up to 400 MB. Here are the timestamps: > > An update on this. `ulimit -v` (limit virtual memory) didn't work: it would still cause a hang after a while even with 800 MB. (5/6 processes had hung within about 10 hours.) I changed it to `ulimit -m` (limit resident memory) with 200 MB and now it seems fine. > > `top` showed that with `ulimit -v`, the processes had all hung, rather than crashed, when their virtual memory (`VIRT` column) was close to its limit. > {{{ > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND > 12864 snowfla+ 20 0 1241148 56840 12464 S 11.0 2.8 14:24.84 proxy-go # no limit > 12847 snowfla+ 20 0 810328 24952 13408 S 0.7 1.2 1:14.24 proxy-go # limit 819200 > 12848 snowfla+ 20 0 406892 21516 13376 S 0.0 1.0 0:11.57 proxy-go # limit 409600 > 12849 snowfla+ 20 0 398868 21208 13244 S 0.0 1.0 0:09.94 proxy-go # limit 409600 > 13340 snowfla+ 20 0 398864 21036 13228 S 0.0 1.0 0:24.22 proxy-go # limit 409600 > 13978 snowfla+ 20 0 408144 20784 13088 S 0.0 1.0 0:42.28 proxy-go # limit 409600 > }}} Bad things may (probably will) happen regardless. See https://github.com/golang/go/issues/5049 (Superseded by https://github.com/golang/go/issues/16843). The `runtime` and `runtime/debug` packages have methods for interacting with the garbage collector/memory allocator that may work better. -- Ticket URL: <https://trac.torproject.org/projects/tor/ticket/21312#comment:65> Tor Bug Tracker & Wiki <https://trac.torproject.org/> The Tor Project: anonymity online
_______________________________________________ tor-bugs mailing list tor-bugs@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs