網(wǎng)上看到的linux內(nèi)存的59問尚卫,雖然對其答案并不完全認(rèn)同羽莺,但是這些問題的確是把基礎(chǔ)知識點(diǎn)都囊括了:
1瘦馍、如何知道計(jì)算機(jī)內(nèi)存布局?內(nèi)存空間有多少折砸?
2、何時(shí)去探明內(nèi)存布局沙峻?由誰去探明呢睦授?
3、kernel會加載到何處呢摔寨?由什么決定它的位置去枷?
4、kernel映像如何隱匿自己的位置是复?
5删顶、探知的e820表如何處理?
6淑廊、內(nèi)存是連續(xù)的嗎逗余?
7、處理完畢的e820表如何管理蒋纬?
8猎荠、啟動(dòng)之時(shí)內(nèi)存如何映射的?
9蜀备、保護(hù)模式是怎樣的关摇?相比實(shí)模式有何特點(diǎn)?
10碾阁、頁保護(hù)模式是怎樣的输虱?
11、頁面映射有何作用脂凶?都有什么好處
12宪睹、x86支持的映射模式都有哪些形式愁茁?如何分級的?
13亭病、內(nèi)核如何處理多樣式的頁映射
14鹅很、面對NUMA等復(fù)雜內(nèi)存環(huán)境如何處理?
15罪帖、內(nèi)核頁表如何建立促煮?
16、內(nèi)核態(tài)進(jìn)程虛擬地址與物理內(nèi)存的映射關(guān)系整袁?
17菠齿、用戶態(tài)進(jìn)程虛擬內(nèi)存與物理內(nèi)存的關(guān)系如何?
18坐昙、內(nèi)存管理框架如何構(gòu)造绳匀?
19、Kernel內(nèi)存空間如何劃分炸客?
20疾棵、64位地址空間如何劃分?
21嚷量、內(nèi)存分配空間如何實(shí)現(xiàn)不可預(yù)測性陋桂?
22逆趣、物理內(nèi)存是如何管理的蝶溶?怎么分配的?
23宣渗、Buddy管理算法所處的位置抖所?在什么地方體現(xiàn)?
24痕囱、內(nèi)存碎片化了怎么辦田轧?
25、如何為驅(qū)動(dòng)應(yīng)用預(yù)留大塊連續(xù)內(nèi)存鞍恢?
26傻粘、LRU如何運(yùn)作?
27帮掉、內(nèi)存回收是如何運(yùn)作的弦悉?
28、相同的內(nèi)存浪費(fèi)內(nèi)存空間了蟆炊?
29稽莉、頁面空間監(jiān)測手段有什么
30、如何降低頁面分配的可預(yù)測性涩搓?
31污秆、如何防范內(nèi)存泄密劈猪?
32、如何查看Buddy管理算法下的內(nèi)存類型信息良拼?
33战得、小塊內(nèi)存空間如何分配管理?
34庸推、SLUB如何管理內(nèi)存的贡避?
35、如何查看slab信息予弧?
36刮吧、如何防范slab空閑鏈表的攻擊?
37掖蛤、SLUB分配如何防止被預(yù)判杀捻?
38、kmalloc和kfree如何實(shí)現(xiàn)的蚓庭?
39致讥、kernel的內(nèi)存泄漏如何定位?
40器赞、kernel有內(nèi)存檢測機(jī)制嗎垢袱?
41、支離破碎的內(nèi)存如何得到大塊連續(xù)內(nèi)存港柜?
42请契、如何查看vmalloc信息?
43夏醉、Percpu內(nèi)存空間如何管理的爽锥?
44、從proc接口還可以看到什么畔柔?
45氯夷、容器的內(nèi)存如何管理?
46靶擦、內(nèi)核如何防范信息外泄腮考?
47、物理內(nèi)存頁面耗盡了如何處理玄捕?
48踩蔚、內(nèi)核代碼段如何進(jìn)行自我防護(hù)?
50桩盲、kernel程序空間能否再壓榨寂纪?
51、面向用戶態(tài)程序,內(nèi)核提供了哪些內(nèi)存分配接口捞蛋?
52孝冒、brk接口實(shí)現(xiàn)了什么?
53拟杉、mmap接口實(shí)現(xiàn)了什么庄涡?
54、用戶態(tài)內(nèi)存如何管理搬设?
55穴店、glibc對brk和mmap如何使用?
56拿穴、如何查看進(jìn)程內(nèi)存映射信息泣洞?
57、如何查看進(jìn)程內(nèi)存占用實(shí)際情況默色?
58球凰、如何查看進(jìn)程內(nèi)存片段映射詳情?
59腿宰、如何查看進(jìn)程內(nèi)存映射匯總信息呕诉?