我正在为WebSocket使用jpillora's Chisel。我需要在ARM上使用Chisel。我交叉编译它,并使用以下两个命令减小了二进制文件的大小:
env GOOS=linux GOARCH=arm go build -ldflags "-w -s"
~/go/src/github.com/pwaller/goupx/goupx --brute chisel
但是,当我在ARM板上运行凿子二进制文件(512MB RAM)时,我发现它占用了大量RAM。
“顶部”产生了161%和775m的使用量输出!但是,在执行凿子客户端之前和之后执行的“ free”命令的输出差异为〜6MB。
我也运行了strace,分配的所有mmap2内存的总和为700MB +。 我执行的连接服务器的命令:
./chisel client --fingerprint <> 10.137.12.88:2002 127.0.0.1:9191:10.137.12.88:9191
是否有某种方法可以优化/减少Chisel上的RAM使用情况?
任何指针都会有所帮助!
谢谢
答案 0 :(得分:0)
通过修改malloc.go(/usr/local/go/src/runtime/malloc.go)中的arenaSizes,我能够将VSZ减少到〜279m(即减少了〜60%)。