OpenWrt 배리어 차단기, r44952 mikrotik rb951 2nd.
교환을 시도했지만 성공하지 못했습니다.
root@OpenWrt:~# dd if=/dev/zero of=/tmp/swapfile bs=10k count=5
5+0 records in
5+0 records out
root@OpenWrt:~# chmod 0600 /tmp/swapfile
root@OpenWrt:~# mkswap /tmp/swapfile
Setting up swapspace version 1, size = 44 KiB
no label, UUID=9358f4ae-b266-4470-b131-2eb2708b861f
root@OpenWrt:~# swapon /tmp/swapfile
block: failed to swapon /tmp/swapfile (-1)
뭐가 문제 야?
답변1
Pastebin 메시지를 통한 /tmp
설치에는 스왑 파일이 지원되지 않습니다 tmpfs
. rootfs
형식화 와 관련하여 yaffs
스왑 파일도 지원하지 않는 것 같습니다. 이유는 확실하지 않지만 아마도 yaffs
디스크 공간이 할당되는 방식일 것입니다. swapon
맨페이지 에서 .
커널의 스왑 파일 구현은 파일 시스템의 도움 없이 파일에 직접 쓸 수 있을 것으로 예상합니다.
한 가지 해결 방법은 파일을 루프백 장치에 매핑하고 루프백 장치를 스왑 장치로 사용하는 것입니다. 이는 마운트된 경로에도 작동 tmpfs
하지만 사용 가능한 RAM을 제한하고 스왑을 더 빠르게 수행하므로 별 의미가 없습니다. 그러나 완전성을 위해서.
먼저 tmpfs
스왑 파일이 지원되지 않음을 증명하십시오.
[root@localhost ~]# df -T /tmp/
Filesystem Type 1K-blocks Used Available Use% Mounted on
tmpfs tmpfs 4029400 102616 3926784 3% /tmp
[root@localhost ~]# dd if=/dev/zero of=/tmp/swapfile bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 0.0390268 s, 2.7 GB/s
[root@localhost ~]# mkswap /tmp/swapfile
mkswap: /tmp/swapfile: insecure permissions 0644, 0600 suggested.
Setting up swapspace version 1, size = 100 MiB (104853504 bytes)
no label, UUID=bde6a47d-47f9-46b8-a492-786ab9565813
[root@localhost ~]# chmod 600 /tmp/swapfile
[root@localhost ~]# swapon /tmp/swapfile
swapon: /tmp/swapfile: swapon failed: Invalid argument
그런 다음 스왑 파일을 루프백 장치에 매핑하고 swapon
.
[root@localhost ~]# losetup /dev/loop0 /tmp/swapfile
[root@localhost ~]# swapon /dev/loop0
[root@localhost ~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/dm-1 partition 4194300 0 -2
/dev/loop0 partition 102396 0 -3