Mengoptimalkan ukuran halaman 16 KB

Untuk sebagian besar tugas pemrograman, ukuran halaman tidak relevan. Namun, jika Anda mengalokasikan memori dalam jumlah besar, mengerjakan komponen yang dioptimalkan secara maksimal, berinteraksi langsung dengan kernel, atau melakukan manipulasi file dalam jumlah besar, transisi Android ke ukuran halaman 16 KB dapat menambahkan pertimbangan ke analisis performa Anda. Dokumen ini menyoroti beberapa cara ukuran halaman mengubah dinamika performa.

Mendeteksi masalah memori

Saat mengalokasikan memori dengan mmap, pastikan Anda selalu meneruskan argumen yang merupakan kelipatan ukuran halaman. Jika Anda meminta 4096 byte pada sistem dengan ukuran halaman 16 KB, kernel akan mengalokasikan 16 KB, sehingga membuang ruang 12 KB. Melihat /proc/maps, /proc/smaps (atau menggunakan alat Android showmap yang mencetak ruang yang terbuang dengan baik), atau memeriksa strace proses Anda dapat membantu mendeteksinya.

Mendeteksi masalah kapasitas disk

Perangkat yang diluncurkan di Android 15 dan yang lebih baru memiliki ELF yang diselaraskan 16 KB secara default, dan banyak aplikasi juga diselaraskan 16 KB. Apa pun sistemnya, banyak file yang memiliki padding yang lebih besar. Untuk melihat ukuran sebenarnya di disk, Anda dapat menggunakan du <my file> untuk melihat jumlah kilobyte yang digunakan file. Untuk melihat ukuran file yang terlihat, Anda dapat menggunakan du -b <my file>, yang menampilkan ukuran dalam byte. Jika ukuran yang terlihat lebih besar dari ukuran sebenarnya, ini biasanya berarti file dikompresi atau memiliki region yang jarang. Jika ukuran yang terlihat lebih kecil dari ukuran sebenarnya, file tersebut kemungkinan memiliki metadata tambahan atau mungkin dibagi di disk. Dengan pemeriksaan ini, Anda dapat menganalisis ukuran sebenarnya dari file di disk.