博客
关于我
nullnullHuge Pages
阅读量:798 次
发布时间:2023-02-17

本文共 663 字,大约阅读时间需要 2 分钟。

今天有个小烦恼,简单的代码问题搞得我有点懵,几天没写代码就忘了很多细节。还是得好好记,毕竟现在当COO还是得和开发团队沟通清楚需求。

最近在学习内存管理相关的知识,今天想着内存是如何分配的。CPU分配内存时默认是以4Kbyte为一个单位,这个单位被称为页(Page)。每个进程使用的内存都会被标记为该进程使用的页,那些页可能会被交换到磁盘上。由于进程地址空间是虚拟的,CPU和操作系统需要记录哪些页属于哪个进程,并且存储的位置。这样一来,地址空间分页会带来额外的查找开销。

以1GB内存为例,需要262144个页表条目(1GB / 4K),每个页表条目大约占8字节,总共需要2MB的内存来存储页表。这意味着查找内存的位置会消耗更多时间。

现代CPU架构支持更大的页尺寸,这样页表条目就更少了。例如,64位系统支持16MB、32MB或64MB的页尺寸,大大减少了页表的大小和查找时间。这些更大的页尺寸在操作系统中被称为大页(Huge Pages),不同系统有不同的命名习惯。

今天和团队开会时提到内存管理的问题,大家讨论到大页的优势。听起来挺有意思的,可能以后可以深入研究一下。

程序员的笑话:

一天,一个狗走进公司面试。招聘广告上写着:"会编程、有团队精神、精通两种语言"。狗也想试试。

"你会编程吗?"面试官问。

狗坐到电脑前,默默编了一个程序,运行得很顺利。

"你有团队精神吗?"

狗回头看了一眼窗外,外面一群野狗在虎视眈眈地看着它。

"我需要的员工至少要精通两种语言。"面试官说。

狗抬头看着他,眨了眨眼睛:"喵-噢。"

转载地址:http://ugjfk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现isalpha函数功能(附完整源码)
查看>>
Objective-C实现islower函数功能(附完整源码)
查看>>
Objective-C实现isPowerOfTwo算法(附完整源码)
查看>>
Objective-C实现isupper函数功能(附完整源码)
查看>>
Objective-C实现ItemCF算法(附完整源码)
查看>>
Objective-C实现ItemCF算法(附完整源码)
查看>>
Objective-C实现iterating through submasks遍历子掩码算法(附完整源码)
查看>>
Objective-C实现iterative merge sort迭代归并排序算法(附完整源码)
查看>>
Objective-C实现jaccard similarity相似度无平方因子数算法(附完整源码)
查看>>
Objective-C实现Julia集算法(附完整源码)
查看>>
Objective-C实现jump search跳转搜索算法(附完整源码)
查看>>
Objective-C实现jumpSearch跳转搜索算法(附完整源码)
查看>>
Objective-C实现k nearest neighbours k最近邻分类算法(附完整源码)
查看>>
Objective-C实现k-means clustering均值聚类算法(附完整源码)
查看>>
Objective-C实现k-Means算法(附完整源码)
查看>>
Objective-C实现k-nearest算法(附完整源码)
查看>>
Objective-C实现KadaneAlgo计算给定数组的最大连续子数组和算法(附完整源码)
查看>>
Objective-C实现kadanes卡达内斯算法(附完整源码)
查看>>
Objective-C实现kahns algorithm卡恩算法(附完整源码)
查看>>
Objective-C实现karatsuba大数相乘算法(附完整源码)
查看>>