memory-mapped-files相关内容

内存屏障和 TLB

内存屏障保证数据缓存是一致的.但是,它是否保证 TLB 是一致的? 我看到一个问题,即在线程之间传递 MappedByteBuffer 时,JVM(java 7 update 1)有时会因内存错误(SIGBUS、SIGSEG)而崩溃. 例如 final AtomicReferencembbQueue = new AtomicReference();//在后台线程中.MappedB ..
发布时间:2022-01-13 21:32:14 Java开发

多个线程可以在 Java 中看到直接映射的 ByteBuffer 上的写入吗?

我正在研究使用 ByteBuffers 从内存映射文件构建(通过 FileChannel.map()) 以及内存中的直接 ByteBuffers.我正在尝试了解并发和内存模型约束. 我已经阅读了 FileChannel、ByteBuffer、MappedByteBuffer 等所有相关的 Javadoc(和源代码).很明显,一个特定的 ByteBuffer(和相关的子类)有一堆字段,状态不受 ..

将向量存储在内存映射文件中

我正在尝试将任意元素的向量存储在内存映射文件中(现在我正在尝试使用整数向量成功,但它应该可以使用任意对象的向量).我找到了很多关于使用共享内存这样做的文档,但没有正确使用内存映射文件.因为我已经成功地在内存映射文件中制作并使用了 R 树(比如在 那个例子),我试图用向量复制这个过程,但我想我错过了一些关键元素,因为它不起作用.这是我的代码: namespace bi = boost::inter ..
发布时间:2021-12-24 15:39:20 C/C++开发

使用 boost::iostreams::mapped_file_source 和 std::multimap

