Đối với hầu hết các nhiệm vụ lập trình, kích thước trang không liên quan. Tuy nhiên, nếu bạn đang phân bổ một lượng lớn bộ nhớ, xử lý các thành phần được tối ưu hoá cao, giao tiếp trực tiếp với hạt nhân hoặc thực hiện nhiều thao tác xử lý tệp, thì việc chuyển đổi của Android sang kích thước trang 16 KB có thể thêm các điểm cần cân nhắc vào bản phân tích hiệu suất của bạn. Tài liệu này nêu bật một số cách kích thước trang thay đổi hiệu suất.
Phát hiện vấn đề về bộ nhớ
Khi bạn phân bổ bộ nhớ bằng mmap
, hãy đảm bảo rằng bạn luôn truyền một đối số là bội số của kích thước trang. Nếu bạn yêu cầu 4096
byte trên một hệ thống có kích thước trang là 16 KB, thì nhân sẽ phân bổ 16 KB
, lãng phí 12 KB
dung lượng. Việc xem /proc/maps
, /proc/smaps
(hoặc sử dụng công cụ Android showmap
để in không gian bị lãng phí một cách hiệu quả) hoặc kiểm tra strace
của quy trình có thể giúp phát hiện những vấn đề này.
Phát hiện vấn đề về dung lượng ổ đĩa
Các thiết bị chạy trên Android 15 trở lên có tệp ELF được căn chỉnh 16 KB theo mặc định và nhiều ứng dụng cũng được căn chỉnh 16 KB. Bất kể hệ thống nào, nhiều tệp đã tăng khoảng đệm. Để xem kích thước thực trên ổ đĩa, bạn có thể sử dụng du <my file>
để xem một tệp có kích thước bao nhiêu kilobyte. Để xem kích thước hiển thị của một tệp, bạn có thể sử dụng du -b <my file>
. Hàm này sẽ cho bạn biết kích thước tính bằng byte. Khi kích thước hiển thị lớn hơn kích thước thực, điều này thường có nghĩa là tệp đã được nén hoặc có các vùng thưa thớt. Khi kích thước hiển thị nhỏ hơn kích thước thực, tệp có thể có thêm siêu dữ liệu hoặc có thể bị phân tách trên đĩa. Bằng cách sử dụng các bước kiểm tra này, bạn có thể phân tích kích thước thực của các tệp trên ổ đĩa.