Cette page répertorie les différentes manières d'obtenir la taille de page du noyau utilisée dans le périphérique. Pour vous connecter à l'appareil, vous pouvez utiliser adb
.
$ adb shell
Utilisez la commande getconf
Utilisez la commande getconf
pour obtenir la taille de la page, affichée comme suit :
$ getconf PAGE_SIZE
4096
Utilisez le pseudo-fichier /proc/<pid>/smaps
Le champ KernelPageSize
dans le pseudo-fichier /proc/<pid>/smaps
affiche la taille de la page, comme suit :
$ grep KernelPageSize /proc/1/smaps
KernelPageSize: 4 kB
Utilisez l'indicateur de l'éditeur de liens LD_SHOW_AUXV=1
Utilisez l'indicateur LD_SHOW_AUXV
pour imprimer le vecteur auxiliaire du programme qui est sur le point d'être exécuté. Le champ AT_PAGESZ
contient la taille de la page, affichée comme suit :
$ LD_SHOW_AUXV=1 ls
AT_SYSINFO_EHDR 0x7250460000
AT_MINSIGSTKSZ 4720
AT_HWCAP 0b11111111111111111111111111111111
AT_PAGESZ 4096
AT_CLKTCK 100
AT_PHDR 0x5fda1e0040
AT_PHENT 56
AT_PHNUM 12
AT_BASE 0x72502f8000
AT_FLAGS 0
AT_ENTRY 0x5fda210000
AT_UID 0
AT_EUID 0
AT_GID 0
AT_EGID 0
AT_SECURE 0
AT_RANDOM 0x7fc59d66f8
AT_HWCAP2 0b100011001111111111
AT_EXECFN "/system/bin/ls"
AT_PLATFORM "aarch64"
data dev. init vendor
Utilisez le pseudo-fichier /proc/config.gz
Vérifiez la configuration du noyau pour la taille de la page dans le pseudo-fichier /proc/config.gz
. Les configurations possibles pour la taille de la page sont :
-
CONFIG_ARM64_4K_PAGES=y
: le noyau utilise des pages de 4096 octets. -
CONFIG_ARM64_16K_PAGES=y
: le noyau utilise des pages de 16384 octets. -
CONFIG_ARM64_64K_PAGES=y
: le noyau utilise des pages de 65536 octets.
$ zcat /proc/config.gz | grep "CONFIG_ARM64_[164K]*_PAGES=y"
CONFIG_ARM64_16K_PAGES=y
Utilisez le vecteur auxiliaire
Lorsqu'un programme est exécuté, le noyau alloue et initialise le vecteur auxiliaire avec des informations, telles que la taille de la page, qui sont utilisées par l'éditeur de liens dynamique. Le vecteur auxiliaire peut être lu à partir du pseudo-fichier /proc/<pid>/auxv
. La taille de page du vecteur auxiliaire du processus 1 peut être affichée comme suit :
$ od -N8 -j56 -td8 -An /proc/1/auxv
4096
Où:
-
od
sauvegarde les fichiers au format hexadécimal, décimal ou autre. -
-N8 -j56
vide les 8 octets commençant au décalage 56 dans le fichier, correspondant àAT_PAGESZ
. -
-td8
formate la valeur sous forme d'entier décimal de 8 octets. -
-An
provoque l'affichage uniquement de la valeur, pas de son adresse.