文章目录
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/00f09d0bbeda4486d9fb1344163dec7a.png)
1.概述
JVM 可以利用一些调优选项来优化操作系统内存的使用。
2.大页
一般用“页”这个术语来讨论内存分配和交换。页是操作系统管理物理内存的一个单元,操作系统分配内存的最小单元
:要分配 1 个字节,操作系统一定会分配 1 个整页。程序中后续的内存分配都会从这个页获取,直到分配完毕,这时就会分配一个新页
。
操作系统分配的页数一般要比物理内存能容纳的页数多很多,这就是存在分页机制的原因:地址空间中的页会被移入或移出交换空间(或其他存储,跟页中包含的内容有关)。
这意味着,这些页和它们在计算机物理内存中所占的位置间存在某种映射。这些映射有两
种不同的处理方式。所有的页映射都保存在一个全局页表中(操作系统可以扫描这个表,
找到特定的映射),最常用的映射保存在 TLB(Translation Lookaside Buffers)中。 TLB 保存在一个快速的缓存中,所以通过 TLB 表项访问页要比通过页表访问快得多。
机器中 TLB 表项的数目有限, TLB 会用作 LRU(Least Recently Used,最近最少使用的)缓存,因此最大化 TLB 表项的命中率就变得非常重要
。因为每个表项表示一个内存页,所增大应用所使用的页的大小一般会有所帮助。如果每个页能表示更多内存,则用更少的TLB