modprobe brd rd_nr=1 rd_size=4585760 max_part=1
한 번에 램 블록 장치를 생성하고 싶지만 /dev/ram0
(램을 확보하기 위해) 장치를 새로 고친 다음 이를 삭제하고 다른 장치를 생성하고 싶다고 가정 해 보겠습니다. 어떻게 해야 하나요? modprobe brd rd_nr=1 rd_size=4585760 max_part=1
다시 실행해도 다른 메모리 장치가 생성되지 않는 것 같습니다./dev
재생성 단계:
1) 디스크 생성:modprobe brd rd_nr=1 rd_size=4585760 max_part=1
2) RAM 디스크를 사용하여 임의 작업을 수행합니다. 예:dd if=/dev/zero of=/dev/ram0 count=1000
3) 메모리 해제blockdev --flushbufs /dev/ram0
4) 장치 파일 삭제:rm /dev/ram0
5) 다른 것을 만들어 보세요:modprobe brd rd_nr=1 rd_size=4585760 max_part=1
6) ls /dev/ram*
오류를 알려주세요
rd_nr
원하는 숫자 로 변경할 수 있다는 것을 알고 있지만 즉시 생성할 수 있기를 원합니다.
편집: tmpfs를 생성하고 싶지 않습니다. 사용 사례에는 블록 장치가 필요합니다.
답변1
자신을 삭제하면 안 됩니다 /dev/ram0
. 이렇게 하면 삭제되어 sudo rmmod brd
공간이 확보되고 모듈이 제거됩니다. 그런 다음 다시 시작할 수 있습니다 modprobe
.
답변2
저는 /dev/ram에 익숙하지 않지만 tmpfs 및 루프 장치를 사용하여 비슷한 작업을 수행할 수 있습니다.
mkdir /ramdisks
mount -t tmpfs tmpfs /ramdisks
dd if=/dev/zero of=/ramdisks/disk0 bs=1M count=100
losetup /dev/loop0 /ramdisks/disk0
mke2fs /dev/loop0
...
losetup -d /dev/loop0
rm /ramdisks/disk0