利用Linux檔案系統記憶體cache來提高效能

2021-09-08 14:07:48 字數 470 閱讀 9705

利用linux檔案系統記憶體cache來提高效能

本地磁碟檔案->socket傳送,4步驟資料流向:

左右圖的上部分為user和kernel的上下文切換。下部分為資料流向圖,其中左圖為正常流程中linux從檔案系統讀取檔案然後通過socket傳送的流程,其中共經歷了4次記憶體拷貝;右圖為改進版本,通過mmap記憶體對映將檔案對映進記憶體,繞開了user space和kernel space的二次拷貝,實現zero copy(針對user space)。

//正常讀寫方式

read(file, tmp_buf, len);

write(socket, tmp_buf, len);

//mmap讀寫方式

tmp_buf = mmap(file, len);

write(socket, tmp_buf, len);

linux記憶體檔案系統

在linux中可以將一部分記憶體當作分割槽來使用,我們稱之為ramdisk。對於一些經常被訪問的檔案,而它們又不會被更改,可以將它們通過ramdisk放在記憶體中,即可明顯地提高系統的效能。當然你的記憶體可要足夠大了。ramdisk有兩種,一種可以格式化,載入,在linux核心2.0 2.2就已經支...

linux記憶體檔案系統之指南

記憶體檔案系統使用及示例 ramdisk,ramfs,tmpfs 第一部分 在linux中可以將一部分記憶體mount為分割槽來使用,通常稱之為ramdisk。ramdisk有三種實現方式 第一種就是傳統意義上的,可以格式化,然後載入。這在linux核心2.0 2.2就已經支援,其不足之處是大小固定...

linux 檔案系統 Linux 檔案系統結構介紹

ubuntu 像所有類unix系統一樣 在分層樹中組織檔案,其中的關係就像父母和孩子一樣。目錄可以包含其他目錄以及常規檔案,它們是樹的 葉子 樹的任何元素都可以通過路徑名引用 絕對路徑以字元 標識根目錄,其中包含所有其他目錄和檔案 開頭,然後列出必須遍歷以到達該元素的每個子目錄,每個子目錄用 符號分...