@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.

Reply via email to