पृष्ठ का आकार प्राप्त करें

यह पृष्ठ डिवाइस में प्रयुक्त कर्नेल पृष्ठ आकार प्राप्त करने के विभिन्न तरीकों को सूचीबद्ध करता है। डिवाइस से कनेक्ट करने के लिए, आप adb उपयोग कर सकते हैं।

$ adb shell

getconf कमांड का उपयोग करें

पृष्ठ का आकार प्राप्त करने के लिए getconf कमांड का उपयोग करें, जो इस प्रकार दिखाया गया है:

$ getconf PAGE_SIZE
4096

/proc/<pid>/smaps छद्म फ़ाइल का उपयोग करें

छद्म फ़ाइल /proc/<pid>/smaps में KernelPageSize फ़ील्ड पृष्ठ का आकार दिखाता है, जिसे निम्नानुसार दिखाया गया है:

$ 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 ऑफसेट 56 से शुरू होने वाले 8 बाइट्स को AT_PAGESZ के अनुरूप फ़ाइल में डंप करता है।
  • -td8 मान को दशमलव 8-बाइट पूर्णांक के रूप में स्वरूपित करता है।
  • -An कारण केवल मान दिखाया जाता है, उसका पता नहीं।