mwasters

command module
v0.0.0-...-3beddbe Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 28, 2020 License: MIT Imports: 2 Imported by: 0

README

mwasters

Goでどれくらいメモリに乗っけられるかのテスト。
複数VerのGoでbyteを伸ばしていく。
PCのメモリを食いつぶすのが怖かったので、memory上限を指定したDockerでテスト。

Result

golang 1.10 - 1.15 のそれぞれで、とりあえず100MBは確保できた。

$ for i in {10..15}; do echo golang:1.$i; docker run --rm --memory="256MB" -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.$i go run main.go;done
golang:1.10
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        134217728       signal: killed
golang:1.11
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        134217728       signal: killed
golang:1.12
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        134217728       268435456       signal: killed
golang:1.13
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        134217728       268435456       signal: killed
golang:1.14
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        134217728       signal: killed
golang:1.15
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        134217728       signal: killed
Question

DockerのMemory上限以上までログがでるVerと出ないVerが存在した。
ちょっと気になったので、ミニマムな処理で再確認。

以下のような結果となり、Memory上限を超えやすいVerと超えにくいVerがありそう。

  • 1.13は、10/10上限を超えた
  • 1.12は、7/10上限を超えた
  • 1.10, 1.11, 1,14, 1,15は上限を超えなかった。
$ for i in {10..15}; do echo golang1.$i; for j in {1..10}; do echo test_no=$j;docker run --rm --memory="64MB" -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.$i go run main.go;done;done
golang1.10
test_no=1
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=2
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=3
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=4
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=5
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=6
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=7
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=8
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=9
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=10
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
golang1.11
test_no=1
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=2
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=3
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=4
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=5
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=6
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=7
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=8
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=9
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=10
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
golang1.12
test_no=1
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
test_no=2
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=3
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
test_no=4
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
test_no=5
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
test_no=6
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
test_no=7
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
test_no=8
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
test_no=9
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=10
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
golang1.13
test_no=1
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
test_no=2
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
test_no=3
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
test_no=4
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
test_no=5
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
test_no=6
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
test_no=7
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
test_no=8
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
test_no=9
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
test_no=10
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        67108864        signal: killed
golang1.14
test_no=1
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=2
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=3
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=4
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=5
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=6
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=7
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=8
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=9
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=10
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
golang1.15
test_no=1
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=2
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=3
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=4
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=5
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=6
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=7
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=8
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=9
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed
test_no=10
1       2       4       8       16      32      64      128     256     512     1024    2048    4096    8192    16384   32768   65536   131072  262144  524288  1048576 2097152 4194304 8388608 16777216 33554432        signal: killed

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL