06_All_about_Memory

06_All_about_Memory

ID:40254266

大小:433.60 KB

页数:8页

时间:2019-07-29

06_All_about_Memory_第1页
06_All_about_Memory_第2页
06_All_about_Memory_第3页
06_All_about_Memory_第4页
06_All_about_Memory_第5页
资源描述:

《06_All_about_Memory》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、06AllaboutMemory06AllaboutMemory内存调优=======================================================================一、内存MemoryMemoryManagement内存管理是kernel重要的工作Paging(分页)机制是目前管理内存的一种手段内存被划分成page页,对于x86,normalpage4Kib(4096Bytes),访问内存的最小单位进程是不可以直接访问物理内存的,而是每个进程分配

2、自己的虚拟地址空间32-bit:4GiB每个进程最大使用64-bit:16EiB每个进程最大使用对于进程而言,仅能看到映射到物理内存的虚拟内存,每个进程是完全独立的需要虚存到物理内存的转换pagetablePhysicalvs.Virtualx864KiBPhysicalMemory:物理内存页叫做PageFrame页帧,程序不能直接访问物理内存VirtualMemory:虚拟内存页叫做Page,kernel给程序分配的是虚拟内存Memoryusage:VSZvs.RSS虚存VSZ,VSIZE,

3、VIRT当程序去申请内存时,kernel只是对虚存做了个预留(reserves),并未将其映射到physicalpages物理内存RSS,RES直到程序使用时将其映射到物理内存多个进程可以共享同一片物理内存,即虽然每个程序使用的虚存是不一样的(privatevirtualaddressspace)但都映射到了相同的physicalpages,当然必须由kernel来控制实现。父进程fork()派生子进程时:孩子的虚拟内存和父亲的虚拟内存映射到了相同的物理内存,例如孩子只是读如果孩子需要写才为其映

4、射到新的物理内存所以,在同一时间,若干个进程共享了同一片内存(物理内存)是有可能的常驻内存集(RSS):进程在创建时分配的物理内存称为常驻内存集,也就是进程启动后必须1/8所占用的物理内存空间,这部分空间是不能被交换出去的,也不可以被清除出去pagecache:进程在运行过程中打开的一些文件,这些文件都保存在pagecache中,这部分空间是可以交换出去或清除出去的.anonpage:进程在运行时所产生的临时数据(比如堆中的数据通常一部分是匿名页)PageWalk虚存到物理内存的映射关系是存储在

5、pagetables(虚存到物理内存的镜像表)页表本身也占内存,用来管理内存,牺牲了一部分内存做管理每次内存的访问都需要PageWalkVirtualtoPhysicalCPU:TLB缓存x86info-cYES:有虚拟到物理内存的镜像关系TLBHIT,就不用去PageWalkNO:TLBMISS,必须做PageWalk,在做PageWalk时page已映射到了RAM:直接addentrytoTLBPage未映射到RAM:比如之前申请的,但还没有映射到RAM,产生一个pagefault的行为(映

6、射)如果已被交换了swap,那么此次pagefault的代价是相当高的TLB:能带来15%的性能提升每次上下文切换都会flushTLB[root@titanyun~]#x86info-c2/8TLBinfoInstructionTLB:4Kpages,4-wayassociative,128entries.DataTLB:4KBpages,4-wayassociative,64entries64byteprefetching.Foundunknowncachedescriptors:5a76ca

7、ff--------------------------------------------------------------------------HugePagesConfiguration#cat/proc/meminfo

8、grepHuge#sysctlvm.nr_hugepages=100#vim/etc/grub.conf添加kernelparameter:hugepages=100注:大页必须事先预留;不能为常规的应用程序所使用,除非该应用程序支持大页(如oracle、JBoss)

9、;不能被交换到磁盘上;THP但从RHEL6.2开始支持TransparentHugePages透明式大页应用程序不需要关心,由THP在后帮其实现Upto10%performanceimprovementHowDoesitwork?如何工作的尽可能分配大页,可以拆成4KiB进行swap尽可能使用大页,从而提高TLB的命中率kernel自己就使用的是大页[root@master~]#grepHuge/proc/meminfoAnonHugePages:215040kBHugePages_Total:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
相关文章
更多
相关标签