推荐: blog.csdn.net/aquester https://github.com/eyjian https://www.cnblogs.com/aquester http://blog.chinaunix.net/uid/20682147.html
全部博文(594)
分类: LINUX
2014-04-14 14:47:51
系统调用madvise的作用:建议内核如何使用指定段的内存。函数原型如下:
#include 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也有个类似的函数和:
#include int posix_madvise(void *addr, size_t len, int advice);
#include int posix_fadvise(int fd, off_t offset, size_t len, int advice); |
更多详情请浏览:,或执行man madvise命令。