나는 다음을 할당했습니다 /dev/ram0
:
dd if=/dev/zero of=/dev/ram0 bs=1M count=1024
이제 1GB의 RAM이 생겼습니다. 할당된 공간을 확보하는 방법은 무엇입니까?
답변1
답변2
brd
가상 디스크 의 경우
램디스크를 사용하는 경우 brd
RAM을 확보하는 유일한 방법은 커널에서 모듈을 제거하거나 재부팅하는 것입니다. freeramdisk
(나에게는) 작동하지 않습니다.
다음은 사용 예입니다.
apt-get install loadln # Contains "freeramdisk" command
modprobe brd rd_size=$((1024*128)) # 128MB
free -m # total=1000 used=356 free=643
dd if=/dev/zero bs=1M of=/dev/ram0 # writes 128 x 1MB records (as expected)
free -m # total=1000 used=485 free=515
freeramdisk # "freeramdisk: cannot open /dev/ram: No such file or directory"
free -m # total=1000 used=485 free=515
rmmod brd # REMOVE ALL THE RAM DISKS
free -m # total=1000 used=358 free=641
dd
램디스크가 실패할 때까지 읽기 장치를 사용하는 것 외에는 램디스크의 원래 크기를 확인하는 쉬운 방법은 없는 것 같습니다. 그러나 장치 자체가 얼마나 작은지를 고려하면 이를 수행하는 데 오랜 시간이 걸리지 않습니다. 따라서 "빠른 재설정" 명령을 만들 수 있습니다.
resetramdisk() {
mb=$(dd if=/dev/ram0 bs=1M of=/dev/null 2>&1 | sed -n 's/+.*//p;q')
if test -n "$mb"
then
rmmod brd
modprobe brd rd_size=$((1024*$mb))
fi
}
커널 부팅 시 램디스크 사용
이 디스크를 비울 수 있다고 생각 freeramdisk
하지만 지금 당장 테스트할 구성이 없습니다.