{jpillora / chisel} Высокое использование ОЗУ на ARM от Chisel - PullRequest
1 голос
/ 21 марта 2019

Я использую Долото jpillora для WebSockets.Мне нужно было использовать долото на ARM.Я кросс-скомпилировал его и уменьшил размер двоичного файла, используя следующие две команды:

env GOOS=linux GOARCH=arm go build -ldflags "-w -s"
~/go/src/github.com/pwaller/goupx/goupx --brute chisel

Однако, когда я запускаю двоичный файл с долотом на плате ARM (512 МБ ОЗУ), я нахожу, что он занимает огромное количествоОЗУ.

"top" дает результат использования 161% и 775m!Однако разница в выводе команды «free», полученной до и после выполнения клиента зубила, составляет ~ 6 МБ.

Я также выполнил strace, и сумма всей выделенной памяти mmap2 составляет 700 МБ +.Команда, которую я выполнил для подключения к серверу:

./chisel client --fingerprint <> 10.137.12.88:2002 127.0.0.1:9191:10.137.12.88:9191

Есть ли способ оптимизировать / уменьшить использование оперативной памяти на долоте?

Любые указатели были бы полезны!

Спасибо

1 Ответ

0 голосов
/ 19 апреля 2019

Мне удалось уменьшить VSZ до ~ 279 м (т.е. на ~ 60%), изменив размеры арен в malloc.go (/usr/local/go/src/runtime/malloc.go).

...