c - 在 /dev/mem 上使用 mmap 时内存使用量是否翻倍?
问题描述
我对 mmap 的理解是,当在文件上使用时,它实质上会在内存中为该文件保留空间,以便它能够在您需要时尽快访问它。但是当您将像 dev/mem 这样的设备映射到内存时会发生什么,然后它是否使用其他一些内存来映射该内存,或者它是否足够聪明地意识到它正在映射 ram 并且不需要将其存储在记忆?如果您将 RAM 磁盘映射到它仍然是内存但未与常规内存分组的地方,那会怎样?
解决方案
/dev/mem
是物理内存。它不会使您的地址空间翻倍,它会将您的机器拥有的物理内存量添加到您的地址空间,但您的实际内存使用量不会增加。
推荐阅读
- java - 即使密钥存在,Google Guava 缓存也每次调用加载方法
- android - 多个异步协程中调用的方法怎么只调用一次呢?
- json - 如何通过从 JMeter 中的 CSV 读取值来执行 HTTP PUT 请求?
- java - vertx如何创建eventloop线程
- autodesk-forge - 如何在 forge viewer v7 中实现自定义选择?
- composer-php - Composer:包升级到版本后显示自定义消息
- node.js - 如何使用 GitHub Actions 自动发布 Typescript 包?
- php - 路线 [proforms2.destroy2] 未定义
- html - CSS-only position-x:固定
- microsoft-teams - 在 IOS 的任务模块窗口中选择文件时,Microsoft Teams 崩溃