You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I switch between 0.8.0 release, 0.7.0, 0.7.1 tag, not seeing prominent difference.
I know little about go and its debugging, but I manage to enable ppref and collect some samples.
I perf on heap and goroutine, and generate pngs with commands like go tool pprof -png http://localhost:{port}/debug/pprof/{goroutine or heap} > out.png. Here are the results:
Memory Usage
Heap
Goroutine
~500MiB
~1.5GiB
It is notable that the http3/quic client called by dns checker takes the most goroutines and memory.
I hope these images help. I will provide more related information ASAP if needed. Your work is highly appreciated!
The text was updated successfully, but these errors were encountered:
Right after I open this issue I immediately realize that I forget to add dip(223.5.5.5) -> direct routing rule. Sorry ;(
I am not sure if that is the key. Testing again...
If it is true, I will close this.
Right after I open this issue I immediately realize that I forget to add dip(223.5.5.5) -> direct routing rule. Sorry ;( I am not sure if that is the key. Testing again... If it is true, I will close this.
No luck. Tried both dip(223.5.5.5) -> direct and dip(223.5.5.5) -> must_direct and got similar pperf result:
http3/quic client called by dns checker takes the most goroutines and memory
EDIT: Removing all hysteria2 nodes works. So this is likely a hysteria2 specific problem. I took a quick glance at relevant code, and found nothing but some snips like context.TODO(). Anyway, I have no idea where the problem is since I am not familiar with go. :(
Checks
Current Behavior
dae 0.7.0-0.8.0 running 3 hours can take up to 2GiB or even more memory.
Expected Behavior
Memory usage should ideally be within ~1G.
Steps to Reproduce
Environment
arch 6.6.56-1-lts #1 SMP PREEMPT_DYNAMIC Thu, 10 Oct 2024 12:04:53 +0000 x86_64 GNU/Linux
nil
Anything else?
I switch between 0.8.0 release, 0.7.0, 0.7.1 tag, not seeing prominent difference.
I know little about go and its debugging, but I manage to enable ppref and collect some samples.
I perf on heap and goroutine, and generate pngs with commands like
go tool pprof -png http://localhost:{port}/debug/pprof/{goroutine or heap} > out.png
. Here are the results:It is notable that the http3/quic client called by dns checker takes the most goroutines and memory.
I hope these images help. I will provide more related information ASAP if needed. Your work is highly appreciated!
The text was updated successfully, but these errors were encountered: