【问题标题】:What is the maximum size of acceptable data in the mmap function in c? [duplicate]c 中 mmap 函数中可接受数据的最大大小是多少? [复制]
【发布时间】:2019-08-18 21:00:32
【问题描述】:

假设有一个大文件。 mmap 函数无法完全处理它。但是我们需要尽可能多地读取这个文件的大部分内容。

我发现Unix中的这个命令可以让我们找到mmap的大小:

sysctl vm.max_map_count

输出为:vm.max_map_count = 65530

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

【问题讨论】:

标签: c linux unix memory-management mmap


【解决方案1】:

对 mmaping 的大小没有限制(size_t 中的位除外),因为内核不需要一次将整个内容加载到内存中。 mmap() 是读取大于内存的文件的首选方法:只需映射文件,其余的让内核操心...

【讨论】:

    猜你喜欢
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    • 1970-01-01
    • 2015-07-02
    • 2011-04-14
    • 1970-01-01
    相关资源
    最近更新 更多