참고 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를 뽑고 진행해야되는데 귀찮으니 다음기회에
참고
댓글 영역