René's URL Explorer Experiment


Title: Future of `--use-largepages=on` · Issue #64408 · nodejs/node · GitHub

Open Graph Title: Future of `--use-largepages=on` · Issue #64408 · nodejs/node

X Title: Future of `--use-largepages=on` · Issue #64408 · nodejs/node

Description: This was added back in 2018, some background can be found in this issue #16198 - from what I can tell we opted into a user-land relocation to work around the fact that for most kernels in the wild, file-backed .text THP won't work out of...

Open Graph Description: This was added back in 2018, some background can be found in this issue #16198 - from what I can tell we opted into a user-land relocation to work around the fact that for most kernels in the wild,...

X Description: This was added back in 2018, some background can be found in this issue #16198 - from what I can tell we opted into a user-land relocation to work around the fact that for most kernels in the wild,...

Opengraph URL: https://github.com/nodejs/node/issues/64408

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Future of `--use-largepages=on`","articleBody":"This was added back in 2018, some background can be found in this issue https://github.com/nodejs/node/issues/16198 - from what I can tell we opted into a user-land relocation to work around the fact that for most kernels in the wild, file-backed .text THP won't work out of the box (i.e. `CONFIG_READ_ONLY_THP_FOR_FS` still isn't on in the mainstream distros most commonly deployed even in 2026, also it is [being removed](https://lwn.net/Articles/1070484/), there [are some alternatives though](https://lwn.net/Articles/1066582/))\n\nCurrently the `--use-largepages` implementation incurs two problems:\n\n1. It breaks the Node.js binary on WSL1 https://github.com/nodejs/node/issues/63735\n2. It will stop working in Node.js after we roll in https://chromium-review.googlesource.com/c/v8/v8/+/7985687\n\n2 would be tricky to deal with, it's an optimization that removed the `/proc/self/maps` parsing overhead and simply rely on address equality of the embedded blob to detect whether it's file-backed, the current method `--use-largepages` uses to relocate the text region doesn't change the address equality even though the blob is no longer file-backed after relocation, hence it will crash because `MREMAP_DONTUNMAP` will zero out non-file-backed memory.\n\nFrom what I can think of we have a few choices:\n\n1. Convince the upstream to handle the case when the embedded blob is address-equal to the default blob, but is not actually file-backed. From what I can think of this can only be implemented by re-introducing some file parsing overhead (e.g. at least `/proc/self/pagemap`) to the isolate group initialization process, defeating the optimization added in that CL.\n2. Add a flag to V8 to enforce checking the blob is file-backed via more robust measures other than address equality, then on the Node.js side, enable that flag when `--use-largepages=on`\n3. Reimplement `--use-largepages=on` by relocating the `.text` to memory backed by memfd instead of an anonymous memory, then `MREMAP_DONTUNMAP` won't zero out the memory\n\nI think 2 and 3 are probably more viable/have less downsides. But since so far it doesn't look like `--use-largepages=on` is used a lot in the wild, and the alignment in the build it needs breaks WSL1, it also raises another question: do we even want to keep maintaining it? So there's also option 4:\n\n4. Make `--use-largepages=on` a no-op (it can already be a no-op because `MADV_HUGEPAGE` is only advisory, so the feature only ever works on a best-effort basis), and deprecate it eventually.\n\nOpening an issue to see if there's any usage of this feature or if there are other ideas to deal with this. If there are real-world users of this feature it may still be worth it to do 2 or 3, but if there are none, we are probably better off deprecating it to cut the maintenance burden (that is not to say to completely say goodbye to work in this line once and for all, but it should be experimented differently other than an opt-in flag that nobody seems to be deploying).","author":{"url":"https://github.com/joyeecheung","@type":"Person","name":"joyeecheung"},"datePublished":"2026-07-10T12:18:27Z","url":"https://github.com/nodejs/node/issues/64408"}