我有大量数据要分析 - 每个文件大约 5gigs.每个文件的格式如下: xxxxx yyyyy 键和值都可以重复,但键是按升序排列的.我正在尝试为此使用内存映射文件,然后找到所需的键并使用它们.这是我写的: if (data_file != ""){时钟开始=时钟();data_file_mapped.open(data_file);data_multimap = (std::multima ..
发布时间:2021-12-24 15:10:08 C/C++开发

如何动态扩展内存映射文件

我已经使用 C# 来解决以下需求..- 创建一个可以快速接收大量数据的应用程序- 您必须能够在接收到更多数据时分析接收到的数据.- 使用尽可能少的 CPU 和磁盘 我对算法的想法是.. SIZE = 10MB创建一个大小为 SIZE 的 mmf关于收到的数据:如果数据不适合 mmf:将 mmf.size 增加 SIZE将数据写入 mmf -> 使用之前的“房间/空间"时,光盘上的大小以 ..
发布时间:2021-11-26 10:53:47 C#/.NET

是否可以 np.concatenate 内存映射文件?

我用 np.save() 保存了几个 numpy 数组,并将它们放在一起非常大. 是否可以将它们全部作为内存映射文件加载,然后将它们连接起来并切开所有这些文件,而无需将任何内容加载到内存中? 解决方案 使用 numpy.concatenate 显然是将数组加载到内存中.为了避免这种情况,您可以轻松地在新文件中创建第三个 memmap 数组,并从要连接的数组中读取值.更有效的方法是,您 ..
发布时间:2021-11-18 04:15:58 Python

我可以在 Windows 中创建一个只存在于内存中的文件 - 如果可以,如何创建?

这个问题不是任何这些现有问题的重复: 如何将仅存在于内存中的对象文件存储为存储系统内的文件? - 这个问题与 Java 的 File 无关API. 仅存在于 RAM 中的临时文件?- 这与我要问的很接近,除了 OP 没有询问如何从内存中创建文件以共享将它们传递给子进程 我也不是询问 Win32 的内存映射文件 - 因为它们本质上与我所追求的相反:内存映射文件是一个文件映射到进程的虚拟内存 ..
发布时间:2021-09-25 19:11:51 其他开发

文件与 CreateFile/ReadFile 的内存映射

使用内存映射文件读取(常规大小的文件)与使用 CreateFile ReadFile 组合进行相同操作相比有哪些缺点(如果有)? 解决方案 有了 ReadFile/WriteFile,你就拥有了确定性的错误处理语义.使用内存映射文件时,通过抛出异常返回错误. 此外,如果内存映射文件必须访问磁盘(或者更糟糕的是网络),您的内存读取可能需要几秒钟(甚至几分钟)才能完成.根据您的应用,这可 ..
发布时间:2021-09-25 18:40:31 其他开发

调试模式下内存映射向量的读取访问冲突

当尝试使用 boost::interprocess 将 std::vector 存储在内存映射文件中时,我收到异常 Exception throw: read访问冲突.当我尝试推回加载的向量时,但仅在调试模式下. 这个最小的示例代码(由@sehe 编写)取自 https://stackoverflow.com/a/29602884/2741329,它在调试模式下在 MSVC14 上崩溃并且多 ..

带有内存映射原始数据的 UIImage (CGImage)

有没有办法在 iOS 的磁盘上存储和加载原始图像数据,以节省解压的时间和内存并减少应用程序的脏内存占用? Paul Haddad 一直暗示类似这样的事情,我知道这种技术是用于使用OpenGL高效加载游戏纹理. 我的用例如果用户提供的全屏壁纸总是显示在背景中.目前我将它保存为 PNG 并在应用程序启动期间加载它.这浪费了用于解压缩图像的内存和 CPU.我想保存图像,然后将其作为内存映射文 ..
发布时间:2021-09-12 20:20:29 移动开发

将复杂结构写入内存映射文件

我尝试将以下结构写入内存映射文件,但数组仍然有问题(写入时抛出异常,结构不能包含引用) [StructLayout(LayoutKind.Explicit)]结构索引条目{[FieldOffset(0)]公共字节密钥;[FieldOffset(4)]公共 int lastValueIdx;[FieldOffset(8)][MarshalAs(UnmanagedType.ByValArray, S ..
发布时间:2021-08-31 19:18:52 C#/.NET

Windows 上共享内存的映射视图数

有没有办法检查有多少视图已映射到 Windows 上的内存映射文件? Linux 上类似于 shmctl(... ,IPC_STAT,...) 的东西? 解决方案 我同样需要访问共享视图的数量.所以我创建了这个问题:访问共享内存的数量映射文件视图 (Windows) 您可能会在那里找到适合您需求的解决方案. 根据 Scath 评论,我将在此处添加建议的解决方案,尽管优点应 ..
发布时间:2021-07-23 20:23:35 其他开发

缺少 MemoryMappedFiles 的 C# UWP Windows 10 进程间通信

我遇到了一个新问题,这是在为我的应用程序编写 IPC 时出现的. 在 UWP 之前,我能够成功地使用指令 using System.IO.MemoryMappedFiles;.现在我不能使用 using System.IO.MemoryMappedFiles; 而我需要它. 每个人都面临同样的问题吗?如果是,你是如何解决的? 我的应用不再编译. 我已经尝试重新导入 Syst ..
发布时间:2021-07-23 20:23:01 C#/.NET

Windows:调整共享内存的大小

当我在 Windows 上创建共享内存段时(如 CreateFileMapping(INVALID_HANDLE_VALUE, ...)),除了创建更大的段并复制数据之外,还有什么方法可以调整它的大小? 我在 MSDN 中读到文件映射具有固定大小,但是否有可能在同一内存上创建新映射?就像在 Linux 中一样,您可以在其中使用 shm_open(),然后再次使用 ftruncate() 和 ..
发布时间:2021-07-23 20:22:36 其他开发

内存映射文件和 Win 服务 - 找不到服务器创建的文件

我正在尝试使用 Windows 服务创建一个内存映射文件,以便它可以保存许多其他 Windows 应用程序可以使用的静态数据. 我的问题是,当我启动服务时 - 该服务可以轻松读取和写入内存映射文件.但是,Windows 应用程序不能.他们收到文件未找到错误. 使用同一个类来读写内存映射文件,在两个windows应用程序中我都没有问题.所以,我相信内存映射文件的使用是正确的,但还有其他东 ..
发布时间:2021-07-20 19:12:33 其他开发

将 numpy memmap 刷新到 npy 文件

有没有一种方法可以将 numpy memmap 数组保存到 .npy 文件中?显然,有一种方法可以从 .npy 文件中加载这样的数组,如下所示 data = numpy.load("input.npy", mmap_mode='r') 但是刷新文件并不等同于以 .npy 格式存储它. 如果刷新是唯一的方法,那么有没有办法推断存储数组的形状?我更喜欢在另一个脚本中自动存储和检索(可能再次作 ..
发布时间:2021-06-03 18:31:27 Python