/dev/ram0을 해제하는 방법

/dev/ram0을 해제하는 방법

나는 다음을 할당했습니다 /dev/ram0:

dd if=/dev/zero of=/dev/ram0 bs=1M count=1024

이제 1GB의 RAM이 생겼습니다. 할당된 공간을 확보하는 방법은 무엇입니까?

답변1

나는 패키지(데비안)에 있는 blockdev명령을 사용할 수 있다고 믿습니다.util-linux

blockdev --flushbufs /dev/ram0

원천

답변2

brd가상 디스크 의 경우

램디스크를 사용하는 경우 brdRAM을 확보하는 유일한 방법은 커널에서 모듈을 제거하거나 재부팅하는 것입니다. 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하지만 지금 당장 테스트할 구성이 없습니다.

관련 정보