āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§‡āĻœā§‡āĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻāĻŦāĻ‚ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻž

āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§‡āĻœā§‡āĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻāĻŦāĻ‚ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻž

āĻ•ā§‹āĻ°ā§āĻ¸ āĻ›āĻžāĻ¤ā§āĻ°āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡āĻ° āĻ…āĻ¨ā§āĻŦāĻžāĻĻ "āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻĒā§āĻ°āĻļāĻžāĻ¸āĻ•".

āĻĒā§‚āĻ°ā§āĻŦā§‡, āĻ†āĻŽāĻŋ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§‡āĻœāĻ—ā§āĻ˛āĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻāĻŦāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽāĨ¤
āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻ¤āĻ–āĻ¨āĻ‡ āĻ‰āĻĒāĻ¯ā§‹āĻ—ā§€ āĻšāĻŦā§‡ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻžāĻ¯āĻŧāĻ—āĻž āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻāĻŽāĻ¨ āĻ…āĻ¨ā§‡āĻ• āĻ˛ā§‹āĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¯āĻžāĻ°āĻž āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§‡āĻœāĻ—ā§āĻ˛āĻŋ āĻœāĻžāĻĻā§āĻ•āĻ°ā§€āĻ­āĻžāĻŦā§‡ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨āĻļā§€āĻ˛āĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻŦā§‡ āĻāĻŽāĻ¨ āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§‹āĻ•āĻž āĻŦāĻžāĻ¨āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§‡āĻœāĻŋāĻ‚ āĻāĻ•āĻŸāĻŋ āĻœāĻŸāĻŋāĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ­ā§āĻ˛āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻšā§āĻ°āĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻĒāĻžāĻ°ā§āĻŸ 1: āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻž āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻž (āĻŽā§‚āĻ˛ āĻāĻ–āĻžāĻ¨ā§‡)

āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž:
āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ HugePages āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻ†āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨:
āĻāĻŸāĻž āĻŦā§‡āĻļ āĻ¸āĻšāĻœ:

cat /sys/kernel/mm/transparent_hugepage/enabled

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻŽāĻ¤ āĻ•āĻŋāĻ›ā§ āĻĒāĻžāĻŦā§‡āĻ¨:

always [madvise] never

āĻ†āĻĒāĻ¨āĻŋ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨ (āĻ¸āĻ°ā§āĻŦāĻĻāĻž, āĻĒāĻžāĻ—āĻ˛āĻžāĻŽā§€, āĻ•āĻ–āĻ¨āĻ‡ āĻ¨āĻž), āĻāĻŦāĻ‚ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻŦāĻ¨ā§āĻ§āĻ¨ā§€āĻ¤ā§‡ āĻ†āĻŦāĻĻā§āĻ§ āĻĨāĻžāĻ•āĻŦā§‡ (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻĒāĻžāĻ—āĻ˛ āĻ•āĻ°āĻž).

āĻĒāĻžāĻ—āĻ˛ āĻ•āĻ°āĻž āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ transparent hugepages āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽā§‡āĻŽāĻ°āĻŋ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•āĻ°ā§‡ āĻĒāĻžāĻ—āĻ˛ āĻ•āĻ°āĻž (2).

āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ transparent hugepages āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻŦ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ. āĻāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ…āĻ˛ā§āĻĒ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ—ā§āĻ°āĻžāĻ¸ āĻ•āĻ°āĻ›ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻ˛ā§‹āĻĄ āĻ¨āĻžāĻŸāĻ•ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ¨āĻž āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ transparent hugepages madvise āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡āĻ“ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻ†āĻ°ā§‹ āĻœāĻžāĻ¨āĻ¤ā§‡, āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛āĨ¤

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻŋāĻ­āĻžāĻŦā§‡

āĻ…āĻĒāĻļāĻ¨ 1: āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ sysfs (āĻ°āĻŋāĻŦā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻŸāĻŋ āĻ¤āĻžāĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨āĻ¤ā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻŦā§‡):

echo always >/sys/kernel/mm/transparent_hugepage/enabled
echo madvise >/sys/kernel/mm/transparent_hugepage/enabled
echo never >/sys/kernel/mm/transparent_hugepage/enabled

āĻ…āĻĒāĻļāĻ¨ 2: āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨ (āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ˛ā§‡āĻ‡ āĻāĻ‡ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ):

  • āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨:
    CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
    # Comment out CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
  • āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ madvise āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨:
    CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
    # Comment out CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y

