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