상세 컨텐츠

본문 제목

049. Raspberry Pi 라즈베리 파이 - raspbian extend usb swap memory

raspberrypi/raspbian

by ZelKun 2020. 1. 25. 23:40

본문

반응형

049. Raspberry Pi 라즈베리 파이 - raspbian extend usb swap memory

참고 swap 서비스? 시작/정지

sudo /etc/init.d/dphys-swapfile start | stop

pi@rasp-dev:/mnt $ df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/root       7.2G  5.9G  952M  87% /

devtmpfs        459M     0  459M   0% /dev

tmpfs           464M     0  464M   0% /dev/shm

tmpfs           464M   18M  446M   4% /run

tmpfs           5.0M  4.0K  5.0M   1% /run/lock

tmpfs           464M     0  464M   0% /sys/fs/cgroup

/dev/mmcblk0p1   43M   23M   21M  53% /boot

tmpfs            93M     0   93M   0% /run/user/1000

tmpfs            93M     0   93M   0% /run/user/117

pi@rasp-dev:/mnt $ 

pip tensorflow 설치해보려고 하니 계속 실패한다

pi@rasp-dev:/mnt $ free -h

              total        used        free      shared  buff/cache   available

Mem:           926M         57M        577M         24M        291M        794M

Swap:           99M          0B         99M

pi@rasp-dev:/mnt $ 

적당히 찾아보니 아무래도 swap 용량이 모자란 듯해서

1024 바꿔주려 용량을 보니 용량이 얼마 남았다

(pi 기본 swap 100m 인듯 /etc/dphys-swapfile 에서 확인하면 된다)

 

8G 말고 256G 정도 써줄걸 그랬나..

 

별로 설치한것도 없는것 같은데

차선책으로 swap usb 메모리를 써보기로 했다

근데 별로 추천하진 않는듯

할거면 하드디스크로 하라고 휴대용은 I/O 많기도하고, 속도가 안나오는듯 하다

 

외장하드랑 같은경로에 swap 디렉토리를 만들어주었다

pi@rasp-dev:/mnt $ pwd

/mnt

pi@rasp-dev:/mnt $ sudo mkdir swap

pi@rasp-dev:/mnt $ ls

data  db  svn  swap  webdav

pi@rasp-dev:/mnt $ sudo blkid

/dev/mmcblk0p1: LABEL="boot" UUID="0000-7918" TYPE="vfat" PARTUUID="0855ecce-01"

/dev/mmcblk0p2: LABEL="rootfs" UUID="045ddad" TYPE="ext4" PARTUUID="0855ecce-02"

/dev/sda1: UUID="A404-3F63" TYPE="vfat" PARTUUID="0000-01"

/dev/sdb1: UUID="34d4-dd96" TYPE="ext4" PARTUUID="0000-01"

/dev/sdb3: LABEL="SVN" UUID="0000-A092" TYPE="exfat" PARTUUID="0000-03"

/dev/sdb4: LABEL="WebDav" UUID="0000-3530" TYPE="exfat" PARTUUID="0000-04"

/dev/sdb5: LABEL="Data" UUID="0000-BDDB" TYPE="exfat" PARTUUID="0000-05"

/dev/mmcblk0: PTUUID="0000ecce" PTTYPE="dos"

 

pi@rasp-dev:/mnt $ sudo mount /dev/sda1 /mnt/swap/

pi@rasp-dev:/mnt $ ls -al

합계 28

drwxr-xr-x  7 root     root     4096  1 21 23:45 .

drwxr-xr-x 22 root     root     4096  6 27  2018 ..

drwxr-xr-x  2 pi       pi       4096 12 18  2018 data

drwxr-xr-x  2 root     root     4096  9  8 12:44 db

drwxr-xr-x  2 svn      svn      4096 12 21  2018 svn

drwxr-xr-x  3 root     root     4096  1  1  1970 swap

drwxr-xr-x  2 www-data www-data 4096  8 18 16:17 webdav

pi@rasp-dev:/mnt $ 

작업을 위해 외장하드 연결을 전부 끊고, 서비스도 대부분 정지 시켜버렸다

pi@rasp-dev:/mnt $ sudo mount | grep mnt

/dev/sda1 on /mnt/swap type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)

pi@rasp-dev:/mnt $ 

 하라는데로 CONF_SWAPSIZE 지정하고 dd 속도 테스트(?) 진행

pi@rasp-dev:/mnt $ CONF_SWAPSIZE=1024

pi@rasp-dev:/mnt $ CONF_SWAPFILE=/mnt/swap/swap.file

 