āĻĒāĻžāĻ°ā§āĻŸ 2: āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§‡āĻœā§‡āĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻāĻŦāĻ‚ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻž

āĻ†āĻŽāĻ°āĻž Hugepages āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž, āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ•ā§āĻˇāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻŦā§‡āĻ›ā§‡ āĻŦā§‡āĻ›ā§‡ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦāĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻœāĻŸāĻŋāĻ˛ āĻāĻŦāĻ‚ āĻļāĻŋāĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻāĻŽāĻ¨ āĻ˛ā§‹āĻ•ā§‡āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‹āĻāĻž āĻ•āĻ āĻŋāĻ¨ āĻšāĻŦā§‡ āĻ¯āĻžāĻ°āĻž āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒāĻžāĻ¤āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻˇā§‡āĻ§āĻ• āĻ­ā§‡āĻŦā§‡ āĻŦāĻŋāĻ­ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĻ¨, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻŋ āĻ¸āĻ°āĻ˛āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ­ā§āĻ˛āĻ¤āĻž āĻ¤ā§āĻ¯āĻžāĻ— āĻ•āĻ°āĻŦāĨ¤ āĻāĻŸāĻž āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻž āĻŽā§‚āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨ āĻ¯ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻœāĻŸāĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ‡ āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻ°āĻ˛ā§€āĻ•ā§ƒāĻ¤āĨ¤

āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻšāĻžāĻ˛āĻŋāĻ¤ 64-āĻŦāĻŋāĻŸ x86 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻ›āĻŋ, āĻāĻŦāĻ‚ āĻ†āĻŽāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻ§āĻ°ā§‡ āĻ¨āĻŋāĻšā§āĻ›āĻŋ āĻ¯ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ¸ā§āĻŦāĻšā§āĻ› āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡ (āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻŸāĻŋ āĻ•ā§‹āĻ¨āĻ“ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¨āĻ¯āĻŧ āĻ¯ā§‡ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž), āĻ¯ā§‡āĻŽāĻ¨āĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ•ā§‹āĻ¨āĻ“ āĻ†āĻ§ā§āĻ¨āĻŋāĻ• āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻšāĻ¯āĻŧāĨ¤ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ

āĻ†āĻŽāĻŋ āĻ¨ā§€āĻšā§‡āĻ° āĻ˛āĻŋāĻ™ā§āĻ•āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ†āĻ°āĻ“ āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦāĨ¤

āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ¸ā§āĻŽā§ƒāĻ¤āĻŋ

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ•āĻœāĻ¨ C++ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻžāĻ° āĻšāĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ¯ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻĨāĻžāĻ•āĻž āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ āĻŋāĻ•āĻžāĻ¨āĻž (āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻŽāĻžāĻ¨) āĻ†āĻ›ā§‡āĨ¤

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻāĻ‡ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ—ā§āĻ˛āĻŋ āĻ…āĻ—āĻ¤ā§āĻ¯āĻž āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ (RAM āĻ āĻŋāĻ•āĻžāĻ¨āĻž) āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ¤āĻžāĻ°āĻž āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ MMU (āĻŽā§‡āĻŽāĻ°āĻŋ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻŽā§‡āĻ¨ā§āĻŸ āĻ‡āĻ‰āĻ¨āĻŋāĻŸ) āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŽā§āĻ¯āĻžāĻĒ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡āĨ¤

āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ…āĻ¨ā§‡āĻ• āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ†āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ˛:

  • āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž (āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ•āĻžāĻ°āĻŖā§‡);
  • āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ†āĻ‡āĻ¸ā§‹āĻ˛ā§‡āĻļāĻ¨, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ•ā§‹āĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ…āĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻŽā§‡āĻŽāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻžāĨ¤

āĻĒā§‡āĻœ āĻ•āĻŋ?

āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻĒā§ƒāĻˇā§āĻ āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡, āĻāĻŸāĻŋ RAM-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ˛āĻžāĻ•āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻŦāĻž āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻ•āĻžāĻ°ā§āĻĄā§‡āĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻŸāĻŋ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‹āĻ•āĻžāĻŦāĻŋāĻ˛āĻž āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻžāĻ° āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ—āĻ‡ āĻšāĻ¯āĻŧ RAM-āĻāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ āĻŦāĻž āĻ…āĻĻāĻ˛āĻŦāĻĻāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻŽāĻžāĻ¨ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻšāĻžāĻ°ā§āĻĄ āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻŦāĻž SSD-āĻ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻĨāĻžāĻ•ā§‡ā§ˇ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĒā§āĻĢāĻĄ āĻĒā§ƒāĻˇā§āĻ āĻž āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¸ā§‡āĻ‡ āĻĨā§āĻ°ā§‡āĻĄāĻŸāĻŋāĻ•ā§‡ āĻĨāĻžāĻŽāĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¯āĻž āĻŽā§‡āĻŽāĻ°āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›ā§‡, āĻšāĻžāĻ°ā§āĻĄ āĻĄā§āĻ°āĻžāĻ‡āĻ­/āĻāĻ¸āĻāĻ¸āĻĄāĻŋ āĻĨā§‡āĻ•ā§‡ āĻ°â€Œā§āĻ¯āĻžāĻŽā§‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻŸāĻŋ āĻĒāĻĄāĻŧā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĨā§āĻ°ā§‡āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻāĻ‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻ¸ā§āĻŦāĻšā§āĻ› āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ, āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻāĻŸāĻŋ HDD/SSD āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ†āĻ•āĻžāĻ° 4096 āĻŦāĻžāĻ‡āĻŸāĨ¤ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ†āĻ•āĻžāĻ° 2 āĻŽā§‡āĻ—āĻžāĻŦāĻžāĻ‡āĻŸāĨ¤

āĻ…āĻ¨ā§āĻŦāĻžāĻĻ-āĻ¸āĻšāĻ¯ā§‹āĻ—ā§€ āĻŦāĻžāĻĢāĻžāĻ° (TLB)

āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻˇā§āĻ āĻž āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡, āĻ¤āĻ–āĻ¨ āĻ¸āĻŋāĻĒāĻŋāĻ‡āĻ‰āĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻœāĻžāĻ¨āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻĢāĻŋāĻœāĻŋāĻ•ā§āĻ¯āĻžāĻ˛ āĻĒā§‡āĻœ āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻšāĻŦā§‡ (āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ° āĻ†āĻ›ā§‡)āĨ¤

āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° (āĻĒā§ƒāĻˇā§āĻ āĻž āĻŸā§‡āĻŦāĻŋāĻ˛) āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¤āĻĨā§āĻ¯ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻ‡ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ¯āĻŧ āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻĒā§ƒāĻˇā§āĻ āĻž āĻŸā§‡āĻŦāĻŋāĻ˛āĻŸāĻŋ āĻŦā§‡āĻļ āĻœāĻŸāĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ§ā§€āĻ°āĻ—āĻ¤āĻŋāĻ°, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ¯āĻ–āĻ¨āĻ‡ āĻ•ā§‹āĻ¨āĻ“ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŽā§‡āĻŽāĻ°āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡ āĻ¤āĻ–āĻ¨ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĄā§‡āĻŸāĻž āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¨āĻžāĨ¤

āĻ¸ā§ŒāĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ TLB āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻāĻŦāĻ‚ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻ•ā§āĻ¯āĻžāĻļ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¯ā§‡ āĻ¯āĻĻāĻŋāĻ“ āĻĒā§āĻ°āĻĨāĻŽ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ā§‡āĻ° āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻžāĻ¯āĻŧ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§ƒāĻˇā§āĻ āĻž āĻŸā§‡āĻŦāĻŋāĻ˛āĻŸāĻŋ āĻĒāĻžāĻ°ā§āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻĒā§ƒāĻˇā§āĻ āĻžāĻ¯āĻŧ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĻ—ā§āĻ˛āĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ TLB-āĻ¤ā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ­ā§ŒāĻ¤ ​​āĻ¯āĻ¨ā§āĻ¤ā§āĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ (āĻ¯āĻž āĻāĻŸāĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻĻā§āĻ°ā§āĻ¤ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡), āĻāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ¸ā§€āĻŽāĻŋāĻ¤āĨ¤ āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ†āĻ°āĻ“ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨, TLB āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻ•āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻŦā§‡ āĻ¨āĻž, āĻ¯āĻžāĻ° āĻĢāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻ…āĻ¨ā§‡āĻ• āĻ§ā§€āĻ° āĻ—āĻ¤āĻŋāĻ¤ā§‡ āĻšāĻ˛ā§‡āĨ¤

āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒāĻžāĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻ‰āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻ¸ā§‡

āĻ¤āĻžāĻ‡ TLB āĻ“āĻ­āĻžāĻ°āĻĢā§āĻ˛ā§‹ āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ? (āĻ†āĻŽāĻ°āĻž āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋāĻ° āĻāĻ–āĻ¨āĻ“ āĻāĻ•āĻ‡ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨)āĨ¤

