- SWAP là gì ? ( Nhiều người hay gọi là RAM ẢO nhưng ko phải ảo đâu )
Swap ( trao đổi ) ram với Bộ nhớ ram của máy , và swap dùng ổ cứng với một phân vùng trên là linux swap .
swap sẽ cho tốt độ chậm vì vậy bạn cần sử dụng ổ cứng có tốc độ đọc và ghi cao . Mình khuyên các bạn hãy sử dụng các VPS có sử dụng ổ cứng SSD để tạo SWAP , mình đã thử nghiệm trên VPS của http://digitalocean.com và thấy swap chạy khá nhanh , rất dễ hiểu vì digitalocean là SSD
- Tạo swap bằng các lệnh sau đây
Kiểm tra xem đã có phân vùng linux swap nào được kích hoạt hay chưa
- Mã: Chọn tất cả
swapon -s
Nếu chưa có sẽ thấy chỉ thấy như sau
- Mã: Chọn tất cả
Filename Type Size Used Priority
Tiếp tục tạo ra file swap
- Mã: Chọn tất cả
dd if=/dev/zero of=/swapfile bs=1024 count=1024k
ở đây tôi tạo ra file swap là 1024MB , bạn cho thể tạo file 512mb nếu bạn muốn và thay bằng 512k
Make linux swap
- Mã: Chọn tất cả
mkswap /swapfile
Thành công sẽ thấy hiện như sau
- Mã: Chọn tất cả
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=257be8d9-54ee-4cc2-962d-cdadeadba1f4
Kích hoạt swap
- Mã: Chọn tất cả
swapon /swapfile
Bây giờ ban hãy kiểm tra xem phân vùng linux swap đã hoạt động hay chưa
- Mã: Chọn tất cả
swapon -s
Kết quả như dưới là đã ok
- Mã: Chọn tất cả
Filename Type Size Used Priority
/swapfile file 1048568 0 -1
Để mỗi lần reboot lại VPS thì mặc định swap sẽ bật thì các ban làm như sau
Chỉnh sửa file /etc/fstab
- Mã: Chọn tất cả
nano /etc/fstab
Thêm vào cuối
- Mã: Chọn tất cả
/swapfile none swap sw 0 0
Sau đó lưu lại
Set permissions cho swapfile
- Mã: Chọn tất cả
chown root:root /swapfile
chmod 0600 /swapfile
Bây giờ thì bạn đã có thêm 1GB ram nữa rồi nhé
Gõ lệnh free để biết thông số swap ram
2. CHỈNH SWAPPINESS
Swappiness là gì ?
Chi tiết WIKI
Có rất nhiều tranh cải về việc tối ưu hệ thống Linux liên quan đến Swappiness. Ngay cả các nhà phát triển Linux cũng không đồng y về tham số Swappiness nào là tối ưu.
Giá trị swappiness điều khiển xu hướng trao đổi (swap) thông tin của kernel từ RAM và ổ cứng, Swappiness chấp nhận một giá trị trong khoảng từ 0 đến 100.
Giá trị mặc định của swappiness được thiết lâp ở giá trị là 60. Nếu bạn cảm thấy quá trình trao đổi thông tin giữa nhân Linux ( kernel ) và RAM hay ổ cứng không đạt đến giá trị đó, bạn có thể giảm thông số của swappiness lên hoặc xuống theo ý của bạn
Nói tóm lại thống số Swappiness để chỉ định mức độ ưu tiên của swap
swappiness = 0 - có nghĩ là swap chỉ sử dụng thì RAM vật lý bị tràn ( hết ram )
swappiness = 10 - Có nghĩa là nếu RAM vật lý còn 10% thì hệ thống sẽ dùng đến swap
swappiness = 60 - Mặc định
swappiness = 100 - Swap sẽ hoạt động hết mình . ưu tiên như là ram thật ( máy sẽ làm việc vất vả hơn)
Để chỉnh thông số swappiness ta dùng lệnh
- Mã: Chọn tất cả
echo 20 > /proc/sys/vm/swappiness
Tuy nhiên thông số này sẽ về mặc định là 60 khi ta khởi động lại máy
Để cho thông số luôn thay đổi khi khởi động lại máy chúng ta cần gõ lệnh sau
- Mã: Chọn tất cả
echo "vm.swappiness=20" | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Gía trị tôi đặt là 10 còn các bạn tùy nhé
cat /proc/sys/vm/swappiness để kiểm tra
Đã thử nghiệm trên VPS SSD của http://digitalocean.com
Chúc các bạn thành công
3. THAM KHẢO THÊM: http://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/
4. NGUỒN: daivietpda.vn