# 大页内存与透明大页详解
### 1.大页内存
大页内存(HugePages),有时也叫“大内存页”、“内存大页”、“标准大页”。操作系统以内存页为单位管理内存,内存页的大小对系统性能有影响。内存页设得太小,内存页会很多,管理内存页的数组会比较大,耗内存,同时TLB(Translation Lookaside Buffer,页表寄存缓冲器,可理解为页表缓冲)大小是固定的,导致TLB MISS增加。在不同的应用场合,内存页的大小的最优值是不同的。所以一般的系统都支持多种内存页的取值。
### 2.大页内存的优势
“大内存页”有助于 Linux 系统进行虚拟内存管理。顾名思义,除了标准的4KB大小的页面外,它还能帮助管理内存中的巨大的页面(通常是2MB)。使用“大内存页”,你最大可以定义 1GB 的页面大小。对于那些内存操作非常频繁的业务来说,可以有效的提高性能。简而言之,通过启用大页内存,系统只需要处理较少的页面映射表,从而减少访问/维护它们的开销!
### 3.大页内存与透明大页的关系
大页内存类似专用内存,会从系统中抠出一块大内存,而想要使用这块内存,应用程序必须修改程序。 其次,如果程序内存使用较少,却申请了大页,就造成了内存浪费,这个时候就要用到透明大页(Transparent Huge Pages,THP)了。这两者的区别在于大页的分配机制:标准大页管理是预分配的方式,而透明大页管理则是动态分配的方式,且不需要修改程序源码。
### 4.透明大页之功
THP 是一个提取层,可用于自动创建、管理和使用超大页面的大多数方面。THP可以改进系统的性能,可以减少使用超大页面的复杂行,目前THP已在各种系统、配置、程序和负载中测试优化,可以改进大多数系统配置的性能。
https://toutiao.io/posts/n4hzg1/preview AnonHugePages 解释说明
### 5.关闭透明大页步骤
```
[root@localhost ~]# vim /etc/grub2.cfg
##kernel行添加transparent_hugepage=never
##重启服务器
[root@localhost ~]# reboot
```

```
[root@host-11-0-0-192 vm]# grep Huge /proc/meminfo
AnonHugePages: 0 kB #0 kB 与透明大页有关,透明大页关闭,则显示0
ShmemHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 524288 kB
Hugetlb: 0 kB
```
- 常见问题
- 进入救援模式
- 进入单用户模式
- grub引导修复
- V10SP1-biosdevname解析
- 外设挂载和卸载
- audit关闭解决方案
- 终端无法切换
- 救援模式取数据
- 网卡更名操作
- 问题复现解决类
- xgboost复现解决步骤
- 激活类
- 麒麟服务器激活常用命令
- 服务器故障激活问题--须知
- 激活权限获得方式
- V10-SP系列服务器激活
- 银河麒麟高级服务器操作系统V7&V10激活手册
- shell脚本类
- 多网卡队列绑定CPU脚本
- 服务器健康检查脚本
- 服务安装配置类
- 银河麒麟高级服务器操作系统V10(sp1)安装手册
- LVM创建
- Chrony时间同步配置
- 搭建网络yum源
- PXE部署实施
- Man手册安装
- 部署VNC服务
- Kylin-Server-V10-SP1-0711-DNS服务单机部署文档
- 麒麟ks文件定制-封装iso文件
- iptables端口配置
- V10-SP1-aarch64安装jdk1.7
- 工具使用类
- cyclictest测试工具
- e2fsprogs工具介绍
- Logrotate工具说明
- nmon工具安装与使用
- 升、降级类
- rsyslog升级报告
- 性能优化类
- 日志轮转
- 大页内存与透明大页详解
- 优化磁盘IO调度方式
- core文件设置
- 分析报告类
- bond模式4协商不通排查
- audit内存泄露问题分析报告
- mate-indicators内核占用过高问题分析报告
- ansible问题-hostname以及lvol报错
- 关于Linux内存计算的说明
- 磁盘IO调度算法
- 硬件相关类
- 串口
- 网络相关类
- bond创建
- 在已配置好网络情况下添加路由
- 网卡配合网桥实现内网互通KVM虚拟机
- Bond模式4协商不通排查过程
- HA高可用
- kylin HA shell实践
- kylin HA概念性及shell使用
- 虚拟化
- KVM创建虚拟机(图形化操作)
- KVM创建虚拟机(命令操作)
- 容器类
- docker-runc升级
- docker基础镜像制作-服务器版
- 麒麟云平台
- USB3.0设备穿透方法(针对win10云主机穿透)
- 麒麟云平台开关机操作说明
- 技术演练