āĻāĻ–āĻžāĻ¨ā§‡āĻ‡ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§‡āĻœ āĻ†āĻ¸ā§‡āĨ¤ 4096 āĻŦāĻžāĻ‡āĻŸā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ TLB āĻāĻ¨ā§āĻŸā§āĻ°āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻāĻ•āĻŸāĻŋ TLB āĻāĻ¨ā§āĻŸā§āĻ°āĻŋ āĻāĻ–āĻ¨ 2 āĻŽā§‡āĻ—āĻžāĻŦāĻžāĻ‡āĻŸāĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ§āĻ°āĻž āĻ¯āĻžāĻ• TLB-āĻ¤ā§‡ 512āĻŸāĻŋ āĻāĻ¨ā§āĻŸā§āĻ°āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻ–āĻžāĻ¨ā§‡ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻŽā§‡āĻ˛āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ:

4096 b⋅512=2 MB

āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ:

2 MB⋅512=1 GB

āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡āĻ‡ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒāĻžāĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤āĨ¤ āĻ¤āĻžāĻ°āĻž āĻ…āĻ¨ā§‡āĻ• āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻž āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨āĻļā§€āĻ˛āĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ–āĻžāĻ¨ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ†āĻ›ā§‡āĨ¤

āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒāĻžāĻ¤āĻž āĻ¸ā§āĻĒā§āĻĢāĻŋāĻ‚

āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒā§ƒāĻˇā§āĻ āĻž āĻ•āĻ¤ āĻ˜āĻ¨ āĻ˜āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻŽā§‡āĻŽāĻ°āĻŋ (RAM) āĻ¨āĻž āĻĨāĻžāĻ•āĻ˛ā§‡, āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ†āĻ°āĻ“ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ RAM āĻ–āĻžāĻ˛āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ°ā§āĻĄ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻ•āĻŽ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ (āĻ•āĻŽ āĻ˜āĻ¨ āĻ˜āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž) āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻ¨ā§‡āĻŦā§‡āĨ¤
āĻ¨ā§€āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡, āĻāĻ•āĻ‡ Hugepages āĻĒā§āĻ°āĻ¯ā§‹āĻœā§āĻ¯. āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ…āĻĻāĻ˛āĻŦāĻĻāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻĒā§ƒāĻĨāĻ• āĻŦāĻžāĻ‡āĻŸ āĻ¨āĻ¯āĻŧāĨ¤

āĻ§āĻ°āĻž āĻ¯āĻžāĻ• āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ‡āĻ°āĻ•āĻŽ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ†āĻ›ā§‡:

char* mymemory = malloc(2*1024*1024); // ВозŅŒĐŧĐĩĐŧ ŅŅ‚Đž Са ОдĐŊŅƒ Hugepage!
// ЗаĐŋĐžĐģĐŊиĐŧ mymemory ĐēĐ°ĐēиĐŧи-ĐģийО Đ´Đ°ĐŊĐŊŅ‹Đŧи
// ĐĄĐ´ĐĩĐģĐ°ĐĩĐŧ ĐŧĐŊĐžĐŗĐž Đ´Ņ€ŅƒĐŗиŅ… вĐĩŅ‰ĐĩĐš,
// ĐēĐžŅ‚ĐžŅ€Ņ‹Đĩ ĐŋŅ€Đ¸Đ˛ĐĩĐ´ŅƒŅ‚ Đē ĐŋОдĐŧĐĩĐŊĐĩ ŅŅ‚Ņ€Đ°ĐŊиŅ†Ņ‹ mymemory
// ...
// ЗаĐŋŅ€ĐžŅĐ¸Đŧ Đ´ĐžŅŅ‚ŅƒĐŋ Ņ‚ĐžĐģŅŒĐēĐž Đē ĐŋĐĩŅ€Đ˛ĐžĐŧŅƒ йаКŅ‚Ņƒ
putchar(mymemory[0]); 

āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ‡āĻŸ āĻĒāĻĄāĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛āĻŸāĻŋāĻ•ā§‡ āĻšāĻžāĻ°ā§āĻĄ āĻĄā§āĻ°āĻžāĻ‡āĻ­/āĻāĻ¸āĻāĻ¸āĻĄāĻŋ āĻĨā§‡āĻ•ā§‡ 2 āĻŽā§‡āĻ—āĻžāĻŦāĻžāĻ‡āĻŸā§‡āĻ° āĻŽāĻ¤ā§‹ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ (āĻĒāĻĄāĻŧāĻ¤ā§‡) āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻšāĻžāĻ°ā§āĻĄ āĻĄā§āĻ°āĻžāĻ‡āĻ­/āĻāĻ¸āĻāĻ¸āĻĄāĻŋ āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 4096 āĻŦāĻžāĻ‡āĻŸ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ…āĻ¤āĻāĻŦ, āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§ƒāĻˇā§āĻ āĻžāĻŸāĻŋ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻĄ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡, āĻĒā§āĻ°ā§‹ āĻĒā§ƒāĻˇā§āĻ āĻžāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ˛ā§‡ āĻāĻŸāĻŋ āĻĒāĻĄāĻŧāĻž āĻĻā§āĻ°ā§āĻ¤āĻ¤āĻ°āĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹āĻ­āĻžāĻŦā§‡ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ…āĻ‚āĻļ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻŽāĻžāĻ¤ā§āĻ° āĻ•āĻ¯āĻŧā§‡āĻ• āĻ•āĻŋāĻ˛ā§‹āĻŦāĻžāĻ‡āĻŸ āĻĒāĻĄāĻŧāĻ›ā§‡āĻ¨, āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤

āĻ…āĻ¨ā§āĻ¯āĻĻāĻŋāĻ•ā§‡, āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻ…āĻ‚āĻļ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ, āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§‡āĻœāĻ—ā§āĻ˛āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻŸāĻŋ āĻ¨āĻŋāĻœā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ (āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¨āĻ¯āĻŧ) āĻāĻŦāĻ‚ āĻĻā§‡āĻ–ā§āĻ¨ āĻ•ā§€ āĻĻā§āĻ°ā§āĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤

āĻ¸ā§āĻŽā§ƒāĻ¤āĻŋāĻ¤ā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ C āĻ˛ā§‡āĻ–ā§‡āĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§āĻ¤ā§‚āĻĒ āĻĨā§‡āĻ•ā§‡ āĻ¯āĻĨā§‡āĻšā§āĻ›āĻ­āĻžāĻŦā§‡ āĻ›ā§‹āĻŸ (āĻŦāĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ‡āĻšā§āĻ›āĻžāĻ•ā§ƒāĻ¤āĻ­āĻžāĻŦā§‡ āĻŦāĻĄāĻŧ) āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ malloc(). āĻ§āĻ°āĻž āĻ¯āĻžāĻ• āĻ†āĻĒāĻ¨āĻžāĻ° 30 āĻŦāĻžāĻ‡āĻŸ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨:

char* mymemory = malloc(30);

āĻāĻ•āĻœāĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ›ā§‡, āĻāĻŸāĻž āĻŽāĻ¨ā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĨā§‡āĻ•ā§‡ 30 āĻŦāĻžāĻ‡āĻŸ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° "āĻ…āĻ¨ā§āĻ°ā§‹āĻ§" āĻ•āĻ°āĻ›ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻšā§āĻ›ā§‡āĻ¨āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻ¸āĻ˛ā§‡ malloc () āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯āĻž āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĨā§‡āĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§‡ brk āĻāĻŦāĻ‚ sbrk āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻž āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĨā§‡āĻ•ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡.

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻ°āĻžāĻĻā§āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•āĻ°āĻž āĻ…āĻĻāĻ•ā§āĻˇ; āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ•āĻŋāĻ›ā§ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ¸ā§‡āĻ—āĻŽā§‡āĻ¨ā§āĻŸ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (free()), āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ malloc() āĻŽā§āĻ•ā§āĻ¤ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‡āĻļ āĻœāĻŸāĻŋāĻ˛ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡āĨ¤

āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ…āĻ˛āĻ•ā§āĻˇāĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ•ā§‡āĻ¨ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ‰āĻĻā§āĻŦāĻŋāĻ—ā§āĻ¨ āĻ•āĻ°āĻŦā§‡? āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻšā§āĻ¯āĻžāĻ˛ā§‡āĻžā§āĻœā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡ free() āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻāĻ‡ āĻ¨āĻ¯āĻŧ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ…āĻ—āĻ¤ā§āĻ¯āĻž āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸ā§‡.

āĻŽā§‡āĻŽāĻ°āĻŋ āĻĢā§āĻ°ā§āĻ¯āĻžāĻ—āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¯ā§‡āĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ†āĻ›ā§‡. āĻšāĻ°āĻŽ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸ā§āĻ¤ā§‚āĻĒ āĻ¸ā§‡āĻ—āĻŽā§‡āĻ¨ā§āĻŸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŦāĻžāĻ‡āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻ–āĻ¨ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (free()).

