Cập nhật ngày 11/05/2022

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