madvise、fadvise、posix_madvise和posix_fadvise函数的使用
系统调用madvise的作用:建议内核如何使用指定段的内存。函数原型如下:
|
#include <sys/mman.h> int madvise(void *addr, size_t length, int advice); |
参数advice的取值有如下几种:
|
MADV_NORMAL |
|
|
MADV_RANDOM |
|
|
MADV_SEQUENTIAL |
|
|
MADV_WILLNEED |
|
|
MADV_DONTNEED |
|
|
MADV_REMOVE |
2.6.16内核引入。 |
|
MADV_DONTFORK |
2.6.16内核引入。 |
|
MADV_DOFORK |
2.6.16内核引入。 |
|
MADV_HWPOISON |
2.6.32内核引入。 |
|
MADV_UNMERGEABLE |
2.6.32内核引入。 |
|
MADV_MERGEABLE |
2.6.32内核引入。 |
|
MADV_SOFT_OFFLINE |
2.6.33内核引入。 |
|
MADV_HUGEPAGE |
2.6.38内核引入。 |
|
MADV_NOHUGEPAGE |
2.6.38内核引入。 |
|
MADV_DONTDUMP |
3.4内核引入。 |
|
MADV_DODUMP |
3.4内核引入。 |
m表示memory,f表示file,因此madvise是针对内存,而fadvise是针对文件。
Posix也有个类似的函数posix_madvise和posix_fadvise:
|
#include <sys/mman.h> int posix_madvise(void *addr, size_t len, int advice); #include <fcntl.h> int posix_fadvise(int fd, off_t offset, size_t len, int advice); |
更多详情请浏览:http://man7.org/linux/man-pages/man2/madvise.2.html,或执行man madvise命令。
madvise、fadvise、posix_madvise和posix_fadvise函数的使用的更多相关文章
- qemu安装
1 下载qemu wget http://wiki.qemu-project.org/download/qemu-2.4.1.tar.bz2 2 解压qemu tar -jxvf qemu-2.4.1 ...
- Hadoop源码分析之读文件时NameNode和DataNode的处理过程
转自: http://blog.csdn.net/workformywork/article/details/21783861 从NameNode节点获取数据块所在节点等信息 客户端在和数据节点建立流 ...
- 【MIT6.828】centos7下使用Qemu搭建xv6运行环境
title:[MIT6.828]centos7下使用Qemu搭建xv6运行环境 date: "2020-05-05" [MIT6.828]centos7下搭建xv6运行环境 1. ...
- 内存映射 madvise mmap
http://linux.die.net/man/2/madvise mmap && madvise的配合使用 mmap和madvise一起使用例子 mmap的作用是将硬盘文件的内容映 ...
- linux中fork()函数
man fork: FORK() Linux Programmer's Manual FORK(2) NAME fork - create a child process SYNOPSIS #incl ...
- [转]mmap和madvise的使用
1. madvise的简介 madvise可以设置内存的分配方式或者说是分配的细节方式.具体参见linux man madvise. #include <sys/ty ...
- Python 小而美的函数
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况 any any(iterable) ...
- 探究javascript对象和数组的异同,及函数变量缓存技巧
javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...
- JavaScript权威指南 - 函数
函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...
随机推荐
- 相对路径和绝对路径的区别,java获取项目访问路径的方法
相对路径和绝对路径的区别 在HTML里只要涉及文件的地方(如超级链接.图片等)就会涉及绝对路径与相对路径的概念. .绝对路径 绝对路径是指文件在硬盘上真正存在的路径.例如“bg.jpg”这个图片是存放 ...
- php时间 显示刚刚 几分钟前等
功能示例: $now = time();foreach($sys_res as $k => $v){ $day = intval(floor(($now - $v->system_time ...
- 理解Windows消息循环机制
理解消息循环和整个消息传送机制对Windows编程十分重要.如果对消息处理的整个过程不了解,在windows编程中会遇到很多令人困惑的地方. 什么是消息(Message)每个消息是一个整型数值,如果查 ...
- SpringBean生命周期
Spring作为当前Java最流行.最强大的轻量级框架,受到了程序员的热烈欢迎.准确的了解Spring Bean的生命周期是非常必要的.我们通常使用ApplicationContext作为Spring ...
- 【转】使用Jmeter针对ActiveMQ JMS Point To Point压力测试
准备工作 针对JMS类型的Sampler,需要额外的jar包(这里用的是apache ActiveMQ,将下载的AMQ apache-activemq-5.5.0根目录下的activemq-all-5 ...
- appium控制Android按键
按键的keycode,如下: KEYCODE_HOME Home键 3 KEYCODE_BACK 返回键 4 KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL 挂机键 6 KEYC ...
- AOP(面向切面编程,翻译自MSDN)
目录 AOP的概念 静态实现AOP .Net 框架实现AOP(动态代理实现AOP) 动态代理AOP实现方法过滤 AOP参考 本文翻译自 :https://msdn.microsoft.com/en-u ...
- js是这样判断值的数据类型的
js如何判定给定值的数据类型? typeof typeof "a" // "string" typeof 1 // "number" typ ...
- Java微信公众平台开发(十六)--微信网页授权(OAuth2.0授权)获取用户基本信息
转自:http://www.cuiyongzhi.com/post/78.html 好长时间没有写文章了,主要是最近的工作和生活上的事情比较多而且繁琐,其实到现在我依然还是感觉有些迷茫,最后还是决定静 ...
- 通过模板判断Value是否为指针
有个参数,需要判断其Value是否为指针,如果是做相应的处理. 代码示例如下,后来发现is_pointer在std空间中. #include <stdio.h> #include<i ...