在具有特定工作负载的 Solaris 8 服务器上,如何打开内存过量提交(Linux 方式)?
# Memory size: 65536 Megabytes
sun[root] # vmstat 1
procs memory page disk faults cpu
r b w swap free re mf pi po fr de sr m0 m1 m1 m1 in sy cs us sy id
0 0 0 30679520 38600344 123 318 941 0 0 0 0 4 0 3 0 7640 11016 7196 5 2 93
sun[root] # swap -s
total: 18808072k bytes allocated + 48426552k reserved = 67234624k used, 972480k available
sun[root] # swap -l
swapfile dev swaplo blocks free
/dev/md/dsk/d1 85,1 16 33560432 33556592
谢谢
答案1
看来 Solaris 不支持常规malloc()
功能的内存过量使用,但支持mmap(MAP_NORESERVE)
。有一篇很好的新闻组文章介绍了这一点,其中包括 Sun 官方源代码的链接。http://unix.derkeiler.com/Newsgroups/comp.unix.solaris/2008-03/msg00687.html