MEMTIER(1)

πŸ“¦ version 1.14.0, in debian bookworm, fedora 43, ubuntu noble

✨ MEMTIER ✨

okay bestie, gather round, because memtier is literally the main character of memory tiering and you're about to be obsessed πŸ’…


🌸 NAME 🌸

memtier β€” redirect malloc calls to memkind memory tiering πŸ¦‹


✨ SYNOPSIS ✨

memtier -r ratio -t thresholds program args...

πŸ’– DESCRIPTION πŸ’–

so here's the vibe: memtier runs whatever program you hand it, but it redirects memory allocations to different memory tiers based on a policy you pick. no cap. 🫢

the whole point? it lets unmodified programs run following a non-greedy allocation scheme, which avoids a performance cliff when DRAM is exhausted. like, your fave app doesn't even know it's being managed. it just vibes. πŸ‘‘


πŸŽ€ OPTIONS πŸŽ€

  • -r ratio β€” sets the ratio as a pair of integers separated by a colon. first number = the relative share of near DRAM to be used, second number = the "far" memory, whether that's CXL memory or PMEM. eg. "1:4" means 20% of allocations will use DRAM and 80% PMEM. πŸ”₯

if the ratio isn't given, it defaults to the relative share of physically installed memory. (yes, it just figures it out. iconic.)

heads up bestie: this version of memtier recognizes only two tiers β€” DRAM and KMEM_DAX. that's the whole roster. 🫑
  • -t thresholds β€” turns on DYNAMIC_THRESHOLD mode, where small allocations get served from DRAM and large ones from far memory. the syntax is described in depth in man libmemtier. eg. -t INIT_VAL=1024,MIN_VAL=512,MAX_VAL=65536 starts with a threshold of 1024, then varies it between 512..65536 attempting to match the requested ratio. πŸ’«
  • -v β€” displays settings that are passed to libmemtier. (the receipts! show them!) 🧾
  • -h β€” shows a help message then exits. the little escape hatch πŸƒβ™€οΈ

🌈 CAVEATS 🌈

ngl, this tool doesn't expose all features of libmemtier. only DRAM and KMEM_DAX memory is supported. to use FS_DAX you need to configure the library directly β€” please refer to its man page. 😭

or alternatively, you can switch that memory to KMEM_DAX mode. for that purpose, please refer to man ndctl-reconfigure-namespace and man daxctl-reconfigure-device. you got this, fr fr. 🫢


πŸ’œ SEE ALSO πŸ’œ

libmemtier(7), memkind(3), malloc(3)


Intel Corporation Β· 2022-02-21 Β· MEMTIER(1)

and that's the whole page, bestie β€” go forth and tier your memory like the icon you are πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ‘‘πŸŒˆβ­

πŸ“¦ where this page comes from