The binary file is not a dynamic executable. So I don't think that will happen.
在2022年5月6日星期五 UTC+8 11:54:44<ren...@ix.netcom.com> 写道: > Are you certain that on the low memory instance there isn’t another > process - maybe Go - that hasn’t already loaded the shared libraries - and > on the other it hasn’t - so the RSS is different. Compare the VSZ sizes and > see if they are the same. > > On May 5, 2022, at 10:28 PM, garenchan <garen...@gmail.com> wrote: > > @jake, I tried 1.18 version of Go, but the problem still exists. > > > I also tried using C to write program that includes memory allocation and > usage, and this problem does not occur. > 在2022年5月5日星期四 UTC+8 21:25:20<jake...@gmail.com> 写道: > >> Since no one has responded with concrete ideas, I'll throw out two >> suggestions. They may seem obvious. >> >> First have you tries the latest version of Go? and do you get the same >> results? >> >> Second have you run the experiment with a small binaries not from Go? I >> would suggest something that does allocate some real memory, *not *a >> "hello world" C program or something. >> On Thursday, May 5, 2022 at 7:21:39 AM UTC-4 garenchan wrote: >> >>> >>> Both hosts have 8 cores and 16GB RAM. >>> 在2022年4月30日星期六 UTC+8 00:19:44<garenchan> 写道: >>> >>>> *What version of Go are you using (go version)?* >>>> >>>> $ go version >>>> go version go1.17.6 linux/amd64 >>>> >>>> *Does this issue reproduce with the latest release?* >>>> >>>> uncertain >>>> >>>> *What operating system and processor architecture are you using (go >>>> env)?* >>>> >>>> $ go env >>>> GO111MODULE="on" >>>> GOARCH="amd64" >>>> GOBIN="" >>>> GOCACHE="/root/.cache/go-build" >>>> GOENV="/root/.config/go/env" >>>> GOEXE="" >>>> GOEXPERIMENT="" >>>> GOFLAGS="" >>>> GOHOSTARCH="amd64" >>>> GOHOSTOS="linux" >>>> GOINSECURE="" >>>> GOMODCACHE="/root/go/pkg/mod" >>>> GONOPROXY="" >>>> GONOSUMDB="" >>>> GOOS="linux" >>>> GOPATH="/root/go" >>>> GOPRIVATE="" >>>> GOPROXY="" >>>> GOROOT="/home/go" >>>> GOSUMDB="off" >>>> GOTMPDIR="" >>>> GOTOOLDIR="/home/go/pkg/tool/linux_amd64" >>>> GOVCS="" >>>> GOVERSION="go1.17.6" >>>> GCCGO="gccgo" >>>> AR="ar" >>>> CC="gcc" >>>> CXX="g++" >>>> CGO_ENABLED="1" >>>> GOMOD="/home/demo/go.mod" >>>> CGO_CFLAGS="-g -O2" >>>> CGO_CPPFLAGS="" >>>> CGO_CXXFLAGS="-g -O2" >>>> CGO_FFLAGS="-g -O2" >>>> CGO_LDFLAGS="-g -O2" >>>> PKG_CONFIG="pkg-config" >>>> GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 >>>> -fdebug-prefix-map=/tmp/go-build4023324410=/tmp/go-build >>>> -gno-record-gcc-switches" >>>> >>>> *What did you do?* >>>> >>>> I encountered a memory problem with the GO program, see here for >>>> details.( >>>> https://stackoverflow.com/questions/71994609/memory-footprint-of-the-same-program-varies-greatly-in-two-similar-environments >>>> ) >>>> >>>> In order to simplify the analysis, I wrote a simple program to test. >>>> >>>> ```go >>>> package main >>>> >>>> import ( >>>> "time" >>>> ) >>>> >>>> func main() { >>>> time.Sleep(60*time.Second) >>>> } >>>> ``` >>>> >>>> >>>> - I compiled it into binary file on a linux host `host1` with >>>> kernel 4.18. Then I run it on `host1` and the process takes up close to >>>> 5MB >>>> RSS. >>>> - I then copy the binary file to another host `host2` with kernel >>>> 4.18. I also ran it on `host2`, but this time the process took up less >>>> than >>>> 1MB RSS. >>>> - I repeated the test many times and observed the same thing. >>>> >>>> >>>> ``` >>>> $ uname -a >>>> Linux host1 4.18.0 #1 SMP Wed Nov 10 20:46:19 CST 2021 x86_64 x86_64 >>>> x86_64 GNU/Linux >>>> >>>> $ uname -a >>>> Linux host2 4.18.0 #1 SMP Fri May 8 10:59:10 UTC 2021 x86_64 x86_64 >>>> x86_64 GNU/Linux >>>> ``` >>>> >>>> Why is memory footprint of the same program in similar environments so >>>> different? What factors might be contributing to this problem? >>>> >>>> *What did you expect to see?* >>>> >>>> I would expect to see the memory footprint of the same program in >>>> similar environments be close. I look forward to your answers. Thank you >>>> very much. >>>> >>> -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/d8a3e1d9-e578-4668-9b19-38b49e29cd11n%40googlegroups.com > > <https://groups.google.com/d/msgid/golang-nuts/d8a3e1d9-e578-4668-9b19-38b49e29cd11n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/c524a157-7772-4bcd-9ce5-c04b95fb560en%40googlegroups.com.