mmap优缺点

mmap这个函数是和page cache有密切关系的函数之一。

他将一个文件映射到一块内存区域当中。mmap的特点是按需调页。最开始只申请vma,并不调真正的页。当对某些页进行引用的时候,会引起一个缺页中断,再将页面调入到内存当中,这样避免了对内存的浪费。

优点是:

   操作文件就像操作内存一样,适合于对较大文件的读写。

缺点是:

  文件如果很小,比如是小于4k的,比如60bytes,由于在内存当中的组织都是按页组织的,将文件调入到内存当中是一个页4k,这样其他的4096-60=4036 bytes的内存空间就会浪费掉了。

  而且文件无法完成拓展,因为mmap到内存的时候,你所能够操作的范围就确定了,无法增加文件的长度。

  如果系统频繁的使用mmap操作,而且每次mmap的size都不同,那么就会使得内存可能缺少足够的连续的内存空间。



当mmap的文件是page size的整数倍的时候,使用mmap调用看起来是最合适的,不会造成浪费。

阅读(171) | 评论(0) | 转发(0) |
0

上一篇:zfs中的锁的使用

下一篇:简述bloom filter的作用及原理

相关热门文章
  • 深入了解不同类型的服务器防火...
  • 细说智能卡加密狗
  • Web 设计与开发资源介绍-Web A...
  • mmap()映射到文件的一些总结...
  • page和buffer变脏的几种情况...
  • linux 常见服务端口
  • 什么是shell
  • 【ROOTFS搭建】busybox的httpd...
  • linux socket的bug??
  • linux的线程是否受到了保护?...
  • 这样配置的服务器能够承受8k并...
  • vm里的系统能够ping到nfs,但...
  • bind是否随机从两台master中读...
  • 在win7下用cygwin搭建hadoop,...
  • Mysql的binglog日志能否分库备...
给主人留下些什么吧!~~
评论热议

你可能感兴趣的:(LINUX)