9得票1回答
如何异步刷新内存映射文件?

我正在使用内存映射文件在Windows 7 64位系统下读取/写入大量图像文件(~10000 x 16 MB)。我的目标是: 尽可能多地缓存数据。 能够尽快地分配新图像并写入这些图像。 因此,我使用内存映射文件来访问文件。缓存效果很好,但操作系统直到我几乎用完物理内存才会刷新脏页。因此...

7得票1回答
Java中的内存映射文件:问题太多了?

内存映射文件(根据规范)在很大程度上依赖于操作系统的实际实现,其中一些未知方面已经在javadoc中解释。但是我有一些额外的问题,不确定应该向谁寻求答案。 假设应用程序A将文件从位置=0到大小=10映射到内存。 我会认为操作系统需要连续的内存块来进行映射吗?还是这取决于具体实现? 现在假...

12得票2回答
boost::interprocess消息队列性能较慢?

我需要一个超快的消息队列机制,其中发送方和接收方均使用C++编写,在Windows平台上运行。 我当前使用RCF-C ++进行IPC的实现在Windows命名管道上的速度约为20,000个消息/秒。 我正在根据演示应用程序测试boost :: interprocess消息队列的性能,并测量...

7得票2回答
内存映射文件:优缺点?

我需要在同一台机器上的两个Java应用程序之间共享数据(两个不同的JVM)。我需要分享的数据很大(约7 GB)。这些应用程序必须非常快地访问数据,因为它们必须以非常高的速率响应传入的查询。我不希望这些应用程序各自拥有数据的副本。 我发现其中一个选项是使用内存映射文件。应用程序A从某个地方获取...

9得票3回答
在IIS中部署时,打开内存映射文件会导致FileNotFoundException。

根据 这个 网站上的代码示例,我创建了一个可以创建映射内存文件的 Windows 控制台应用程序: using (var file = MemoryMappedFile.CreateNew("myFile", 24)) { var by...

10得票3回答
快速查找和持久化的最佳数据结构存储方式

场景 我有以下这些方法: public void AddItemSecurity(int itemId, int[] userIds) public int[] GetValidItemIds(int userId) 最初我考虑的是形式上的存储: itemId -> userI...

7得票2回答
内存映射文件:如何监控内存使用情况

我正在开发一个需要大量内存(高达几GB)的32位终端用户应用程序。最近,我将我们的内部内存分配策略更改为灵感来自于这篇 Raymond Chen 文章的无文件内存映射方式。它运行良好。 唯一的缺点是:如果我用这种方式分配1GB的内存,它在性能计数器中不会显示任何东西。当然,我知道分配了多少内...

11得票3回答
使用文件进行共享内存IPC

在我的应用程序中,有一个进程将数据写入文件,然后在响应请求时,将其中的一部分数据通过网络发送给请求进程。这个问题的基础是看看当两个进程恰好在同一主机上时,我们是否可以加快通信速度。(在我的情况下,进程是Java,但我认为这个讨论可以更广泛地应用。) 目前有一些项目使用Java的FileCha...

7得票2回答
在关闭任何句柄后,使用FILE_FLAG_DELETE_ON_CLOSE创建文件失败。

我们创建一个用作内存映射文件的文件。 我们使用带有GENERIC_READ | GENERIC_WRITE的打开方式 我们使用带有FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE的共享方式 我们使用带有FILE_ATTRIBUTE_...

43得票3回答
内存映射页和匿名页是什么?

我无法理解Linux中的内存映射页面和匿名页面。有人能否给出一个例子来解释一下?与此相关的内核数据结构有哪些?