react-profiling0
react-import-mapreact,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf
route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:4a2cdd31-501b-2c29-ca84-9f6b0d0bba02
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idDE08:1587FA:79A2CB:A23666:6AED269F
html-safe-nonced919ad5367169c09af605fdcd1ee974fb7c0f131fbef3cfc493c5f83064bd9b8
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJERTA4OjE1ODdGQTo3OUEyQ0I6QTIzNjY2OjZBRUQyNjlGIiwidmlzaXRvcl9pZCI6IjYzNTY4OTg2NjMyOTYyMTQ2ODciLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac15aacf4bfae6eed34414921e89394f5a8edd859a1928a105fb48d9244ca0dcb2
hovercard-subject-tagissue:4854906762
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/nodejs/node/64408/issue_layout
twitter:imagehttps://opengraph.githubassets.com/d5269b376b1a55ad2727b9aa20ba90782d17bb3f4dfd650960d37eed0303e2df/nodejs/node/issues/64408
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/d5269b376b1a55ad2727b9aa20ba90782d17bb3f4dfd650960d37eed0303e2df/nodejs/node/issues/64408
og:image:altThis was added back in 2018, some background can be found in this issue #16198 - from what I can tell we opted into a user-land relocation to work around the fact that for most kernels in the wild,...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamejoyeecheung
hostnamegithub.com
expected-hostnamegithub.com
None9d95365dda0576efe9b71f45807595e396bd0ca9286fba5367a05048e6ddf8f2
turbo-cache-controlno-preview
go-importgithub.com/nodejs/node git https://github.com/nodejs/node.git
octolytics-dimension-user_id9950313
octolytics-dimension-user_loginnodejs
octolytics-dimension-repository_id27193779
octolytics-dimension-repository_nwonodejs/node
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id27193779
octolytics-dimension-repository_network_root_nwonodejs/node
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release98b41fa4b5635ceb45a4c54320fced73817ff290
ui-targetfull
theme-color#1e2327
color-schemelight dark
react-app-nameissues

Links:

Skip to contenthttps://github.com/nodejs/node/issues/64408#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fissues%2F64408
GitHubRepository hosting, code review, and collaborationhttps://github.com/platform
CopilotAI coding agent for tasks, projects, and automated workhttps://github.com/features/copilot
ActionsCI/CD and automationhttps://github.com/features/actions
Code QualityQuality analysis, fixes, and enforcementhttps://github.com/features/code-quality
CodespacesCloud development environmentshttps://github.com/features/codespaces
Code SecurityVulnerability detection and remediationhttps://github.com/security/advanced-security/code-security
Secret ProtectionSecret scanning and leak preventionhttps://github.com/security/advanced-security/secret-protection
All Featureshttps://github.com/features
Documentationhttps://docs.github.com/en
Traininghttps://learn.github.com/skills
Certificationshttps://learn.github.com/credentials
Build with Copilothttps://github.com/features/ai
Customize Copilothttps://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview
Integrationshttps://github.com/marketplace
Trending reposhttps://github.com/trending
GitHub Sponsorshttps://github.com/open-source/sponsors
Developer articleshttps://github.com/resources/articles
ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place.https://github.blog/changelog/
Enterpriseshttps://github.com/enterprise
Teamhttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
See all industrieshttps://github.com/solutions/industry
Why GitHubhttps://github.com/why-github
Customer Storieshttps://github.com/customer-stories
Business insightshttps://github.com/solutions/executive-insights
Trust Centerhttps://github.com/trust-center
GitHub Advanced SecurityEnterprise-grade code securityhttps://github.com/security/advanced-security
Copilot for businessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Documentationhttps://docs.github.com/en
Resource centerhttps://github.com/resources
Bloghttps://github.blog/
Events & webinarshttps://github.com/resources/events
Community Forumhttps://github.com/orgs/community/discussions
Customer Storieshttps://github.com/customer-stories
Integrationshttps://github.com/marketplace
Customer supporthttps://help.github.com/
Traininghttps://learn.github.com/skills
GitHub Statushttps://www.githubstatus.com/
Abouthttps://github.com/about
Partnershttps://github.com/partners
Changeloghttps://github.blog/changelog/
GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub.https://githubuniverse.com/
Pricinghttps://github.com/pricing
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fissues%2F64408
Sign uphttps://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=nodejs%2Fnode
Reloadhttps://github.com/nodejs/node/issues/64408
Reloadhttps://github.com/nodejs/node/issues/64408
Reloadhttps://github.com/nodejs/node/issues/64408
nodejshttps://github.com/nodejs
nodehttps://github.com/nodejs/node
Codehttps://github.com/nodejs/node
Issues657 (657)https://github.com/nodejs/node/issues
Pull requests666 (666)https://github.com/nodejs/node/pulls
Actionshttps://github.com/nodejs/node/actions
Projectshttps://github.com/nodejs/node/projects
Security and qualityhttps://github.com/nodejs/node/security
Insightshttps://github.com/nodejs/node/pulse
https://github.com/nodejs/node
New issuehttps://github.com/login?return_to=https://github.com/nodejs/node/issues/64408
New issuehttps://github.com/login?return_to=https://github.com/nodejs/node/issues/64408
#65389https://github.com/nodejs/node/pull/65389
Future of --use-largepages=onhttps://github.com/nodejs/node/issues/64408#top
#65389https://github.com/nodejs/node/pull/65389
memoryIssues and PRs related to Node.js memory management or memory footprint.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22memory%22
metaIssues and PRs related to the general management of the project.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22meta%22
https://github.com/joyeecheung
joyeecheunghttps://github.com/joyeecheung
on Jul 10, 2026https://github.com/nodejs/node/issues/64408#issue-4854906762
#16198https://github.com/nodejs/node/issues/16198
being removedhttps://lwn.net/Articles/1070484/
are some alternatives thoughhttps://lwn.net/Articles/1066582/
linux x64 release binary fails to exec on WSL1 #63735https://github.com/nodejs/node/issues/63735
https://chromium-review.googlesource.com/c/v8/v8/+/7985687https://chromium-review.googlesource.com/c/v8/v8/+/7985687
joyeecheunghttps://github.com/joyeecheung
metaIssues and PRs related to the general management of the project.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22meta%22
memoryIssues and PRs related to Node.js memory management or memory footprint.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22memory%22
on Jul 10, 2026https://github.com/nodejs/node/issues/64408#event-27812850901
https://github.com/joyeecheung
joyeecheunghttps://github.com/joyeecheung
on Jul 10, 2026https://github.com/nodejs/node/issues/64408#issuecomment-4935178591
https://github.com/jasnell
jasnellhttps://github.com/jasnell
on Jul 11, 2026https://github.com/nodejs/node/issues/64408#issuecomment-4947928810
https://github.com/billywhizz
billywhizzhttps://github.com/billywhizz
on Aug 9, 2026https://github.com/nodejs/node/issues/64408#issuecomment-5232311261
joyeecheunghttps://github.com/joyeecheung
on Aug 21, 2026https://github.com/nodejs/node/issues/64408#event-29818932862
build,src: make --use-largepages a no-ophttps://github.com/joyeecheung/node/commit/15940ef908f992f4bd754d0dce882fd66f2550bc
15940efhttps://github.com/joyeecheung/node/commit/15940ef908f992f4bd754d0dce882fd66f2550bc
joyeecheunghttps://github.com/joyeecheung
completedhttps://github.com/nodejs/node/issues?q=is%3Aissue%20state%3Aclosed%20archived%3Afalse%20reason%3Acompleted
15940efhttps://github.com/nodejs/node/commit/15940ef908f992f4bd754d0dce882fd66f2550bc
on Aug 21, 2026https://github.com/nodejs/node/issues/64408#event-29818940819
aduh95https://github.com/aduh95
on Aug 29, 2026https://github.com/nodejs/node/issues/64408#event-30208024341
build,src: make --use-largepages a no-ophttps://github.com/nodejs/node/commit/9d741c0d445bd11066db5ebd585a6e88c29fdff2
9d741c0https://github.com/nodejs/node/commit/9d741c0d445bd11066db5ebd585a6e88c29fdff2
aduh95https://github.com/aduh95
on Sep 15, 2026https://github.com/nodejs/node/issues/64408#event-31161503168
build,src: make --use-largepages a no-ophttps://github.com/nodejs/node/commit/a623ee29d9a115d204d0119f50c53390c33d88be
a623ee2https://github.com/nodejs/node/commit/a623ee29d9a115d204d0119f50c53390c33d88be
Sign up for freehttps://github.com/signup?return_to=https://github.com/nodejs/node/issues/64408
Sign in to commenthttps://github.com/login?return_to=https://github.com/nodejs/node/issues/64408
memoryIssues and PRs related to Node.js memory management or memory footprint.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22memory%22
metaIssues and PRs related to the general management of the project.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22meta%22
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.