Huge Pages and Page Faults

The cluster centers on operating system memory management, particularly using huge pages to mitigate frequent page faults, TLB flushes, and inefficiencies in large allocations, with discussions on Linux kernel behaviors like lazy allocation and page zeroing.

📉 Falling 0.5x DevOps & Infrastructure
3,123
Comments
20
Years Active
5
Top Authors
#8251
Topic ID

Activity Over Time

2007
1
2008
7
2009
9
2010
83
2011
61
2012
86
2013
66
2014
167
2015
103
2016
192
2017
167
2018
220
2019
208
2020
229
2021
232
2022
282
2023
416
2024
253
2025
317
2026
24

Keywords

RAM CPU SSD ARM AIX less.html VMA damore.org MB VM pages memory page faults kernel os disk cache virtual gift

Sample Comments

SonOfKyuss • Dec 20, 2025 • View on HN

Doesn’t Linux support large page allocations for just this type of situation?

lokopodium • Apr 16, 2018 • View on HN

This is almost like paged memory with faulty cache write-back.

guerrilla • Dec 17, 2022 • View on HN

How is that possible without page fault exceptions or equivalent?

zingermc • Jun 20, 2019 • View on HN

What if the OS could dedupe pages?

ori_b • Jul 3, 2023 • View on HN

No, huge pages wouldn't help. They would change when the TLB gets flushed, but the flushes would still be there.

fwsgonzo • Dec 7, 2022 • View on HN

That's unfortunate. I wrote a VMM that tries to back memory with hugepages (even the guests page tables). It's making a difference!

twoodfin • Jun 15, 2016 • View on HN

I'm surprised this article doesn't mention one typical solution to the problem of massive numbers of expensive page faults for large allocations: Pages bigger than 4K, which are supported on most modern operating systems. On Linux they go by the name "huge pages":https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt

saagarjha • Apr 26, 2025 • View on HN

The same OS kernel that zeros out pages before handing them back to me?

Const-me • Jun 30, 2022 • View on HN

The hardware and modern OSes support large 2MB pages, and huge 1GB pages. They trim 1 or 2 levels from that tree, respectively. With huge pages a single node of that tree addresses 512GB of memory, for most practical applications you’re pretty much guaranteed to translate these addresses without TLB cache misses.There’re some limitations about them, on Windows the process needs a special security privilege, also these pages are never swapped to a page file. But still, AFAIK when programmers r

noselasd • May 1, 2014 • View on HN

You don't need to couple memory pages with disk blocks.