Swap là khái niệm bộ nhớ ảo được sử dụng trên hệ điều hành Linux. Khi VPS/Server hoạt động, nếu hết RAM hệ thống sẽ tự động sử dụng một phần ổ cứng để làm bộ nhớ cho các ứng dụng hoạt động.
Với những server không có swap, khi hết RAM hệ thống thường tự động stop service MySQL, do đó hay xuất hiện thông báo lỗi Establishing a Database Connection.
Do sử dụng ổ cứng có tốc độ chậm hơn RAM, nhất là với những server dùng ổ cứng thường không dùng SSD, do đó không nên thường xuyên sử dụng Swap sẽ làm giảm hiệu năng hệ thống. Nếu tình trạng hết RAM hay xảy ra, bạn hãy tối ưu server, tăng cache và nâng cấp bổ sung thêm RAM.
Với các VPS dùng công nghệ ảo hóa OpenVZ, có thể bạn sẽ không tạo được swap do hệ thống đã tự động kích hoạt sẵn.
Nội dung bài viết
Hướng dẫn tạo Swap
Áp dụng được cả trên CentOS và Ubuntu.
1. Kiểm tra swap
Trước khi tiến hành tạo file swap cần kiểm tra xem hiện tại hệ thống đã kích hoạt swap hay chưa bằng cách chạy:
swapon -s
Nếu không có thông tin gì hoặc trả về như hình dưới chứng tỏ server chưa có swap và bạn có thể tạo.
2. Kiểm tra dung lượng trống
Sử dụng lệnh df -h
để kiểm tra dung lượng trống. Còn 13GB, vẫn thoải mái để tạo swap:
3. Tạo swap
– Chạy lệnh dd. Ở đây mình tạo 1GB swap (count=1024k) cho VPS 768MB RAM
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k
Lệnh trên sẽ tạo swap có dung lượng 1Gb. Bạn có thể thay count=1024k bằng count=2048k… để tạo swap dung lượng 2Gb. Dung lượng Swap tối đa chỉ nên gấp đôi RAM vật lý.
– Tạo phân vùng swap
mkswap /swapfile
– Kích hoạt swap
swapon /swapfile
Đoạn này có thể gặp thông báo warning insecure permissions 0644, không sao cả bạn cứ bỏ qua. Chúng ta sẽ chỉnh lại ở bước sau.
– Kiểm tra lại tình trạng swap bạn sẽ thấy như sau:
swapon -s
– Thiết lập swap tự động được kích hoạt mỗi khi reboot
echo /swapfile none swap defaults 0 0 >> /etc/fstab
– Bảo mật file swap bằng cách chmod
chown root:root /swapfile chmod 0600 /swapfile
4. Cấu hình Swappiness
Swappiness là mức độ ưu tiên sử dụng swap, khi lượng RAM còn lại bằng giá trị của swappiness (tính theo tỷ lệ phần trăm) thì swap sẽ được sử dụng. Swappiness có giá trị trong khoảng 0 – 100.
- swappiness = 0: swap chỉ được dùng khi RAM được sử dụng hết.
- swappiness = 10: swap được sử dụng khi RAM còn 10%.
- swappiness = 60: swap được sử dụng khi RAM còn 60%.
- swappiness = 100: swap được ưu tiên như là RAM.
Do tốc độ xử lý dữ liệu trên RAM cao hơn nhiều so với Swap, do đó bạn nên đặt giá trị này về gần với 0 để tận dụng tối đa sức mạnh hệ thống. Tốt nhất nên chỉnh về 10.
– Kiểm tra mức độ sử dụng file swap của hệ thống bằng cách chạy dòng lệnh sau
cat /proc/sys/vm/swappiness
– Chỉnh thông số swappiness bằng cách dùng lệnh sysctl
sysctl vm.swappiness=10
– Kiểm tra lại bạn sẽ thấy kết quả trả về 10
cat /proc/sys/vm/swappiness
Để đảm bảo giữ nguyên thông số này mỗi khi khởi động lại VPS bạn cần điều chỉnh tham số vm.swappiness
ở cuối file /etc/sysctl.conf
(nếu không có bạn hãy add thủ công vào)
nano /etc/sysctl.conf
Thêm dòng sau vào cuối nếu chưa có, nếu có rồi thì update lại giá trị:
vm.swappiness = 10
Nhấn Ctrl + O để lưu, Enter và Ctrl + X để thoát.
– Khởi động lại VPS và kiểm tra lại kết quả:
swapon -s cat /proc/sys/vm/swappiness
Lưu ý
– Với CentOS 7.2 có thể tune profile sẽ overwrite vm.swappiness
mỗi lần reboot, bạn cần kiểm tra profile nào đang overwrite để cấu hình lại thủ công.
grep vm.swappiness /usr/lib/tuned/*/tuned.conf
Output có thể như sau:
[root@hocvps ~]# grep vm.swappiness /usr/lib/tuned/*/tuned.conf
/usr/lib/tuned/latency-performance/tuned.conf:vm.swappiness=10
/usr/lib/tuned/throughput-performance/tuned.conf:vm.swappiness=10
/usr/lib/tuned/virtual-guest/tuned.conf:vm.swappiness = 30
Lúc này, bạn hãy mở file /usr/lib/tuned/virtual-guest/tuned.conf
, tìm vm.swappiness
và thay đổi vm.swappiness = 30
thành vm.swappiness = 10
.
nano /usr/lib/tuned/virtual-guest/tuned.conf
Nhấn Ctrl + O để lưu, Enter và Ctrl + X để thoát.
Khởi động lại VPS và kiểm tra lại kết quả.
Thay đổi dung lượng swap
Nếu bạn đã theo các hướng dẫn trên để tạo swap file và muốn thay đổi dung lượng swap, hãy thực hiện ngược lại quá trình.
– Tắt swap
swapoff /swapfile
– Xóa file swap
rm -f /swapfile
– Tạo mới file swap với dung lượng mong muốn. Ví dụ mình tạo 2GB (2048k)
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2048k
– Tạo phân vùng swap
mkswap /swapfile
– Kích hoạt swap
swapon /swapfile
– Bảo mật file swap bằng cách chmod
chown root:root /swapfile chmod 0600 /swapfile
– Kiểm tra lại tình trạng swap
swapon -s
Khi thay đổi dung lượng swap, các cài đặt từ trước như tự động kích hoạt khi server reboot, thông số Swappiness được giữ nguyên nên bạn không cần phải thao tác gì thêm.
Giờ khởi động lại server rồi kiểm tra lại kết quả thôi.
Admin ơi, có thể giúp mình được không. Mình cài sever để chạy web, cài cấu hình RAM 8GB mà online lúc 5k thì vẫn bt, mà đôi lúc về 3k thì bị lỗi 502. Mình phải nâng lên 16GB, không biết có cách nào để sửa không hả admin. Lâu lâu là bị lỗi 502. Giúp mình trả lời sớm với nhé. Cảm ơn admin nhiều.
Bạn theo dõi thời điểm 502 log các service như thế nào, có gì bất thường không. Bên cạnh đó, bạn cài các ứng dụng theo dõi theo thời gian thực để kiểm tra như Nginx Amplify, Linode LongView….
Chạy mấy cái lệnh đó ở chỗ nào z bạn mình ko hiểu chạy mấy cái command ở đâu
Trên màn hình cửa sổ lệnh Terminal SSH nhé bạn. Dành cho VPS Linux
Sao mình dùng lệnh này: sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k mà báo là dd command not found vậy admin. Mình dùng lệnh swapon -s thì nó báo partition thôi chứ k thấy có swap. Mong admin hổ trợ
Bạn chạy lệnh ở thư mục nào và user nào? Check thư mục hiện tại với
pwd
Có thể user bạn đang sử dụng không có quyền ghi vào thư muc đó.Mình chạy user root. Chạy ở thư mục root vs home. mình thử home không được nên chuyển qua root thử
VPS bạn hệ điều hành gì? Lỗi này mình chưa gặp rồi nên đang xem thêm
HĐH linux đó bạn. mình cũng search trên mạng nãy giờ. mà không thấy ai bị.
mình dùng lệnh swapon -s như hướng dẫn mà nó không giống hướng dẫn. nó ra /dev/vda1 partition …….
Bạn gửi VPS qua support@hocvps.com mình xem thêm cho, chứ hiện tại case này mình chưa gặp
Mình đến đoạn /etc/sysctl.conf
Thì không thấy sysctl.conf
Có tạo file thủ công nhưng loại không lưu lại được
http://imgur.com/zmouHff
Nhìn như hệ thống bạn là Ubuntu à? Vì có thể ở hệ điều hành khác thì không phải vị trí đó. Chứ file đó được tạo mặc định trong hệ điều hành rồi bạn
File sysctl.conf trong ảnh là bạn tự tạo à?
e gõ lệnh tạo thì nó báo thế này No such file or directory
đoạn trên e đc r, e đến đoạn – Tạo phân vùng swap
thì nó báo No such file or directory
Bạn tạo swapfile chưa? Kết quả báo như thế nào?
dd if=/dev/zero of=/swapfile bs=1024 count=1024k
e tạo rồi nó báo thành công rồi ạ
http://i.imgur.com/iD1B6TV.jpg
Bạn thiếu
/
ở swapfile rồi. Nên nó sẽ hiểu sai vị tríswapfile
sau khi cài đến đây hệ thống báo không tìm thấy trên centos 7.3
“nano /usr/lib/tuned/virtual-guest/tuned.conf ”
“nano /etc/sysctl.conf”
2 bước khác nhau mà bạn. Bạn không thấy
/etc/sysctl.conf
hay/usr/lib/tuned/virtual-guest/tuned.conf
vps mình ram 4g thì tạo swap ram 3g có được không nhỉ
Không nên bạn à. Tầm 2GB xong tùy tình quan sát thêm
Cảm ơn bạn, bài viết hữu ích và mình đã cài thành công.
Cho mình hỏi thêm là sao của mình như thế này:
http://prntscr.com/fgddc5
Thì Ram Free thực tế còn nhiều mà sao đã dùng đến Swap rồi. Mình kiểm tra vài lần nhưng chỗ free hơn 100 thì vẫn dùng một ít Swap kiểu thế này.
Có thời điểm nhu cầu tăng lên sẽ sử dụng đến SWAP nên kể cả khi RAM free lại thì thông số vẫn hiện đã dùng swap bạn à
mình sài VPS trên Linode chọn gói 5$ 1GB được tối đa swap là 512MB thôi. mình có cập nhật lại là 2048MB như bạn nhưng khi reboot nó lại về 512MB.
Linode thì khi tạo disk, bạn bớt lại dung lượng để add thêm cho swap. Sau đó bạn resize lại kích thước swap là được. Mọi thao tác làm trên trang manager nhé.
Cảm ơn bạn, đúng thứ mình đang cần, mình đã thực hiện đúng các bước.
Tuy nhiên,khi kiểm tra lại với
free -m
thì thấy kết quả:
total used free shared buff/cache available
Mem: 990 427 57 142 505 381
Swap: 2047 0 2047
Free = 5% nhưng sao không thấy Swap được dùng vậy, mình làm sao gì chăng?
Free là chỉ số cứng thôi. VPS sẽ lấy trước 1 phần RAM làm buff/cache, sẽ sử dụng khi cần nên free thực tế không phải chỉ là 57 bạn à
Cho em hỏi, em đang sử dụng VPS 2 GB ram, 1 core, dùng DirectAdmin thì có tạo Swap được ko vậy ad ?
https://scontent.fsgn5-1.fna.fbcdn.net/v/t1.0-9/18156944_1063272543817682_662277452060156594_n.jpg?oh=f5969d047776b9eded5a30a25383c1d2&oe=598557EF
Việc tạo được swap không liên quan đến hệ quản lý đâu bạn mà nằm ở bản chất của VPS. Bạn không tạo được có thể do không có quyền root hoặc VPS sử dụng công nghệ ảo hóa OpenVz…
ah được rồi bạn ơi
Bạn ơi, do web của mình có vấn đề nên mình giờ muốn xây dựng lại vps. giờ mình cần xóa hết dữ liệu đi để chạy lại cái hocvps khác, mình bấm rebuild rồi thì thông tin đăng nhập + port về lại như củ bạn nhỉ
Bạn rebuild VPS thì về VPS mới. Mật khẩu sẽ được reset (Vultr thì xem tại trang quản lý, DO thì gửi về mail). Port SSH sẽ là 22
Bạn phương cho mình hỏi, khi chạy setup vps bằng hocvps tự động rồi thì giờ mình muốn conect vps qua giao thức ssh bằng phần mềm ZOC thì sử dụng thông tin đăng nhập mới hoàn toàn ạ, hay chỉ thay port 22 thành port 2222 thôi ạ
Vẫn thông tin login cũ, bạn chỉ đổi port 22 thành 2222 thôi nhé
mình dùng zoc login vào bằng thông tin củ + đỗi port 22 thành 2222 mah login mãi ko được bạn ơi
Nó báo thế này nè bạn.
Connecting to sever1.viralphy.com:2222 (press Esc to cancel)…
[SSH] FAIL: sever1.viralphy.com:2222 – A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
Vps mình vẫn đang hoạt động bt, pass vẫn như củ
Bạn connect trên web terminal(chỗ quản lý VPS của nhà cung cấp) được không? Do VPS vừa cài xong reboot thì không đăng nhập ngay được, chờ tầm 30s-1 phut là ok
Bạn phương ơi, mình làm theo tấc cả các bước rồi . đến phần kích hoạt swap theo code này swapon /swapfile thì bị lỗi này “swapon failed: Operation not permitted” nó bị vậy là sao ạ
1. Bạn chạy bằng user quyền root chứ? VPS bạn không phải là OpenVZ chứ?
Bạn cho mình kết quả của
hostnamectl status
2. Trước đó bạn tạo swapfile chưa?
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k
vàmkswap /swapfile
Anh cho e hỏi e tạo VPS cấu hình ram 4GB, giờ muốn tạo swap thì tạo khoảng bao nhiu GB hả a. Với sao e vào xem thông tin ở sever info thì thấy phần Total Memory toàn Full thế a. E tạo vps mới nó cũng full vậy, toàn 90% trở lên. Không biết có lỗi gì không
4GB thì bạn tạo 2GB Swap thôi nhé. Bạn đọc dòng real use ý, vì VPS sẽ dùng 1 phần RAM là cached, lúc nào cần dùng thì lôi ra.
Tổng RAM = (thực use + buff/cached) + free
E lỡ tạo swap 8gb rồi thì giờ làm sao a, xóa rồi tạo lại hả a.
cho mình hỏi một chút, mình sử dụng vps của linode lúc build thì mình đã tạo swap theo cấu hình trong linode rồi. Sau đó mình tiếp tục tạo swap theo hướng dẫn của bài viết này và nhận được thông số cấu hình như sau:
Filename Type Size Used Priority
/dev/sdb partition 524284 0 -1
/swapfile file 2097148 0 -2
Câu hỏi của mình là: Nếu tạo 2 vùng swap thế này thì có vấn đề gì không? VPS có chạy bình thường không hay chỉ nên để 1 vùng swap thôi. Nếu để 1 vùng, thì làm thế nào để xóa phân vùng mà mình đã tạo trước đó ở /dev/sdb? Cảm ơn nhiều.
Bạn để 1 vùng thôi. Bạn có thể xóa phân vùng swap đã tạo như bài hướng dẫn: Tắt swap > Xóa file swap
Bai viet that su rat tot, thanks nhieu nhe ban
Nhân tiện cho mình hỏi lúc ở bước :
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k
Mình tạo nhầm là bs2048 count=2048k
Rồi cho ra 4GB Ram, server vẫn chạy bình thường vậy admin?
Bạn đã tạo 2GB swap. Tất nhiên sv vẫn chạy bình thg. Mình chưa hiểu ý câu hỏi bạn lắm
Trong directAdmin mình nhận được rất nhiều mess như sau:
Brute-Force Attack detected in service log from IP(s) 58.218.199.105 02/14/2017
000000339 Brute-Force Attack detected in service log on User(s) root 02/14/2017
000000338 Brute-Force Attack detected in service log from IP(s) 113.195.145.79, 122.194.229.11 02/14/2017
000000337 Brute-Force Attack detected in service log from IP(s) 116.31.116.18 02/14/2017
000000336 Brute-Force Attack detected in service log from IP(s) 116.31.116.11 02/14/2017
000000335 Brute-Force Attack detected in service log from IP(s) 182.100.67.4 02/14/2017
000000334 Brute-Force Attack detected in service log from IP(s) 58.218.199.105 02/14/2017
000000333 Brute-Force Attack detected in service log on User(s) root 02/14/2017
000000332 Brute-Force Attack detected in service log from IP(s) 122.194.229.11
Như vậy là server mình đang bị tấn công hả Phương?
Bạn đang bị tấn công rồi. Brute Force là kỹ thuật đoán thử đúng sai liên tục vào phần đăng nhập nào đó, nhằm dò pass. Ví dụ của VPS user root hoặc phần quản trị website.
Nếu mình muốn chặn hết IP từ China thì làm sao giờ Phương?
Chặn trong directAdmin hay trên vps ?
Nó cứ Brute Force hoài cũng làm chậm VPS của mình đúng k ?
Bạn theo hướng dẫn này nhé: https://www.vultr.com/docs/how-to-block-ips-from-a-country-on-centos-6
Dùng kết hợp giữa IP2Location visitor blocker service (để gen IP country) và Iptables
Cám ơn Phương nhiều.
Mình có gửi 1 email ở mục liên hệ, Phương check email giúp mình nha.
Chào Luân,
VPS bên Vultr mình thuê:
CPU: 2 vCore
RAM: 2048 MB
Storage: 45 GB SSD
Chạy có 1 website, ngày khoảng 300-400 view là cao. Còn nhiều web khác chỉ dựng lên để đó k có traffic, mà Ram free lúc nào cũng thiếu. Làm việc trong admin cứ bị báo lỗi Erro database …
Vậy là tại sao vậy Luân ? Có cách nào khắc phục không ?
free -m
của bạn ra kết quả gì. Và phần Real-time Data Server trongdomain:port/serverinfo/
của bạn ntnFree -m:
total used free shared buff/cache available
Mem: 1839 1097 296 92 445 475
Swap: 0 0 0
domain:port/serverinfo/
[root@ns1 ~]# domain:port/serverinfo/
-bash: domain:port/serverinfo/: No such file or directory
Gõ 2 lệnh trên thì nó ra như vậy đó Phương.
à
domain:port/serverinfo/
là nếu bạn sử dụng HocVPS thì có công cụ nền web là ServerInfo để kiểm traCòn theo mình thấy, bạn không cài swap.
Ram thì hiện dùng 60%. Free = Total – (Used + Buff/Cache).Free thực sự của bạn là 296+445
Mình nghĩ sv bình thường. Lỗi “Error Establishing a Database Connection” thì bạn kiểm tra thêm trong MySQL log xem.
Cảm ơn anh, bài viết rất dễ hiểu ^^
Mình đã thêm vm.swappiness = 10 vào cuối file /etc/sysctl.conf
nhưng sao restart lại server và kiểm tra lại bằng lệnh cat /proc/sys/vm/swappiness thì nó vẫn là 30?
http://i.imgur.com/undefined.png
Ok đã được, cảm ơn bạn!
Chao anh
em thuc hien cac lenh ok nhung den lenh kiem tra thi no thong bao nhu sau: swapon failed: Operation not permitted
Xin hoi em can lam gi
thanks
Bạn dùng VPS bên nào? Với các VPS dùng công nghệ ảo hóa OpenVZ, có thể bạn sẽ không tạo được swap do hệ thống đã tự động kích hoạt sẵn. Họ sẽ hạn chế cho bjan việc add thêm Ram bằng swap, thay vào đó bạn cần upgrade plan cho phú hợp
[root@vps02 ~]# nano /usr/lib/tuned/virtual-guest/tuned.conf
-bash: nano: command not found
Anh Luân ơi, cho em hỏi, em làm đến đây rồi nhưng bị lỗi dòng này:
-bash: nano: command not found
thành ra vm.swappiness = 30 ko đổi dc =10 mỗi khi reboot lại
em đang dùng vps digitalOcen…
Anh cho em hỏi giờ em phải làm sao ạ?
Có nghĩa là nano text editor chưa được cài trong hệ điều hành của bạn.
Tuy vậy, nếu làm đến bước này thì bạn hẳn đã chỉnh
vm.swappiness
ở cuối file/etc/sysctl.conf
bằng cách# nano /etc/sysctl.conf
rồi chứ nhỉ?Để cài đặt nano
Trong CentOS bạn gõ:
# yum install nano
Trong Ubuntu bạn gõ:
# apt-get install nano
https://hocvps.com/cach-su-dung-nano-editor/
Sao mình set swappiness 10% rồi mà ram 768MB nó vẫn dùng tới tận 759mb rồi mới xài 1 tí tẹo swap nhỉ 🙁 mình xài hocvps. Mà tình hình thế này (xem ảnh) có cần nâng cấp vps không? Thấy chạy vẫn nhanh, song dạo này hay bị lỗi memory allocated khi dùng wordpress.
Screenshot
https://drive.google.com/file/d/0B0n8QL0ZMcMPZC0xeWNSTmJqTGM/view?usp=sharing
10% tức Ram còn 10% mới sử dụng swap. Bạn kiểm tra xem đã cài đặt để giữ nguyên thông số khi khởi động lại VPS chưa
Và theo ảnh thì mới dùng 73.21% thôi
RAM của bạn đang dùng 73.21% thôi nhé
Bác cho hỏi là khi tạo vps ở Ramnode đã có sẵn swap file partition là 1Gb rồi thì có cách nào tăng lên được không ?
M tạo thêm file swap khác vẫn được thì dùng 2 loại file này 1 lúc có ảnh hưởng gì không ?
Bác có hướng dẫn cài centos 7 64 từ file iso ở ramnode không cho m xin link với .
Thanks bác nhiều nhá !
Với những VPS có sẵn swap thì bạn ko can thiệp được nhé.
Hi Luân,
Mình sử dụng VPS của Dedi, mặc định Dedi tạo SWAP trên SSD là 1GB, mình tạo SWAP như bài hướng dẫn này thì thấy “/swapfile” được xếp vào Priority = -2, còn “/dev/vdb” = -1.
Mình muốn chuyển ưu tiên /swapfile được không?
Nếu có Swap mặc định rồi thì bạn không can thiệp gì nữa nhé.
” Do sử dụng ổ cứng có tốc độ chậm hơn RAM, nhất là với những server dùng ổ cứng thường không dùng SSD, do đó không nên thường xuyên sử dụng Swap sẽ làm giảm hiệu năng hệ thống. Nếu tình trạng hết RAM hay xảy ra, bạn hãy tối ưu server, tăng cache và nâng cấp bổ sung thêm RAM. ”
Luân cho hỏi câu này có phải không nên sử dụng swap trên server vật lý, Còn VPS thì sử dụng tốt đúng ko>
Server vật lý hay VPS cũng thế, bản chất Swap là dùng ổ cứng làm RAM tạm mà bạn.
Mình đã cài swap như hướng dẫn, đặt 20% nhưng khi ram chạy đến 92% mình thấy swap vẫn không chạy là sao vậy ban?
Bạn ơi cho mình hỏi với, mình thuê vps ram 768MB bên vultr chưa cài swap. Mình cho chạy 2 trang wordpress nhưng khi vào trang admin viết bài linh tinh thì trang bị chết, cụ thể là pass của user mysql bị thay đổi hay sao ấy mình phải vào command line reset lại user pass mysql.
Có khi nào là do “hết RAM hệ thống thường tự động stop service MySQL” như bạn nói ở trên ko vì hiện tại 2 web của mình ít người vào băng thông mỗi tháng cùng lắm 2G/1000G thôi. Mình cảm ơn
Khả năng do hết RAM nên chết MySQL rồi, bạn kiểm tra status MySQL mỗi khi sự cố xảy ra xem thế nào?
Mình cảm ơn, để hóng khi nào die mình check xem @@
Xin báo admin là mình làm 1ngày 1đêm trên digitalocean tất cả các thể loại nhưng không thành công nhé,mới vô Vultr làm 1 phát là ngon lành luôn đó, chia sẽ để anh em rút kinh nghiệm đây
sao mình dùng lệnh restart lại vps digioncean “sudo shutdown -r now” thì nó không vào được web và phpmyadmin nữa vậy This site can’t be reached refused to connect.
Cảm ơn bài viết của bạn. Mình đã tạo thành công Swap dựa trên hướng dẫn.
Mình dùng VPS Digital Ocean, Ram 2GB, thiêt lập Vm.happiness 60 mặc định, nhưng khi Ram vượt quá 60% nó vẫn ko kích hoạt swap là sao nhỉ? Cụ thể , check free -m, dùng đến 1,4GB ram rồi mà ko kích hoạt SWAP.
Hic, bạn để <= 10 thôi, để 60% làm gì 🙁
Trc mình cũng set 10 nhưng có lúc mysql stop vì ram hết mà nó cũng k kích hoạt swap là sao ban nhỉ?
Check swapon vẫn bt.
Ủa lạ vậy nhỉ, mình chưa gặp vấn đề này bao giờ
Mình xài ở digitalocean, hình mình gửi là ram đã hết sạch./ Không biết vấn đề ở đây?
Hình của bạn còn 292MB RAM mà
Mình làm đúng như cách của bạn, và hình như swap của mình đang không hoạt đông.
http://i.imgur.com/w5W3Ek8.jpg
Mình đã thử sysctl vm.swappiness=10 và hiện tại =30. kết là die. Bạn xem giúp mình với nhé.
Cảm ơn admin
Bạn đang dùng VPS ở nhà cung cấp nào thế.
Đã xảy ra trường hợp hết RAM chưa?
Chào bạn,
Mình dùng VPS bên BKNS gói 2GB. Mình tạo /swapfile 4096M và cài đặt vm.swappiness=10 kiểm tra mọi thứ OK.
Nhưng khi mình thử RAM chạy chỉ còn khoàng 160M mà SWAP used vẫn = 0 đến khi RAM quá tải MySql bị die mà SWAP used vẫn =0. Mình thử cho vm.swappiness=100 rồi kiểm tra nhưng SWAP used vẫn =0.
Trường hợp này là sao hả bạn?
Nhờ bạn hướng dẫn giúp cách giải quyết.
Trân trọng cảm ơn!
Biên Hoàng
Bạn check lại xem tình trạng sử dụng RAM thế nào với lệnh
free -m
?cat /proc/sys/vm/swappiness
hiện tại trả về ra sao?hix mình đang sài thì vào phpmyadmin nó báo như vầy, minh có cài clamv và quét, quét xong thì bị vậy
#2002 – Connection refused — The server is not responding (or the local server’s socket is not correctly configured).
Mình cũng mày mò hơn cả năm mới tìm được cách set Swap trực tiếp của nó 🙁
Luân cho mình hỏi cài mình xài gói ram 4g 2cpu của linnode thì trong phần thiết lập mình chọn cenos 7 và phần swap nó có 3 lượt chọn 128 256 và 512 mình chọn cái 512 ổn ko luân hay phải thiết lập lại cao hơn hơi mù mấy khoản này 😀
Hình như mình nhớ max swap của nó chỉ là 512MB thôi thì phải?
Cơ chế chia đĩa của Linode hơi khác nhé, mặc định Max swap của nó là 512MB thôi, tuy nhiên bạn có thể chia ép swapfile theo hướng dẫn của Luân ở trên nó vẫn cộng dồn vào swap.
Cách này có thể gây xung đột hệ thống, Linode không khuyến khích điều này.
Bạn muốn chia trực tiếp trong trang quản trị của Linode thì có thể làm như sau:
Ví dụ: Gói Linode của bạn là 4 GB Ram theo giá hiện tại thì sẽ có 48 GB SSD tương đương 49152 MB, và bạn muốn chia swap là 8 GB tương đương 8192 MB (gấp đôi dung lượng Ram vật lý).
– Khi Building Disk Image để chạy Centos thì bạn nên trừ dung lượng của Swap bạn định tạo ra, nghĩa là 49152 – 8192 = 40960 MB (dung lượng thực tế để chạy Centos), phần dưới swap nó vẫn để max là 512 MB bạn cứ chọn nó và Building như thường sẽ Resize lại sau theo hướng dẫn bên dưới.
– Sau khi Buiding Centos Disk Image xong (40960 MB) bạn sẽ còn dư lại 8192 MB dung lượng đã trừ ở trên, trong Dashboard chỗ Swap Disk Image bạn chọn Edit để Resize lại Swap, trong trang này bạn sẽ thấy dung lượng Swap Max cho phép là 8192 MB.
– Nhớ khi Building thì trạng thái của Server là OFF làm xong tất cả thì Boot lại.
– Chúc bạn thành công! 🙂
– Hình minh họa:
https://i.imgur.com/krTYJHZ.png
https://i.imgur.com/Vym8vXV.png
https://i.imgur.com/SplW7TL.png
Thảo nào mình loay hoay cái vị swap này mãi.
Hôm trước mình set swap 1024kb thành công
Song hôm nay muốn nâng lên 2048kb nhưng khi
thực hiện lệnh swapoff /swapfile
thì nó báo lỗi
swapoff: /swapfile: swapoff failed: Cannot allocate memory
Bạn dùng VPS ở bên nào thế? Dung lượng ổ cứng vẫn ok chứ?
Mình dùng của Vultr, ổ cứng vẫn dư 9gb lận.
Kì lạ nhỉ, mình test bài này trên Vultr cẩn thận đều ok.
Luân ơi cho mình hỏi, VPS của mình là 1G thì có nên swap lên 2G không hay chỉ cần swap 1G nữa thôi,
Với lại mình sử dụng lệnh này : sysctl vm.swappiness=10
thì nó báo lỗi này: error: permission denied on key ‘vm.swappiness’
Thực hiện đến bước này thì bị thế, kiểm tra lại swap thì :cat /proc/sys/vm/swappiness
60.
thì khắc phục thế nào Luân?
Cảm ơn nhiều
Lỗi chỉnh vm.swappiness kia mình cũng không rõ rồi. Mình thì thường chỉ dùng Swap 1GB thôi, không muốn phụ thuộc nhiều quá vào cái này. Khi thiếu RAM thì tăng thêm RAM.