그래서 저는 오픈 소스 티켓 요청 시스템인 OTRS를 설치하기 위한 튜토리얼을 따르고 있습니다. 따라서 설치하려면 4GB 스왑 공간이 필요합니다. 이것은 내가 사용하는 명령입니다:
[root@ip-10-0-7-41 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 50G 14G 37G 27% /
devtmpfs 478M 0 478M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 13M 484M 3% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
tmpfs 100M 0 100M 0% /run/user/1000
[root@ip-10-0-7-41 ~]# fallocate -l 4G /myswap
[root@ip-10-0-7-41 ~]# ls -lh /myswap
-rw-r--r--. 1 root root 4.0G Jul 8 08:44 /myswap
[root@ip-10-0-7-41 ~]# chmod 600 /myswap
[root@ip-10-0-7-41 ~]# mkswap /myswap
Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=3656082a-148d-4604-96fb-5b4604fa5b2e
[root@ip-10-0-7-41 ~]# swapon /myswap
swapon: /myswap: swapon failed: Invalid argument
여기에서 확인할 수 있습니다. 잘못된 매개변수 오류입니다. 나는 성공하지 못한 채 여러 번 시도했습니다. 누군가 이 오류를 해결하는 방법을 알려주십시오. (AWS 인스턴스 EC2에서 CentOS 7을 실행하고 있습니다)
[root@ip-10-0-7-41 ~]# df -T | awk '{print $1,$2,$NF}' | grep "^/dev"
/dev/xvda1 xfs /
답변1
문제 는 할당을 빠르고 효율적으로 하기 위해 fallocate(1)
파일 시스템을 사용한다는 것이고 ioctls
, 단점은 물리적으로 공간을 할당하지 않지만 swapon(2)
시스템 호출에는 실제 공간이 필요하다는 것입니다. 인용하다:https://bugzilla.redhat.com/show_bug.cgi?id=1129205
이전에 내 상자에 이런 문제가 있었던 적이 있습니다. 그래서 사용하는 대신 링크의 제안에 따라 fallocate
사용했습니다 .dd
sudo dd if=/dev/zero of=/myswap count=4096 bs=1MiB
그리고 계속해서 chmod
, mkswap
& swapon
명령을 사용하세요. 빙고! 효율적인.
답변2
DigitalOcean의 Droplet에서 작동하려면 아래 단계를 따르세요. 나는 그것을 테스트했습니다. 필요에 따라 금액을 변경하세요 4096
yum install nano -y
sudo dd if=/dev/zero of=/swapfile count=4096 bs=1MiB
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo nano /etc/fstab
다음 줄을 추가하세요.
/swapfile swap swap sw 0 0
이 명령을 실행하세요
sudo sysctl vm.swappiness=10
sudo nano /etc/sysctl.conf
이 줄을 추가하세요
vm.swappiness = 10
vm.vfs_cache_pressure = 50
스왑 크기 확인
swapon --summary
free -h
답변3
제 경우에는 커널 로그에 오류가 있었습니다:
BTRFS warning (device sdd1): swapfile must not be copy-on-write
공간을 할당하기 전에 CoW( )를 비활성화하면 chattr +c /swapfile
문제를 해결할 수 있습니다.