Нийтлэлийн лавлах
CentOSВиртуал санах ойн SWAP своп файл, хуваалтыг гараар хэрхэн нэмэх/устгах вэ?
Своп хуваалт гэж юу вэ? SWAP нь swap талбар бөгөөд SWAP зайны үүрэг нь хэзээ юмLinuxСистемийн физик санах ой хангалтгүй үед физик санах ойн нэг хэсэг нь хангалтгүй физик санах ойг нөхөхийн тулд суллагдах бөгөөд ингэснээр одоо ажиллаж байна.Програм хангамжпрограмын хэрэглээ.
Своп хуваалтуудад Swap ашиглахын давуу тал
SWAP оновчлолын тохиргоог тохируулах нь вэб серверийн гүйцэтгэлд маш чухал юм.Хэрэв физик санах ой хангалтгүй бол виртуал санах ойн SWAP хуваалтын тохиргоог ашиглан LINUX системийн шинэчлэлтийн зардлыг үр дүнтэй хэмнэх боломжтой.
Своп хуваалтын хэмжээ ямар байх ёстой вэ?
Бодит системийн санах ойн хэмжээ болон ашигласан програм хангамжийн дагуу SWAP своп хуваалтын хэмжээг тохируулна уу.
CentOS болон RHEL6-д зориулсан зөвлөмжүүд дараах байдалтай байна. Тодорхой нөхцөл байдлын дагуу оновчтой оновчтой тохируулга хийнэ үү:
- 4 ГБ RAM-д хамгийн багадаа 2 ГБ своп зай шаардлагатай
- 4 ГБ-аас 16 ГБ хүртэлх RAM-д хамгийн багадаа 4 ГБ солих зай шаардлагатай
- 16 ГБ-аас 64 ГБ хүртэлх RAM-д хамгийн багадаа 8 ГБ своп зай шаардлагатай
- 64 ГБ-аас 256 ГБ хүртэлх RAM-д хамгийн багадаа 16 ГБ своп зай шаардлагатай
Одоогийн санах ой болон солих зайны хэмжээг харах (үндсэн нэгж нь k, -m нэгж нь M):
free -m
Харуулсан үр дүн дараах байдалтай байна (жишээ нь):
нийт ашигласан үнэгүй хуваалцсан буфер кэшлэгдсэн
Мем: 498 347 151 0 101 137
-/+ буфер/кэш: 108 390
Солих: 0 0 0
Хэрэв Swap нь 0 бол энэ нь үгүй гэсэн үг бөгөөд SWAP swap хуваалтыг гараар нэмэх шаардлагатай.
(Тэмдэглэл: OPENVZ архитектуртай VPS нь SWAP своп хуваалтыг гараар нэмэхийг дэмждэггүй)
SWAP своп зай нэмэх 2 төрөл байдаг:
- 1. SWAP своп хуваалтыг нэмнэ үү.
- 2. SWAP своп файлыг нэмнэ үү.
SWAP своп хуваалт нэмэхийг зөвлөж байна, хэрэв тийм ч их зай үлдээгүй бол своп файл нэмнэ үү.
SWAP мэдээллийг харах (SWAP своп файл болон хуваалтын дэлгэрэнгүй мэдээллийг оруулаад):
swapon -s
эсвэл
cat /proc/swaps
(Хэрэв SWAP утга харагдахгүй бол SWAP зай нэмэгдээгүй гэсэн үг)
SWAP файлыг хэрхэн үүсгэх жишээ энд байна:
1. 1ГБ солилцоо үүсгэ
dd if=/dev/zero of=/home/swap bs=1k count=1024k
mkswap /swapfile
swapon /swapfile
echo "/home/swap swap swap default 0 0" | sudo tee -a /etc/fstab
sudo sysctl -w vm.swappiness=10
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
2. 2ГБ солилцоо үүсгэ
dd if=/dev/zero of=/home/swap bs=1k count=2048k
mkswap /home/swap
swapon /home/swap
echo "/home/swap swap swap default 0 0" | sudo tee -a /etc/fstab
sudo sysctl -w vm.swappiness=10
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
(Дуусах)
Дараах нь нэмэлт дэлгэрэнгүй лавлагаа юм:
1. dd командыг ашиглан swap файл үүсгэнэ
1G санах ой
dd if=/dev/zero of=/home/swap bs=1024 count=1024000
2G санах ой:
dd if=/dev/zero of=/home/swap bs=1k count=2048k
Ийм байдлаар /home/swap файл үүсгэгдэж, 1024000 хэмжээтэй 1G, 2048k хэмжээтэй 2G байна.
2. Своп форматаар файл үүсгэ:
mkswap /home/swap
3. Файлын хуваалтыг swap хуваалт руу холбохын тулд swapon командыг ашиглана
/sbin/swapon /home/swap
Чөлөөт -m командын тусламжтайгаар аль хэдийн своп файл байгааг олж харцгаая.
free -m
Гэхдээ системийг дахин эхлүүлсний дараа своп файл дахин 0 болно.
4. Дахин эхлүүлсний дараа своп файлыг 0 болгохоос сэргийлэхийн тулд /etc/fstab файлыг өөрчилнө үү.
/etc/fstab файлын төгсгөлд (сүүлийн мөрөнд) нэмнэ үү:
/home/swap swap swap default 0 0
(Тиймээс системийг дахин эхлүүлсэн ч своп файл нь үнэ цэнэтэй хэвээр байна)
Эсвэл шууд автоматаар холбох тохиргоог дахин эхлүүлэх командыг нэмэхийн тулд дараах тушаалыг ашиглана уу:
echo "/home/swap swap swap default 0 0
" | sudo tee -a /etc/fstab
Ямар нөхцөлд VPS нь SWAP солилцооны зайг ашигладаг вэ?
Энэ нь SWAP солих зайг ашиглахын өмнө бүх физик санах ойг хэрэглэсний дараа биш, харин swappiness параметрийн утгаар тодорхойлогддог.
[root@~]#cat /proc/sys/vm/swappiness60
(Энэ утгын өгөгдмөл утга нь 60)
- swappiness=0 гэдэг нь физик санах ойн хамгийн их хэрэглээ, дараа нь SWAP солилцох зайг хэлнэ.
- swappiness=100 гэдэг нь своп зай идэвхтэй ашиглагдаж, санах ойн өгөгдөл нь своп зай руу цаг тухайд нь шилжиж байгааг илтгэнэ.
Swappiness параметрийг хэрхэн тохируулах вэ?
Түр зуурын өөрчлөлт:
[root@~]#sysctl vm.swappiness=10vm.sappappiness = 10
[root@~]#
cat /proc/sys/vm/swappiness10
(Энэ түр зуурын өөрчлөлт хүчин төгөлдөр болсон хэдий ч системийг дахин эхлүүлбэл өгөгдмөл утга болох 60 руу буцна)
Байнгын өөрчлөлт:
Дараах параметрүүдийг /etc/sysctl.conf файлд нэмнэ үү:
vm.swappiness=10
(Хадгалах, дахин эхлүүлсний дараа хүчин төгөлдөр болно)
эсвэл тушаалыг шууд оруулна уу:
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
SWAP своп файлыг устгана уу
1. Эхлээд swap хуваалтыг зогсоо
/sbin/swapoff /home/swap
2. Своп хуваалтын файлыг устгана уу
rm -rf /home/swap
3. Автомат холбох тохиргооны командыг устгана уу
vi /etc/fstab
Энэ мөрийг устгана уу:
/home/swap swap swap default 0 0
(Энэ нь гараар нэмсэн своп файлыг устгах болно)
Тэмдэглэл:
- 1. Своп үйлдэл нэмэх, устгахад зөвхөн root хэрэглэгчийг ашиглаж болно.
- 2. VPS системийг суулгахад хуваарилагдсан своп хуваалтыг устгах боломжгүй юм шиг байна.
- 3. Своп хуваалт нь ерөнхийдөө санах ойноос хоёр дахин том хэмжээтэй байдаг.
Hope Chen Weiliang блог ( https://www.chenweiliang.com/ ) хуваалцсан "CentOS хэрхэн виртуал санах ойн SWAP файл, хуваалтыг гараар нэмэх/устгах вэ? , танд туслах.
Энэ нийтлэлийн холбоосыг хуваалцахад тавтай морилно уу:https://www.chenweiliang.com/cwl-158.html
Илүү олон далд заль мэхийг нээхийн тулд манай Telegram сувагт нэгдэнэ үү!
Хэрэв танд таалагдвал лайк дарж, хуваалцаарай! Таны шэйр, лайк бол бидний байнгын урам зориг юм!