اندازه صفحه را دریافت کنید

این صفحه راه های مختلف برای دریافت اندازه صفحه هسته مورد استفاده در دستگاه را فهرست می کند. برای اتصال به دستگاه می توانید از adb استفاده کنید.

$ adb shell

از دستور getconf استفاده کنید

از دستور getconf برای دریافت اندازه صفحه استفاده کنید که به صورت زیر نشان داده شده است:

$ getconf PAGE_SIZE
4096

از فایل کاذب /proc/<pid>/smaps استفاده کنید

فیلد KernelPageSize در فایل کاذب /proc/<pid>/smaps اندازه صفحه را به صورت زیر نشان می دهد:

$ grep KernelPageSize /proc/1/smaps
KernelPageSize:        4 kB

از پرچم پیوند دهنده LD_SHOW_AUXV=1 استفاده کنید

از پرچم LD_SHOW_AUXV برای چاپ بردار کمکی برنامه ای که در شرف اجراست استفاده کنید. فیلد AT_PAGESZ شامل اندازه صفحه است که به صورت زیر نشان داده شده است:

$ 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

از فایل کاذب /proc/config.gz استفاده کنید

پیکربندی هسته را برای اندازه صفحه در فایل شبه /proc/config.gz بررسی کنید. تنظیمات ممکن برای اندازه صفحه عبارتند از:

  • CONFIG_ARM64_4K_PAGES=y : هسته از صفحات 4096 بایتی استفاده می کند.
  • CONFIG_ARM64_16K_PAGES=y : هسته از صفحات 16384 بایتی استفاده می کند.
  • CONFIG_ARM64_64K_PAGES=y : هسته از صفحات 65536 بایتی استفاده می کند.
$ zcat /proc/config.gz | grep "CONFIG_ARM64_[164K]*_PAGES=y"
CONFIG_ARM64_16K_PAGES=y

از بردار کمکی استفاده کنید

هنگامی که یک برنامه اجرا می شود، هسته بردار کمکی را با اطلاعاتی مانند اندازه صفحه که توسط پیوند دهنده پویا استفاده می شود، اختصاص داده و مقداردهی اولیه می کند. وکتور کمکی را می توان از فایل شبه /proc/<pid>/auxv خواند. اندازه صفحه از بردار کمکی فرآیند 1 را می توان به صورت زیر نشان داد:

$ od -N8 -j56 -td8 -An /proc/1/auxv
4096

جایی که:

  • od فایل‌ها را در قالب‌های هگزادسیمال، اعشاری یا سایر فرمت‌ها تخلیه می‌کند.
  • -N8 -j56 8 بایت را که از آفست 56 شروع می شود در فایل، مربوط به AT_PAGESZ تخلیه می کند.
  • -td8 مقدار را به صورت یک عدد صحیح اعشاری 8 بایتی فرمت می کند.
  • -An باعث می شود فقط مقدار نشان داده شود، نه آدرس آن.