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 <garencha...@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+unsubscr...@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. -- 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/942694CB-8B00-4E8E-83C4-6E7C9CD255D7%40ix.netcom.com.