마운트된 외부 EBS, /workspace에서 스왑을 만들고 싶습니다.
그리고 나는 얻었다장치 또는 리소스가 사용 중입니다.
swapon: /workspace/swap.1: swapon 실패: 장치 또는 리소스가 사용 중입니다.
sudo /bin/dd if=/dev/zero of=/workspace/swap.1 bs=1M count=10240
sudo /sbin/mkswap /workspace/swap.1
sudo /sbin/swapon /workspace/swap.1
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.8G 5.1G 2.3G 70% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 2.0G 12K 2.0G 1% /dev
tmpfs 396M 336K 395M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 2.0G 0 2.0G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/xvdb 6.0T 1.7T 4.1T 29% /workspace
sync
명령을 실행한 후에도 여전히 작동하지 않습니다.
➜ ~ sync
➜ ~ sudo /sbin/swapon /workspace/swap.1
swapon: /workspace/swap.1: swapon failed: Device or resource busy
스왑 정보는 이렇습니다
➜ ~ cat /proc/swaps
Filename Type Size Used Priority
/workspace/swap.1 file 10485756 0 -1
답변1
sda2에서 스왑 파티션을 만들려고 할 때 비슷한 문제가 있었습니다. 내 해결책은 다음을 입력하는 것이었습니다.
#: swapoff /dev/sda2
#: mkswap /dev/sda2
#: swapon /dev/sda2
이것은 내가 겪고 있던 모든 문제를 재설정하는 것 같았습니다. 이것이 작동하는지 확인하려면 "lsblk" 마운트 지점을 확인합니다.
답변2
문제는 스왑을 추가하는 것이 아닙니다. 문제는 모든 스왑 공간이 df
.
여기에는 파티션 유형 데이터만 표시되며, 스왑 파일이라고도 하는 시스템 내 스왑을 사용하는 경우에는 표시되지 않습니다. 스왑 공간~였다당신이 한 첫 번째 항목에 의해 활성화되었습니다 swapon
. 당신은 그것을 확인하기 위해 잘못된 곳을 찾고 있었을 뿐입니다. 두 번째 swapon
실패는 당연합니다. 동일한 파일을 두 번 추가할 수 없기 때문입니다. 를 살펴보면 /proc/swaps
다음과 같은 최종 시스템 요약이 나와 있습니다.모두공간을 바꾸면서 새 공간이 실행되고 있는 것을 확인했습니다.
답변3
sync
명령 후에는 블록 캐시를 삭제 해야 합니다 mkswap
.
이에 대한 설명은 다음과 같습니다.
데이터를 기록하지만 물리적으로 디스크에 기록되지 않으면 더티 페이지가 됩니다. 이는 콘텐츠가 여기 시스템에서 생성되었으며 하드 디스크에서 읽혀지지 않았음을 의미합니다. 따라서 더티 페이지에서는 교체할 수 없습니다.
답변4
이 명령을 시도해 보세요
echo 1 > /sys/block/zram0/reset
"zram0"을 스왑 파티션으로 바꾸십시오. 예:
# Zram disk - 512MB size
#zram_enable=`getprop ro.config.zram`
#if [ "$zram_enable" == "true" ]; then
# swapoff /dev/block/zram0
# echo 1 > /sys/block/zram0/reset
# echo 536870912 > /sys/block/zram0/disksize
# mkswap /dev/block/zram0
# sync
# swapon /dev/block/zram0 -p 32758