• 共享内存映射和占用内存关系


    demo测试
    映射文件1G
    1 映射1次,1写,进行memset操作,共享内存占1G
    2 映射2次,1写,1读,单线程
    1) 1写,进行memset操作,读无操作,共享内存占1G
    2) 1写,进行memset操作,读某个指定位置字符(len/2或len-1位置),共享内存占1G
    3) 1写,进行memset操作,for循环从0-len读取字符,共享内存占2G
    4) 1写,进行memset操作,for循环从0-len/2读取字符,共享内存占1.5G

    2 映射3次,1写,2读,单线程
    1) 1写,进行memset操作,读无操作,共享内存占1G
    2) 1写,进行memset操作,读某个指定位置字符(len/2或len-1位置),共享内存占1G
    3) 1写,进行memset操作,两个读映射: for循环从0-len读取字符,共享内存占3G
    4) 1写,进行memset操作,两个读映射:for循环从0-len/2读取字符,共享内存占2G
    5) 1写,进行memset操作,一个读映射:for循环从0-len/2读取字符,另一个读映射:for循环从0-len读取字符,共享内存占2.5G

    3 映射3次,1写,2读,共享内存操作都在工作线程中操作,主线程无操作
    1) 1写,进行memset操作,两个读映射: for循环从0-len读取字符,共享内存占3G

    结论:共享内存和映射次数、映射后使用情况存在关系

  • 相关阅读:
    spring boot 报错 Failed to read HTTP message
    spring boot 之 Mybatis 配置
    Java生成xlsx格式的excel文件
    遍历FTP目录及下载
    Spring 报错
    git ssh key生成
    spring mvc原理
    LightOJ 1154
    Light OJ 1153
    入栈出栈的顺序问题
  • 原文地址:https://www.cnblogs.com/a9999/p/13637019.html
Copyright © 2020-2023  润新知