c中的mmap函数中可接受数据的最大大小是多少?

时间:2019-03-28 06:51:17

标签: c linux unix memory-management mmap

让我们假设有一个大文件。 mmap函数无法完全处理它。但是我们需要尽可能多地阅读此文件。

我发现Unix中的此命令使我们能够找到mmap的大小:

sysctl vm.max_map_count

输出为:vm.max_map_count = 65530

但是,它在C程序中不起作用。如何在C程序中找到map函数的大小?

1 个答案:

答案 0 :(得分:0)

没有多少限制(除了size_t中的位),因为内核永远不需要将整个对象立即加载到内存中。 mmap()是读取大于内存的文件的一种选择方法:只需映射文件,然后让内核担心其余的问题...