mmap

    2热度

    1回答

    我想使用packet_mmap发送数据包以获得高数据包传输速率。我设法送使用原始模式的分组插座,其中用于这一目的,我创建L2,L3等数据包,并在缓冲区和使用 sendto(fd_socket, NULL, 0, 0, NULL, sizeof(struct sockaddr_ll)); 但是把它,我不想和目的MAC地址来打扰。所以我转而使用Dgram。如果我想使用sendto,则会有目标MAC

    8热度

    4回答

    我有一个数据结构,我想重新进行按需分页。 mmap似乎是运行一些初始实验的简单方法。但是,我想限制mmap使用的缓冲区缓存量。该机器有足够的内存将整个数据结构分页到缓存中,但出于测试原因(也有一些生产原因),我不想让它这样做。 有没有办法限制mmap使用的缓冲区缓存量? 或者,mmap替代方案可以实现类似的功能,但仍会限制内存使用情况。

    2热度

    1回答

    我试图通过映射一个1 MiB文件,对应于RAM大小来建模一个基本的CPU。我想读/写这个文件。目前我收到一个SIGBUS错误ram[2] = 1,我收集的是试图在文件范围之外的mmap。我读过,也许我需要用零填充文件作为占位符,但我有点困惑,为什么我必须这样做,因为我认为mmap会自动为我分配一个内存块,将分配给我当我第一次触摸它时(正如我试图在我的测试中做的那样)。我错过了什么? int16_t

    0热度

    1回答

    我想按字符读取一个30 MB字符的大文件。我发现了一篇关于如何阅读大文件的有趣文章。 Fast Method to Stream Big files 问题:输出打印代替实际人类可读的文本二进制数据 代码: def getRow(filepath): offsets = get_offsets(filepath) random.shuffle(offsets) with

    0热度

    1回答

    我想在用户和内核空间之间构造两个共享队列(一个命令队列和一个回复队列)。这样内核就可以向用户空间发送消息,用户空间在完成处理后可以向内核发送回复。我所做的是使用为用户空间分配内核内存页面(用于队列)和mmap,现在用户和内核都可以访问这些页面(这里我指的是在内核空间中写入的内容可以正确读取在用户空间中,或反之亦然)。 问题是我不知道如何在内核和用户空间之间同步访问。假设我要为多制造商1用户方案构建

    -1热度

    1回答

    我想对12GB文本文件中的字符串执行4000多次搜索。 目前,我使用mmap来将文件加载到内存中,这是很好的作品(大约需要5秒钟): with open('my_file.txt', 'rb') as f: m = mmap.mmap(f.fileno(), 0, prot=mmap.PROT_READ) data = m.read(-1) 不幸的是,搜索是永远走: for

    1热度

    1回答

    当memmap数组被垃圾收集时,是否有可能删除Numpy memmap文件? 我曾尝试: import tempfile import numpy as np arr = np.memmap(tempfile.NamedTemporaryFile(), mode='w+', shape=(10, 10), dtype=np.int) os.path.exists(arr.fi

    0热度

    1回答

    我试图找出什么是在Windows中编写文件的最佳方法。为此,我一直在用内存映射进行一些测试,试图找出发生了什么以及我应该如何组织事物... 场景:该文件旨在用于单个进程,在多个线程中。你应该看到一个线程作为工作在文件存储上的工作者;其中一些会阅读,一些会写 - 在某些情况下,文件会增长。我希望我的状态能够在流程和操作系统崩溃中幸存下来。文件可能很大,例如:1 TB。 在MSDN上阅读了很多内容后,

    1热度

    1回答

    有人知道mmap(在C++/c中)是否可以与/ dev/input/event *设备文件一起使用?我一直在麻烦得到它的工作。我一直收到错误19(没有这样的设备)错误。任何帮助将不胜感激!

    -1热度

    1回答

    我有一个包含32位浮点数N的大文件。此文件是使用numpys MEMMAP功能如下创建: mmoutput = np.memmap("filename", dtype='f4', mode='w+', offset=0, shape=N) mmoutput[:] = my_floats mmoutput.flush() 当我使用numpy的加载这些系数回来,并使用它们求和: mminput