zoukankan      html  css  js  c++  java
  • huge page

    [root@localhost ~]# free -g
    total used free shared buff/cache available
    Mem: 510 129 377 0 3 339
    Swap: 0 0 0
    [root@localhost ~]# cat /proc/meminfo | grep -i huge
    AnonHugePages: 0 kB
    ShmemHugePages: 0 kB
    HugePages_Total: 256
    HugePages_Free: 255
    HugePages_Rsvd: 0
    HugePages_Surp: 0
    Hugepagesize: 524288 kB

    #include <sys/mman.h>
    #include <stdio.h>
    #include <memory.h>
    
    int main(int argc, char *argv[]) {
      char *m;
      size_t s = (8UL * 1024 * 1024);
    
      m = mmap(NULL, s, PROT_READ | PROT_WRITE,
                        MAP_PRIVATE | MAP_ANONYMOUS | 0x40000 /*MAP_HUGETLB*/, -1, 0);
      if (m == MAP_FAILED) {
        perror("map mem");
        m = NULL;
        return 1;
      }
    
      memset(m, 0, s);
    
      printf("map_hugetlb ok, press ENTER to quit!
    ");
      getchar();
    
      munmap(m, s);
      return 0;
    }
    [root@localhost ~]# cat /proc/meminfo  | grep -i huge
    AnonHugePages:         0 kB
    ShmemHugePages:        0 kB
    HugePages_Total:     256
    HugePages_Free:      254
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:     524288 kB
    [root@localhost ~]# free -g
                  total        used        free      shared  buff/cache   available
    Mem:            510         129         377           0           3         339
    Swap: 
    [root@localhost ~]# ps -elf | grep map
    0 S root     115112 114967  0  80   0 -  8231 wait_w 07:26 pts/0    00:00:00 ./map
    0 S root     115141 115051  0  80   0 -  1729 pipe_w 07:26 pts/1    00:00:00 grep --color=auto map
    [root@localhost ~]# cat /proc/115112/map
    map_files/ maps       
    [root@localhost ~]# cat /proc/115112/maps
    00400000-00410000 r-xp 00000000 08:10 22155957                           /data1/dpdk-19.11/demo/huge/map
    00410000-00420000 r--p 00000000 08:10 22155957                           /data1/dpdk-19.11/demo/huge/map
    00420000-00430000 rw-p 00010000 08:10 22155957                           /data1/dpdk-19.11/demo/huge/map
    400000000000-400020000000 rw-p 00000000 00:0f 293434                     /anon_hugepage (deleted)
    ffff9c9e0000-ffff9c9f0000 rw-p 00000000 00:00 0 
    ffff9c9f0000-ffff9cb60000 r-xp 00000000 08:03 247                        /usr/lib64/libc-2.17.so
    ffff9cb60000-ffff9cb70000 r--p 00160000 08:03 247                        /usr/lib64/libc-2.17.so
    ffff9cb70000-ffff9cb80000 rw-p 00170000 08:03 247                        /usr/lib64/libc-2.17.so
    ffff9cb80000-ffff9cb90000 rw-p 00000000 00:00 0 
    ffff9cb90000-ffff9cba0000 r--p 00000000 00:00 0                          [vvar]
    ffff9cba0000-ffff9cbb0000 r-xp 00000000 00:00 0                          [vdso]
    ffff9cbb0000-ffff9cbd0000 r-xp 00000000 08:03 240                        /usr/lib64/ld-2.17.so
    ffff9cbd0000-ffff9cbe0000 r--p 00010000 08:03 240                        /usr/lib64/ld-2.17.so
    ffff9cbe0000-ffff9cbf0000 rw-p 00020000 08:03 240                        /usr/lib64/ld-2.17.so
    fffff7cf0000-fffff7d20000 rw-p 00000000 00:00 0                          [stack]
    [root@localhost ~]# 
    #include <sys/mman.h>
    #include <stdio.h>
    #include <memory.h>
    
    int main(int argc, char *argv[]) {
      char *m;
      size_t s = (16UL * 1024 * 1024*1024); //改大
    
      m = mmap(NULL, s, PROT_READ | PROT_WRITE,
                        MAP_PRIVATE | MAP_ANONYMOUS | 0x40000 /*MAP_HUGETLB*/, -1, 0);
      if (m == MAP_FAILED) {
        perror("map mem");
        m = NULL;
        return 1;
      }
    
      memset(m, 0, s);
    
      printf("map_hugetlb ok, press ENTER to quit!
    ");
      getchar();
    
      munmap(m, s);
      return 0;
    }
    [root@localhost ~]# ps -elf | grep map
    0 S root     115761 114967 21  80   0 - 262183 wait_w 07:39 pts/0   00:00:01 ./map
    0 S root     115769 115051  0  80   0 -  1729 pipe_w 07:39 pts/1    00:00:00 grep --color=auto map
    [root@localhost ~]# cat /proc/meminfo  | grep -i huge
    AnonHugePages:         0 kB
    ShmemHugePages:        0 kB
    HugePages_Total:     256
    HugePages_Free:      223
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:     524288 kB
    [root@localhost ~]# cat /proc/115761/maps
    00400000-00410000 r-xp 00000000 08:10 22155957                           /data1/dpdk-19.11/demo/huge/map
    00410000-00420000 r--p 00000000 08:10 22155957                           /data1/dpdk-19.11/demo/huge/map
    00420000-00430000 rw-p 00010000 08:10 22155957                           /data1/dpdk-19.11/demo/huge/map
    400000000000-400400000000 rw-p 00000000 00:0f 292814                     /anon_hugepage (deleted)
    ffffb1060000-ffffb1070000 rw-p 00000000 00:00 0 
    ffffb1070000-ffffb11e0000 r-xp 00000000 08:03 247                        /usr/lib64/libc-2.17.so
    ffffb11e0000-ffffb11f0000 r--p 00160000 08:03 247                        /usr/lib64/libc-2.17.so
    ffffb11f0000-ffffb1200000 rw-p 00170000 08:03 247                        /usr/lib64/libc-2.17.so
    ffffb1200000-ffffb1210000 rw-p 00000000 00:00 0 
    ffffb1210000-ffffb1220000 r--p 00000000 00:00 0                          [vvar]
    ffffb1220000-ffffb1230000 r-xp 00000000 00:00 0                          [vdso]
    ffffb1230000-ffffb1250000 r-xp 00000000 08:03 240                        /usr/lib64/ld-2.17.so
    ffffb1250000-ffffb1260000 r--p 00010000 08:03 240                        /usr/lib64/ld-2.17.so
    ffffb1260000-ffffb1270000 rw-p 00020000 08:03 240                        /usr/lib64/ld-2.17.so
    ffffffc30000-ffffffc60000 rw-p 00000000 00:00 0                          [stack]
    [root@localhost ~]# free -g
                  total        used        free      shared  buff/cache   available
    Mem:            510         129         377           0           3         339
    Swap:             0           0           0
    [root@localhost ~]# 
  • 相关阅读:
    hibernate10--命名查询
    mybatis13--2级缓存
    mybatis12--一级缓存
    hibernate09--连接查询
    hibernate08--OpenSessionInView
    mybatis11--多对多关联查询
    mybatis10--自连接多对一查询
    mybatis09--自连接一对多查询
    mybatis08--关联查询多对一
    Oracle job启动与关闭
  • 原文地址:https://www.cnblogs.com/dream397/p/13591371.html
Copyright © 2011-2022 走看看