Swap RAM là gì?
Nôm na là dùng bộ nhớ máy làm RAM, khắc phục tạm thời cho các máy thiếu RAM.
Điều kiện thực hiện
- Máy đã root
- Đã cài Busybox
- Kernel phải hỗ trợ Swap
- Máy đã cài Terminal Emulator (mình sẽ dùng TE cho ngắn nhé). Các bạn có thể dùng Termux
Tiến hành
Tất cả các thao tác dưới đây đều cần quyền su
Để kiểm tra Kernel có hỗ trợ Swap không ta vào TE nhập lệnh:
su swapon
Nếu trả về: swapon : not found có nghĩa là không hỗ trợ Swap.
Nếu Kernel có hỗ trợ thì ta tiếp tục nhập lệnh:
dd if=/dev/zero of=[đường dẫn file swap] bs=1048576 count=[dung lượng file swap] mkswap [đường dẫn file swap]
Ví dụ ở đây mình sẽ tạo file Swap vào bộ nhớ máy, đường dẫn file sẽ là /data/swap.img, và dung lượng file swap của mình là 1000 MB
dd if=/dev/zero of=/data/swap.img bs=1048576 count=1000 mkswap /data/swap.img
Khi tạo file swap.img trong thư mục bạn chọn, lâu hay nhanh tùy vào kích thước bạn tạo. Nhưng chỉ cần đợi đến khi máy trả về dấu # là xong.
Sau khi tạo file swap xong, bạn có 2 lệnh cơ bản để thao tác với nó:
# bật swap swapon [đường dẫn file swap] # tắt swap swapoff [đường dẫn file swap] # Ví dụ swapon /data/swap.img
Để kiểm tra dung lượng Swap ta dùng lệnh:
free -m
- Dòng swap là dung lượng Swap đang sử dụng gồm (Total – used – free), đơn vị MB. Nếu 3 cột Swap đều bằng 0 tức là Swap chưa hoạt động.
Để điều chỉnh swapiness ta dùng lệnh:
sysctl -w vm.swappiness=60
60 là giá trị của Swapiness
Tác hại
- Nó vô hại
Lưu ý
- Muốn xóa file swap.img thì phải tắt chức năng swap.
- Swap không tự chạy mỗi khi reboot
- Nếu chọn thẻ nhớ làm nơi Swap thì phải chọn thẻ có class 10 trở lên để hoạt động ổn định, chứ thẻ nhớ chậm thì máy cũng chậm
- Đôi khi máy chậm vì tốc độ truy xuất dữ liệu ở bộ nhớ (nhất là thẻ nhớ) không nhanh bằng RAM.
- Bạn phải swapoff (tắt swap) trước khi muốn cắm cap vào máy để chép file. Còn nếu lỡ quên tắt thì bạn phải reboot máy để nhận thẻ nhớ trở lại.
P/S
Sau khi dùng swap, mình đã thêm các dòng này vào file /system/build.prop. Đảm bảo dùng lâu vẫn không bị lag
dalvik.vm.execution-mode=int:fast dalvik.vm.verify-bytecode=true dalvik.vm.enableassertions=all dalvik.vm.dexopt-flags=m=v,o=y
- Reboot máy sau khi chỉnh sửa để áp dụng
- Nhớ backup file build.prop trước khi chỉnh sửa
Chúc các bạn thành công