内存分页大小对性能调优的原理
首先,我们需要先回顾一下计算机组成原理,这是理解大内存分页的对JVM性能调优的前提。
什么是内存分页?
我们知道,CPU通过寻址来访问内存。我们以32位CPU寻址为例。
数据总线:主要用来传输数据,高电平,低电平分别表示0和1
地址总线:主要控制对内存条的哪块内存进行操作(寻址),32位共32根线,每根有两种状态分别表示0,或者1。共2^32。2^30为1G,所以共4G。
控制总线:主要控制是读还是写。
也就是说最大可以支持的物理内存是4G,但是在实际之中,程序可能需要4G但是内存小于4G,导致程序不可用或者降低程序占用内存。
为了解决此类问题,现代CPU引入了Memory Management
Unit内存管理单元)。
MMU 的核心思想是利用虚拟地址替代物理地址,即CPU寻址时使用虚址,由 MMU 负责将虚址映射为物理地址。MMU的引入,解决了对物理内存的限制,对程序来说,就像自己在使用4G内存一样。
内存分页(Paging)是在使用MMU的基础上,提出的一种内存管理机制。它将虚拟地址和物理地址按固定大小(4K)分割成页(page)和页帧(page
frame),并保证页与页帧的大小相同。
这种机制