pi@rasp-dev:/mnt $ sudo dd if=/dev/zero of=/mnt/swap/swap.file bs=1M count=1024

1024+0 records in

1024+0 records out

1073741824 bytes (1.1 GB, 1.0 GiB) copied, 109.841 s, 9.8 MB/s

pi@rasp-dev:/mnt $ 

 

CONF_SWAPSIZE=1024

CONF_SWAPFILE=/mnt/swap/swap.file

sudo dd if=/dev/zero of=/mnt/swap/swap.file bs=1M count=1024

 

빈파일로 1M 속도로 1024 복사하는 느낌이랄까

생각보다는 빨리 끝난

 

근데 생각해보니 4G 메모리인데 1G 주기엔 아까우니

타협해서 3G 바꿔봤다

1024 * 3 = 3072 라는 간단한 계산.. 용량은 3.8G남았다니까 충분하니

pi@rasp-dev:/mnt $ CONF_SWAPSIZE=3072

pi@rasp-dev:/mnt $ CONF_SWAPFILE=/mnt/swap/swap.file

pi@rasp-dev:/mnt $ sudo dd if=/dev/zero of=/mnt/swap/swap.file bs=1M count=3072

3072+0 records in

3072+0 records out

3221225472 bytes (3.2 GB, 3.0 GiB) copied, 357.54 s, 9.0 MB/s

pi@rasp-dev:/mnt $ 

 

CONF_SWAPSIZE=3072

CONF_SWAPFILE=/mnt/swap/swap.file

sudo dd if=/dev/zero of=/mnt/swap/swap.file bs=1M count=3072

 

중간에 용량체크를 계속해줘서 그런가

속도가 떨어짐, 이제보니 count 3072...

 

pi@rasp-dev:/mnt $ sudo chmod 600 /mnt/swap/swap.file 

pi@rasp-dev:/mnt $ sudo mkswap /mnt/swap/swap.file 

mkswap: /mnt/swap/swap.file: insecure permissions 0755, 0600 suggested.

Setting up swapspace version 1, size = 3 GiB (3221221376 bytes)

no label, UUID=0000-01

pi@rasp-dev:/mnt $ sudo swapon /mnt/swap/swap.file 

swapon: /mnt/swap/swap.file: insecure permissions 0755, 0600 suggested.

pi@rasp-dev:/mnt $ 

확실히 swap 용량이 늘어난게 확인됨

pi@rasp-dev:/mnt $ free -h

              total        used        free      shared  buff/cache   available

Mem:           926M         56M         45M         47M        824M        757M

Swap:          3.1G        512K        3.1G

pi@rasp-dev:/mnt $ 

권한설정을 바꿔주고

swap on 시켜주자

 

sudo chmod 600 /mnt/swap/swap.file

sudo mkswap /mnt/swap/swap.file

sudo swapon /mnt/swap/swap.file

 

이제 재부팅할때 usb 경로가 바뀌면 안되니 fstab 에다 명시해줌

 

fstab usb 메모리 경로를 박아주고 swap 이라고 명시해줌

재부팅을 해봐야 명확할듯...

pi@rasp-dev:/mnt $ sudo vim /etc/fstab 

 

proc            /proc           proc    defaults          0       0

PARTUUID=0000ecce-01  /boot           vfat    defaults          0       2

PARTUUID=0000ecce-02  /               ext4    defaults,noatime  0       1

PARTUUID=00000001-01  /mnt/swap       vfat    defaults,noatime  0       1

# a swapfile is not a swap partition, no line here

#   use  dphys-swapfile swap[on|off]  for that

/mnt/swap/swap.file     none    swap    defults 0       0

~                                                                               

~                                                                               

~                                                                               

~                                                                               

~                                                                               

~                                                                               

~                                                                               

~                                                                               

~                                                                               

~                                                                               

~                                                                               

~                                                                               

~                                                                               

~                                                                               

~                                                                               

~                                                                               

"/etc/fstab" 7L, 430C                                                          

fstab 잘안쓰는데 이유인즉 부팅할때

디스크인식이 안되면 부팅이 안됨 단순한 이유인데 막상 격어보면 알수 있게됨...

 

추가로

swap 중지 하려면 swapoff

swapoff /mnt/sda1/swap.file

 

fstab 쓰기 싫으니 rc.local usb 있을때만 swapon 하도록 바꿔 두었다

테스트하려면 usb 뽑고 진행해야되는데 귀찮으니 다음기회에

 

참고

http://raspberrypimaker.com/adding-swap-to-the-raspberrypi/

반응형

관련글 더보기

댓글 영역