c - c 中 mmap 函数中可接受数据的最大大小是多少?
问题描述
假设有一个大文件。该 mmap
函数无法完全处理它。但是我们需要尽可能多地读取这个文件的大部分内容。
我发现 Unix 中的这个命令可以让我们找到 mmap
大小:
sysctl vm.max_map_count
输出是:vm.max_map_count = 65530
。
但是,它在 C 程序中不起作用。如何在C程序中找到map函数的大小?
解决方案
映射的大小没有限制(除了 中的位size_t
),因为内核不需要一次将整个内容加载到内存中。mmap()
是读取大于内存的文件的首选方法:只需映射文件,让内核担心其余的...
推荐阅读
- reactjs - 使用 embla carousel 映射组件对分页渲染进行反应
- cpu - 内存访问的 CPU 指令跟踪
- visual-studio-code - 是否可以通知用户格式错误的文档?
- python - 如何从内容类型 text/html 中检索现有的 json;字符集=utf-8?
- javascript - 如何消除 HTML/CSS 中 jquery“折叠表”和“实时更新表”之间的冲突?
- javascript - Firefox 每次在移动设备上通过安全源 https 显示网络摄像头权限弹出窗口
- java - 使用 Spring Boot 使用 SoapWeb 服务不起作用?
- javascript - 如何根据用户的请求加载数据?
- docker - 在 gitlab 管道上构建 docker 期间的自动装配问题
- .net-core - .net core 中的 Stimulsoft Report Viewer 本地化问题