교환 실패

교환 실패

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

관련 정보