New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Loongson-3A3000: Abnormal memory(VmRSS) usage on mips64 #43091
Comments
I can't reproduce this, I find it's 2MB by Go1.15
|
Go reserves larger chunks of virtual memory than it immediately uses as physical memory. |
$ps -eo vsz,rss,comm| grep test.out 703392 33680 test.out $ uname -a Linux mips-PC 4.19.0-loongson-3-desktop #1288 SMP PREEMPT Tue Jun 30 15:48:02 CST 2020 mips64 GNU/Linux Use gccgo-8 to compile the same code, the memory usage will become normal. |
According to the document (proc man-pages), I think it means the use of physical memory |
Could you dump the memory map of your test program?
|
maps
smaps pgrep test.out | xargs -i%1 cat /proc/%1/smaps 00010000-00164000 r-xp 00000000 08:17 55183520 /home/mips/Go/tdbus/test.out Size: 1360 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 1216 kB Pss: 1216 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 1216 kB Private_Dirty: 0 kB Referenced: 1040 kB Anonymous: 0 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 0 VmFlags: rd ex mr mw me dw 00170000-0018c000 rwxp 00160000 08:17 55183520 /home/mips/Go/tdbus/test.out Size: 112 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 112 kB Pss: 112 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 16 kB Private_Dirty: 96 kB Referenced: 112 kB Anonymous: 96 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 0 VmFlags: rd wr ex mr mw me dw ac 0018c000-001bc000 rwxp 00000000 00:00 0 Size: 192 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 80 kB Pss: 80 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 80 kB Referenced: 80 kB Anonymous: 80 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 1 VmFlags: rd wr ex mr mw me ac c000000000-c004000000 rwxp 00000000 00:00 0 Size: 65536 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 32768 kB Pss: 32768 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 32768 kB Referenced: 32768 kB Anonymous: 32768 kB LazyFree: 0 kB AnonHugePages: 32768 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 1 VmFlags: rd wr ex mr mw me ac ffcf154000-ffd1508000 rwxp 00000000 00:00 0 Size: 36560 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 176 kB Pss: 176 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 176 kB Referenced: 176 kB Anonymous: 176 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 1 VmFlags: rd wr ex mr mw me ac ffd1508000-ffd1688000 ---p 00000000 00:00 0 Size: 1536 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 0 kB Pss: 0 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 0 kB Anonymous: 0 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 1 VmFlags: mr mw me ffd1688000-ffd168c000 rwxp 00000000 00:00 0 Size: 16 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 16 kB Pss: 16 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 16 kB Referenced: 16 kB Anonymous: 16 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 1 VmFlags: rd wr ex mr mw me ac ffd168c000-fff1538000 ---p 00000000 00:00 0 Size: 522928 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 0 kB Pss: 0 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 0 kB Anonymous: 0 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 1 VmFlags: mr mw me fff1538000-fff153c000 rwxp 00000000 00:00 0 Size: 16 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 16 kB Pss: 16 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 16 kB Referenced: 16 kB Anonymous: 16 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 1 VmFlags: rd wr ex mr mw me ac fff153c000-fff550c000 ---p 00000000 00:00 0 Size: 65344 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 0 kB Pss: 0 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 0 kB Anonymous: 0 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 1 VmFlags: mr mw me fff550c000-fff5510000 rwxp 00000000 00:00 0 Size: 16 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 16 kB Pss: 16 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 16 kB Referenced: 16 kB Anonymous: 16 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 1 VmFlags: rd wr ex mr mw me ac fff5510000-fff5d08000 ---p 00000000 00:00 0 Size: 8160 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 0 kB Pss: 0 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 0 kB Anonymous: 0 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 1 VmFlags: mr mw me fff5d08000-fff5d0c000 rwxp 00000000 00:00 0 Size: 16 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 16 kB Pss: 16 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 16 kB Referenced: 16 kB Anonymous: 16 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 1 VmFlags: rd wr ex mr mw me ac fff5d0c000-fff5e08000 ---p 00000000 00:00 0 Size: 1008 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 0 kB Pss: 0 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 0 kB Anonymous: 0 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 1 VmFlags: mr mw me fff5e08000-fff5e68000 rwxp 00000000 00:00 0 Size: 384 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 96 kB Pss: 96 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 96 kB Referenced: 96 kB Anonymous: 96 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 1 VmFlags: rd wr ex mr mw me ac fffbdd0000-fffbdf4000 rw-p 00000000 00:00 0 [stack] Size: 144 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 32 kB Pss: 32 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 32 kB Referenced: 32 kB Anonymous: 32 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 1 VmFlags: rd wr mr mw me gd ac fffbff4000-fffbff8000 r-xp 00000000 00:00 0 Size: 16 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 0 kB Pss: 0 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 0 kB Anonymous: 0 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 1 VmFlags: rd ex mr mw me ffff920000-ffff928000 r--p 00000000 00:00 0 [vvar] Size: 32 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 0 kB Pss: 0 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 0 kB Anonymous: 0 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 0 VmFlags: rd mr pf io de dd ffff928000-ffff92c000 r-xp 00000000 00:00 0 [vdso] Size: 16 kB KernelPageSize: 16 kB MMUPageSize: 16 kB Rss: 16 kB Pss: 0 kB Shared_Clean: 16 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 16 kB Anonymous: 0 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 0 VmFlags: rd ex mr mw me de I use the script to collect data from the file(/proc//smaps), get this
|
I think It's the THP(Transparent huge pages). Please take a look at smap/
which is same as the c000000000 section's FYI: |
THX ! |
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
no
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
code:
`
package main
import (
"fmt"
"time"
)
func main() {
fmt.Print("hellp go")
time.Sleep(10 * time.Second)
}
`
What did you expect to see?
small memory usage like amd64(4-6 MB) /arm (~1 MB)
What did you see instead?
Abnormal memory(RSS) usage. (32+ MB)
The text was updated successfully, but these errors were encountered: