我在b := make([]byte,4096000000)
之后发现,分配的内存是虚拟内存,我想将它们标记为RES(物理内存使用情况,如上图所示),该怎么做?
rand.Read(b)
非常慢。
答案 0 :(得分:3)
每页至少使用一个字节。例如,
package main
import (
"fmt"
"time"
)
func main() {
b := make([]byte, 2*1024*1024*1024)
fmt.Println(len(b))
pagesize := os.Getpagesize()
for i := 0; i < 60; i++ {
for j := 0; j < len(b); j += pagesize {
b[j] = 42
}
time.Sleep(1 * time.Second)
}
}
输出:
2147483648
顶部:
RES 2.1g