mmap

    1熱度

    1回答

    目前我正在處理一個NumPy memmap數組,其中包含2,000,000 * 33 * 33 * 4(N * W * H * C)數據。我的程序讀取隨機(N)索引來自此陣列。 我有8GB的RAM,2TB硬盤。 HDD讀IO只有20M/s左右,RAM使用率保持在2.5GB。看起來有一個HDD瓶頸,因爲我正在檢索明顯不在memmap緩存中的隨機索引。因此,我希望memmap緩存儘可能使用RAM。 有

    3熱度

    1回答

    我希望在C中模擬一個存儲器映射設備,以便對設備包裝庫(在Linux中)進行有效的單元測試。 現在,我知道我可以mmap一個文件描述符到用戶空間,原則上可以代表所述設備的模擬。因此,AFAICT,我的問題歸結爲:是否有可能在用戶空間創建一個文件描述符,其中mmap可以採取行動,讀寫由適當的回調處理? 另外,也許這是一個解決的問題,有一個已知的內核驅動程序,可以掛鉤?

    3熱度

    1回答

    我正在爲嵌入式系統開發一個linux內核模塊。 該系統包含可編程邏輯(PL),需要從用戶空間進程進行訪問。 PL可以在運行時改變。 我的模塊允許進程訪問指定的hw寄存器和頁面。 這些映射在我的模塊的configfs綁定中配置(在運行時)。 每個映射都在configfs中可以訪問它的條目。 我想允許進程mmap整個頁面,以便他們能夠直接與PL通信。 但configfs不支持mmap。 有沒有原因?

    0熱度

    1回答

    這裏的問題是,我想我們的投票是93. 我希望變量被所有線程共享。就像一個靜態變量對所有對象都是通用的,我想要一個變量對所有線程都通用。 #include <stdio.h> #include <stdlib.h> #include <sys/mman.h> #include <sys/types.h> #include <sys/wait.h> #include <unistd.h>

    0熱度

    2回答

    C++代碼: #include <string> #include <fcntl.h> #include <sys/mman.h> #include <unistd.h> #include <sys/time.h> using namespace std; #define FILE_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH) int

    2熱度

    2回答

    現在我正在處理大文件,其大小大於(1.5 GB)。所以我用File::Map。當輸入大於2.1 GB腳本失敗,並顯示錯誤Use of uninitialized value $count in print at file.pl line 16.。 但是腳本運行2.1GB and below 2.1GB 我的腳本如下 use warnings; use strict; use File::Map

    1熱度

    1回答

    char *p = (char*) mmap(...); ....; /* check if p is not -1 */ a = *p; 運行最後一條語句時,發生頁面錯誤。內核中的錯誤處理程序將在物理內存中分配頁面,並將4K字節從文件複製到該頁面中,然後修改頁面條目。讀取*p的指令將在此次成功執行。 但是,錯誤處理程序如何知道與頁面相關的文件名和路徑。文件名(或fd)在哪裏存儲?和文件中

    0熱度

    1回答

    http://man7.org/linux/man-pages/man2/mmap.2.html說 MAP_ANONYMOUS The mapping is not backed by any file; its contents are initialized to zero. 爲什麼要初始化內容爲零?我認爲這可能相當昂貴。

    2熱度

    1回答

    我給了一個物理地址,特別是0x000000368d76c0。我正在嘗試將mmap加入我的程序中。我使用的代碼是 void *mmap64; off_t offset = 0x000000368d76c0; int memFd = open("/dev/mem", O_RDWR); if (-1 == memFd) perror("Error "); mmap64 = mmap(

    0熱度

    1回答

    我試圖直接在C++中讀取npy文件(numpys mmap格式),但遇到了一些困難。 該文件是使用numpy編寫的,可以使用numpy輕鬆讀回(所以它沒有損壞或任何東西)。 我的第一次嘗試是直接使用cnpy包(https://github.com/rogersce/cnpy),但是這會引發關於文件頭大小的斷言錯誤。 有沒有人有一個在numpy中創建一個npy文件並在C++中讀取它的例子? 乾杯,