I used mmap to allocate some anonymous memory, but pmap can't show them.

The source code is:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/mman.h>

main() {
    int mcount;
    mcount=0;
    void        *src, *dst;
if ((src = mmap(0, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|
MAP_ANON|MAP_ALIGN, -1, 0)) == MAP_FAILED) printf("mmap error for
input");
  printf("%x",*src);
if ((src = mmap(0, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|
MAP_ANON|MAP_ALIGN, -1, 0)) == MAP_FAILED) printf("mmap error for
input");
if ((src = mmap(0, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|
MAP_ANON|MAP_ALIGN, -1, 0)) == MAP_FAILED) printf("mmap error for
input");
if ((src = mmap(0, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|
MAP_ANON|MAP_ALIGN, -1, 0)) == MAP_FAILED) printf("mmap error for
input");
if ((src = mmap(0, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|
MAP_ANON|MAP_ALIGN, -1, 0)) == MAP_FAILED) printf("mmap error for
input");
if ((src = mmap(0, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|
MAP_ANON|MAP_ALIGN, -1, 0)) == MAP_FAILED) printf("mmap error for
input");
if ((src = mmap(0, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|
MAP_ANON|MAP_ALIGN, -1, 0)) == MAP_FAILED) printf("mmap error for
input");
if ((src = mmap(0, 9830000004, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|
MAP_ANON|MAP_ALIGN, -1, 0)) == MAP_FAILED) printf("mmap error for
input");
    printf ("All mallocs are done\n");
    sleep(1200);

}
===> When use truss, I could see the mem are allocated without any problem
DB1-t2000-1$> truss ./a.out
execve("a.out", 0xFFFFFFFF7FFFFAC8, 0xFFFFFFFF7FFFFAD8) argc = 1
resolvepath("/usr/lib/sparcv9/ld.so.1", "/lib/sparcv9/ld.so.1", 1023)
= 20
getcwd("/oracle/DB1/home/qihua/c", 1017) = 0
resolvepath("/oracle/DB1/home/qihua/c/a.out", "/oracle/DB1/home/qihua/
c/a.out", 1023) = 30
stat("/oracle/DB1/home/qihua/c/a.out", 0xFFFFFFFF7FFFF6C0) = 0
open("/var/ld/64/ld.config", O_RDONLY) Err#2 ENOENT
stat("/oracle/DB1/home/products/10203/lib/libc.so.1",
0xFFFFFFFF7FFFECF0) Err#2 ENOENT
stat("/lib/64/libc.so.1", 0xFFFFFFFF7FFFECF0) = 0
resolvepath("/lib/64/libc.so.1", "/lib/sparcv9/libc.so.1", 1023) = 22
open("/lib/64/libc.so.1", O_RDONLY) = 3
mmap(0x00100000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3,
0) = 0xFFFFFFFF7F700000
mmap(0x00100000, 2097152, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|
MAP_ANON|MAP_ALIGN, -1, 0) = 0xFFFFFFFF7F300000
mmap(0xFFFFFFFF7F300000, 961525, PROT_READ|PROT_EXEC, MAP_PRIVATE|
MAP_FIXED|MAP_TEXT, 3, 0) = 0xFFFFFFFF7F300000
mmap(0xFFFFFFFF7F4EC000, 65609, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 966656) = 0xFFFFFFFF7F4EC000
mmap(0xFFFFFFFF7F4FE000, 96, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFFFFFFFF7F4FE000
munmap(0xFFFFFFFF7F3EC000, 1048576) = 0
memcntl(0xFFFFFFFF7F300000, 189192, MC_ADVISE, MADV_WILLNEED, 0, 0) =
0
close(3) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|
MAP_ANON, -1, 0) = 0xFFFFFFFF7F400000
mmap(0x00010000, 24576, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|
MAP_ANON|MAP_ALIGN, -1, 0) = 0xFFFFFFFF7F200000
munmap(0xFFFFFFFF7F700000, 32768) = 0
getcontext(0xFFFFFFFF7FFFF190)
mmap(0x00010000, 65536, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|
MAP_ANON|MAP_ALIGN, -1, 0) = 0xFFFFFFFF7F700000
getrlimit(RLIMIT_STACK, 0xFFFFFFFF7FFFF150) = 0
getpid() = 5237 [5236]
setustack(0xFFFFFFFF7F7002C0)
mmap(0x00000000, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|
MAP_ALIGN, -1, 0) = 0xFFFFFFFF7F100000
ioctl(1, TCGETA, 0xFFFFFFFF7FFFE96C) = 0
fstat(1, 0xFFFFFFFF7FFFE900) = 0
stat("/platform/SUNW,Sun-Fire-T200/lib/sparcv9/libc_psr.so.1",
0xFFFFFFFF7FFFDF00) = 0
resolvepath("/platform/SUNW,Sun-Fire-T200/lib/sparcv9/libc_psr.so.1",
"/platform/sun4v/lib/sparcv9/libc_psr.so.1", 1023) = 41
open("/platform/SUNW,Sun-Fire-T200/lib/sparcv9/libc_psr.so.1",
O_RDONLY) = 3
mmap(0x00100000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3,
0) = 0xFFFFFFFF7F000000
munmap(0xFFFFFFFF7F002000, 24576) = 0
close(3) = 0
mmap(0x00000000, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|
MAP_ALIGN, -1, 0) = 0xFFFFFFFF7EF00000
mmap(0x00000000, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|
MAP_ALIGN, -1, 0) = 0xFFFFFFFF7EE00000
mmap(0x00000000, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|
MAP_ALIGN, -1, 0) = 0xFFFFFFFF7ED00000
mmap(0x00000000, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|
MAP_ALIGN, -1, 0) = 0xFFFFFFFF7EC00000
mmap(0x00000000, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|
MAP_ALIGN, -1, 0) = 0xFFFFFFFF7EB00000
mmap(0x00000000, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|
MAP_ALIGN, -1, 0) = 0xFFFFFFFF7EA00000
mmap(0x00000000, 9830000004, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|
MAP_ANON|MAP_ALIGN, -1, 0) = 0xFFFFFFFD30000000
All mallocs are done
write(1, "FFFFFFFF7F10 A l l m a".., 27) = 27
nanosleep(0xFFFFFFFF7FFFF920, 0xFFFFFFFF7FFFF910) (sleeping...)
nanosleep(0xFFFFFFFF7FFFF920, 0xFFFFFFFF7FFFF910) = 0
_exit(199)

===> But they don't show in pmap
DB1-t2000-1$> pmap -x `pgrep -x a.out`
9857: ./a.out
Address Kbytes RSS Anon Locked Mode
Mapped File
0000000100000000 8 8 - - r-x--
a.out
0000000100100000 8 8 8 - rwx--
a.out
FFFFFFFF7F000000 8 8 - - r-x--
libc_psr.so.1
FFFFFFFF7F200000 24 16 16 - rwx--
[ anon ]
FFFFFFFF7F300000 944 944 - - r-x--
libc.so.1
FFFFFFFF7F400000 8 8 8 - rwx--
[ anon ]
FFFFFFFF7F4EC000 72 72 72 - rwx--
libc.so.1
FFFFFFFF7F4FE000 8 - - - rwx--
libc.so.1
FFFFFFFF7F600000 216 216 - - r-x--
ld.so.1
FFFFFFFF7F700000 64 64 64 - rwx--
[ anon ]
FFFFFFFF7F736000 16 16 16 - rwx--
ld.so.1
FFFFFFFF7F73A000 8 8 8 - rwx--
ld.so.1
FFFFFFFF7FFF0000 64 64 64 - rw---
[ stack ]
---------------- ---------- ---------- ---------- ----------
total Kb 1448 1432 256 -
DB1-t2000-1$>