多個執行緒無法訪問 modprobe 創建的同一個 RAMdisk
我
modprove brd rd_size=62914560
在 CentOS 7.5 上創建了 60GB 的 RAMdisk。檢查結果,fdisk -l /dev/ram*
顯示 16 個 60GB 大小的 ram 塊設備(/dev/ram0、/dev/ram1、…、/dev/ram15)。我想在一個 ram 塊設備上執行 16 個隨機訪問的作業(執行緒)來檢查性能。我使用 FIO 工具執行這樣的工作負載。但是,我收到以下錯誤:
/dev/ram1 的記憶體失效失敗:設備或資源繁忙
為什麼會發生這種情況?訪問單個 ram 塊設備的作業(執行緒)數量是否有限制?當我用 來檢查塊設備時
lsblk
,沒有顯示 ram 塊設備。是什麼原因?謝謝
您一口氣問了多個問題,這降低了您全部回答的機會
:-(
但是,我收到以下錯誤:
> > /dev/ram1 的記憶體失效失敗:設備或資源繁忙 > > >
為什麼會發生這種情況?訪問單個 ram 塊設備的作業(執行緒)數量是否有限制?
釋放 brd 設備使用的頁面的功能在
ff26956875c2f05e12ecec9938411a2c7dfc767d: brd: remove support for BLKFLSBUF
. 這樣做是因為發給BLKFLSBUF
子 RAM 分區會損壞父 BRD 設備(我猜可能是其他可能共享該頁面的同級分區)。訪問單個 ram 塊設備的作業(執行緒)數量是否有限制?
不,見上文。
當我用 lsblk 檢查塊設備時,沒有顯示 ram 塊設備。是什麼原因?
因為
lsblk
預設情況下不顯示 RAM 塊設備…從手冊頁的開頭lsblk(8)
:該命令預設以樹狀格式列印所有塊設備(RAM 磁碟除外)。
有關如何更改顯示內容的資訊,請參見lsblk 手冊頁中的選項
lsblk
。
從
lsblk
手冊頁:該命令預設以樹狀格式列印所有塊設備(RAM 磁碟除外)。
這不是一個錯誤,這是一個功能!:-)
如果要包含 RAM 設備,可以使用
lsblk -I 1
lsblk -I 1 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT ram0 1:0 0 9,8M 0 disk ram1 1:1 0 9,8M 0 disk ram2 1:2 0 9,8M 0 disk ...