āĻĻāĻ¯āĻŧāĻž āĻ•āĻ°ā§‡ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĢā§āĻ°ā§āĻ¯āĻžāĻ—āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ…āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻœāĻŸāĻŋāĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻāĻŽāĻ¨āĻ•āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡ āĻ›ā§‹āĻŸāĻ–āĻžāĻŸā§‹ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻĢā§‡āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĢā§āĻ°ā§āĻ¯āĻžāĻ—āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡āĻ° āĻ•āĻžāĻ°āĻŖ āĻšāĻŦā§‡ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻšā§‡āĻ¤āĻ¨ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯ā§‡ āĻ¯āĻĻāĻŋ āĻ¸ā§āĻ¤ā§‚āĻĒā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻ…āĻ‚āĻļā§‡ āĻĢā§āĻ°ā§āĻ¯āĻžāĻ—āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§‡āĻœāĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ†āĻ°āĻ“ āĻ–āĻžāĻ°āĻžāĻĒ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°

āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻĒāĻĄāĻŧāĻžāĻ° āĻĒāĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻ•ā§‹āĻ¨ āĻ…āĻ‚āĻļāĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ‰āĻĒāĻ•ā§ƒāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¨āĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻžā§ˇ āĻ¤āĻžāĻ‡ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ†āĻĻā§Œ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤?

āĻ­āĻžāĻ—ā§āĻ¯āĻ•ā§āĻ°āĻŽā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ madvise()āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻ¸ā§‡āĻ‡ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§‡āĻœāĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻšāĻŦā§‡āĨ¤

āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻĻā§‡āĻ–ā§āĻ¨ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§‡āĻœāĻ—ā§āĻ˛āĻŋ madvise() āĻŽā§‹āĻĄā§‡ āĻšāĻ˛āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡āĻ° āĻļā§āĻ°ā§āĻ¤ā§‡āĨ¤

āĻ¤āĻžāĻ°āĻĒāĻ°, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ madvise()āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛āĻ•ā§‡ āĻ āĻŋāĻ• āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§‡āĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻž āĻœāĻžāĻ¨āĻžāĻ¤ā§‡āĨ¤

#include <sys/mman.h>
// АĐģĐģĐžŅ†Đ¸Ņ€ŅƒĐšŅ‚Đĩ йОĐģŅŒŅˆĐžĐĩ ĐēĐžĐģиŅ‡ĐĩŅŅ‚вО ĐŋĐ°ĐŧŅŅ‚и, ĐēĐžŅ‚ĐžŅ€ŅƒŅŽ ĐąŅƒĐ´ĐĩŅ‚Đĩ иŅĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ŅŒ
size_t size = 256*1024*1024;
char* mymemory = malloc(size);
// ПŅ€ĐžŅŅ‚Đž вĐēĐģŅŽŅ‡Đ¸Ņ‚Đĩ hugepagesâ€Ļ
madvise(mymemory, size, MADV_HUGEPAGE);
// â€Ļ и СадаКŅ‚Đĩ ŅĐģĐĩĐ´ŅƒŅŽŅ‰ĐĩĐĩ
madvise(mymemory, size, MADV_HUGEPAGE | MADV_SEQUENTIAL)

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛āĻ•ā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļāĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻāĻ‡ āĻ¨āĻ¯āĻŧ āĻ¯ā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĨ¤

āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻĒāĻĄāĻŧā§āĻ¨ (manpage) madviseāĻŽā§‡āĻŽāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻœāĻžāĻ¨āĻ¤ā§‡ āĻāĻŦāĻ‚ madvise(), āĻāĻ‡ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ…āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ–āĻžāĻĄāĻŧāĻž āĻļā§‡āĻ–āĻžāĻ° āĻŦāĻ•ā§āĻ°āĻ°ā§‡āĻ–āĻž āĻ†āĻ›ā§‡. āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋāĻ¤ā§‡ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻ­āĻžāĻ˛ āĻĒā§‡āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻ‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ• āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ†āĻļāĻž āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ• āĻ¸āĻĒā§āĻ¤āĻžāĻš āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻšāĻ¨āĨ¤

āĻ•āĻŋ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻšāĻŦā§‡?

āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ†āĻ›ā§‡? āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡ āĻ˛āĻŋāĻ–ā§āĻ¨!

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