mmap

    2热度

    1回答

    我打算做什么? 要执行在Windows文件系统中的文件组当中的字母字符串列表的搜索(约25K号不同大小和扩展主要是纯文本文件,最大的文件是不是比大小几MB以上) 我做了什么来达到这个目的? for each_file in files: file_read_handle = open(each_file,"rb") file_read_handle.seek(0) #ensur

    2热度

    1回答

    以另一种方式提出问题,您是否可以确认当您mmap()实际访问已存在于页面缓存中的确切物理页面的文件时? 我问,因为我正在测试一台内存为1TB的192核心机器上,在测试之前预先缓存到页面缓存中的400GB数据文件上(只需删除缓存,然后执行md5sum在文件上)。假设它们都(基本上)返回相同的内存区域(或者可能是相同的内存区域,但以某种方式映射多次),我最初分别有192个线程分别映射文件。因此,我假设

    2热度

    1回答

    我试图实现内存管理内核模块。该模块使用mmap()系统调用。执行后,我试图调用mmap,这给我一个错误Resource temporarily unavailable 我通过this线程。解决方案在我的情况下不起作用。 这是内核实现: - 排除变量声明。在remap kmalloc_ptr = kmalloc(size, GFP_KERNEL) static int simple_mmap(st

    0热度

    1回答

    当我运行程序'A'时,堆栈和虚拟地址被改变,虽然 我运行相同的程序'A'。 我知道堆栈的虚拟地址没有在 可执行文件(elf格式)中定义。他们是可变的东西。我可以通过'readelf -l'命令检查出来。 但是, 为什么kernal每次都必须更改堆栈的地址,尽管运行相同的程序? 这是我为什么这样问的原因。 我正在制作一个简单的进程模拟器。 我试图效仿在intel cpu环境(64位)raspbian

    0热度

    1回答

    我想在Matlab中使用ncread子集.​​nc文件。我正在寻找划分经度-74.6875至-10.3125(W)和纬度58.2500至84.7500(N)的数据来创建格陵兰周围的边界框。我想要数据的每一天的子集。我尝试下面的代码,它适用于经度和纬度的,我需要的指数,但产生翻转(倒置)格陵兰的版本(见附表1): data = ncread('dust_ddep.nc','dust_ddep',[4

    0热度

    1回答

    根据Linux man page和POSIX spec,只要MAP_FIXED标志未提供,mmap将不会在地址0处放置新的映射。 对于Linux的mremap也是如此? REMAP_FIXED标志的手册页说明表示它“用于与mmap(2)的MAP_FIXED标志类似的目的”,但没有明确说明,如果它不存在,则mremap保证不将映射置于0 。 这个担保是实际做出的吗?如果是这样,是否记录在某处?

    1热度

    1回答

    当我尝试写入内存时出现总线错误(核心转储)。我想在Linux中使用mmap()和open()函数写入二进制文件。我想在二进制文件中将1到100的整数映射到内存,而不是直接写入文件。 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> #i

    -2热度

    2回答

    我有一个巨大的hdf5文件(〜100GB,连续存储),我需要随机访问不同的点。在python/h5py或C/H5Dread中使用索引似乎很慢,因此我想直接mmap数据。 实际上,这在我的本地64位Fedora 25上的h5py/numpy中可用,跟在this之后。但在远程集群上,尽管python似乎是64位,并且使用C中的mmap对100GB文件进行了简单测试,但大型文件([Errno 12] C

    1热度

    1回答

    我得到macOS的场景,我不能关闭内存映射文件没有 解除它首先(使用munmap syscall),虽然关闭系统调用返回成功结果(= 0)我仍然可以在lsof -n中看到文件记录。 在linux中,它明确提到,closing the file doesn't unmap the file,根据MMAP手册页。 是它确实是2和操作系统之间的不同的行为? 对这种不同的行为有任何解释吗? 编辑:阅读下面

    -1热度

    1回答

    我试图通过python跟踪一个bug,现在把我带到了ansi-c的mmap。 import os, mmap filename = <name to ntfs file> os.path.exists(filename) # is true with open(filename, 'rb') as f: # f.fileno() is 3 or 19 (not -1) m