SWAP là gì các bạn có thể đọc tại chủ đề trước đây của tôi để biết thêm về SWAP và ZRAM
Tạo SWAP trên phân vùng Cache Data System . Như bài viết trước tôi đã hướng dẫn các bạn tạo swap bộ nhớ ram trên thẻ nhớ tuy nhiên dùng thẻ nhớ sẽ cho tốc độ chậm dẫn đến viêc các bạn chơi game rất hay treo máy và làm chậm hệ thống Hôm nay tôi sẽ hướng dẫn các bạn cách tạo swap trên bộ nhớ máy và trên các phân vùng Cache Data System ....
Bài viết hướng dẫn trên máy Q-smart S20
Q-smart S20 có 341 MB RAM và 4 GB bộ nhớ eMMC nội bộ ( ROM ) . Bộ nhớ eMMC này lại được chia thành nhiều phân vùng (ví dụ như /system , /boot, /data, /cache).
Thời gian trước đây ( android 2.3 trở về trước ) phân cùng /cache được sử dụng làm bộ nhớ đệm cho máy nhưng cho đến Ngày nay trong từ ICS trở nên thì các các ứng dụng đã sử dụng phân vùng /data để lưu trữ thư viện và các dữ liệu bộ nhớ cache. Vì vậy /cache hiện tại cũng chỉ để dùng mỗi việc lưu vài cái file log ví dụ 4ext-log . recovery log ... và chúng chẳng quan trong cũng như không sử dụng nhiều mb ( lớn nhất cũng chỉ đến 10mb ) . vì thế sử dụng /cache để tạo swap là rất hữu ích ( đa số các máy ROM 4GB thường để /cache là 512MB quá phí phạm nếu không dùng vào việc gì đó)
- Trong system q-smart s20 có ~ 512mb và chứa hệ điều hành ở đây tuy nhiên máy tôi đang dùng rom đã xóa bớt khá nhiều và trống khoảng 200mb
- Trong /data là 2GB ở đây có mà tha hồ tạo swap 
- Bộ nhớ lưu trữ điện thoạiQsmart -s20 và một số máy sử dụng bộ nhớ EMMC thường để tên là emmc hoặc sdcard2 đây cũng là thuộc bộ nhớ rom 4GB dùng chíp flash EMMC . Thông thường là 2gb , 1gb ... tùy theo từng hãng ( q-smart s20 = 1GB ) . tha hồ tạo swap rồi nhé
NHIỀU NGƯỜI SẼ SỢ LÀM HỎNG BỘ NHỚ FLASH (MTD , eMMC ) CỦA ĐIỆN THOẠI ?
Nếu bạn cho rằng sợ đọc ghi dữ liệu quá nhiều sẽ làm hỏng hoặc gây hại cho mộ nhớ trong cho điện thoại của ban thì đừng làm theo . Theo tôi , tôi sẽ không sợ điều này , bởi vì bình thường trên android cũng thường xuyên diễn ra đọc và ghi dữ liệu liên tục trong hệ thống trên các phân vùng trên rồi ( data / cache / ... ) và đây là thiết kế trong android và chúng ta không sợ gì hết
HƯỚNG DẪN TẠO SWAP TRÊN CÁC PHÂN VÙNG HỆ THỐNG
Có nhiều cách để tạo ra swap trên phân vùng hệ thống và sau đây tôi chỉ ra 2 phương pháp mà theo tôi thấy tốt nhất
1 . Sử dụng phần mềm swapper 2 trên Google Play và tạo swapfile.swp
Các bạn chỉ cần set swapsize và swap place như hướng dẫn trong bài trước nhưng điều khác biệt ở đây là swap place các bạn chọn đến phân vùng trong hệ thống ví dụ /cache , /data , /system , /emmc ...
[ATTACH=full]10375[/ATTACH]
Hình ảnh trên s20
Và sau đó bật ON để phân mềm tạo ra swapfile.swp trên phân vùng /cache hoăc chỗ nào đó bạn setup . hãy kiểm tra dung lượng các phân vùng và thấy chỗ nào hợp lý nhất thì tạo ở đó .
2 . TẠO SWAP TRÊN PHÂN VÙNG HỆ THỐNG NHIỀU TÙY CHỌN NÂNG CAO
Đây là một mod rất tuyệt với và được một TEAM bên diễn đàn XDA phát triển
chủ đề gốc tại đây
Các bạn có thể tạo nhiều file swap.img trên nhiều phân vùng cùng lúc
Ví dụ tôi tạo môt file swap.img trên /cache tuy nhiên tôi thấy máy vẫn thiếu ram và tôi tạo thêm một file swap.img nữa trong phân vùng /data hoặc /system ..
Các cài đặt các bạn có thể download các mod của họ và cài qua recovery CWM nếu máy của bạn có trong danh sách trong chủ đề của họ
Các máy có trong đó
Tuy nhiên s20 mà tôi đang dùng không có tron danh sách kia vì vậy tôi sẽ download mod đó về và lấy file của họ cho vào thư mục /system/etc/init.d và set permission cho nó và khởi động lại là tôi đã thành công
Tất cả các file script init.d để tạo swap mình đã trích ra và up riêng ra để các bạn nào không có trong list trên có thể dùng
Chú ý là mỗi một thư mục phân vùng có các file dung lượng tạo swap khác nhau
Ví dụ tôi muốn tạo swap trên phân vùng /cache của máy tôi với dung lượng là 100mb thì tôi sẽ lấy file 98swap_cache_v300 trong cache/100/etc/init.d/ (vừa download về ý )
Tương tự nếu muốn làm ở trên các phân vùng khác
Để tắt swap dùng Android Terminal gõ
[CODE]su
swapoff /cache/swap/swap.img [/CODE]
Để mở swap
[CODE]su
swapon /cache/swap/swap.img [/CODE]
Tương tự các file khác
Có thể tắt mở bằng cách chmod ( set permission ) các file trong init.d
Tắt swap
[CODE]cd /etc/init.d
chmod 644 98swap_cache_v300[/CODE]
Mở swap
[CODE]cd /etc/init.d
chmod 755 98swap_cache_v300[/CODE]
Các file khác tương tự và khởi động lại máy
Credits : delta-roh and Harbir 2013 for XDA forum
CHỈNH THÔNG SỐ 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 ANDROID ( 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
[CODE]echo 10 > /proc/sys/vm/swappiness[/CODE]
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 tạo một file script cho vào trong init.d với nội dung
[CODE]#!/system/bin/sh
echo 10 > /proc/sys/vm/swappiness[/CODE]
và chmod 0777
CHÚ Ý CÁC MÁY DÙNG DÙNG BỘ NHỚ MTD hãy đọc #6 ( đây là một cách khác cho MTD devices )
NGOÀI 2 CÁCH TRÊN NẾU BẠN NÀO CÓ PHẦN MỀM RAM EXPANDER BẢN MỚI NHẤT CŨNG CÓ TÍNH NĂNG TẠO SWAP FILE TRÊN PHÂN VÙNG EMMC RẤT TUYỆT VỜI VÀ NHANH GỌN
THAM KHẢO THÊM CÁC CHỦ ĐỀ SAU ĐÂY
Hướng Dẫn Cài Swapit
Hướng dẫn tạo Swap, Zram
Bài viết được Gocmobile.Net tổng hợp từ kiến thức bản thân và có trích dẫn nguồn bài viết và thank to delta-roh and Harbir 2013 forum XDA
Hãy để lại nguồn bài viết nếu muốn copy chia sẻ nhé

