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
램 블록 장치가 표시되지 않습니다. 이유는 무엇입니까?
감사해요
답변1
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
...
답변2
한 번에 여러 질문을 하면 모든 답변을 얻을 가능성이 줄어듭니다.:-(
그러나 다음과 같은 오류가 발생합니다.
/dev/ram1에 대한 캐시 무효화 실패: 장치 또는 리소스가 사용 중입니다.
왜 이런 일이 발생합니까? 단일 RAM 블록 장치에 액세스할 수 있는 작업(스레드) 수에 제한이 있습니까?
brd 장치에서 사용하는 페이지를 해제하는 기능이 이미 있습니다.ff26956875c2f05e12ecec9938411a2c7dfc767d: brd: remove support for BLKFLSBUF
. 이는 하위 RAM 파티션에 명령을 실행하면 상위 BRD 장치가 손상될 수 있기 때문에 수행됩니다 BLKFLSBUF
(페이지를 공유할 수 있는 다른 형제 파티션이 있을 수 있다고 가정합니다).
단일 RAM 블록 장치에 액세스할 수 있는 작업(스레드) 수에 제한이 있습니까?
아니요, 위를 참조하세요.
lsblk를 사용하여 블록 장치를 확인할 때 RAM 블록 장치가 표시되지 않습니다. 이유는 무엇입니까?
RAM 블록 장치는 기본적으로 설계상 표시되지 않기 때문에 lsblk
... 매뉴얼 페이지의 시작 부분부터lsblk(8)
:
이 명령은 기본적으로 모든 블록 장치(RAM 디스크 제외)를 트리 형식으로 인쇄합니다.
보다lsblk 매뉴얼 페이지의 옵션lsblk
디스플레이를 변경하는 방법을 알아보세요 .