操作系统调优
升级GCC和glibc(CentOS)
此部分内容仅适用于CentOS 7.6操作系统。
CentOS 7.6 操作系统默认GCC版本为4.85、glibc版本为2.17。由于软件编译依赖GCC、glibc等编译器版本,升级GCC、glibc版本,对一些程序的性能有一定优化。
建议虚拟机操作系统里的GCC、glibc版本升级到如表1参考版本。
关闭透明大页
透明大页Transparent Huge Pages(简称THP)可以减少使用超大页面的复杂性,目前THP已在各种系统、配置、程序和负载中测试优化,可以改进大多数系统配置的性能。在使用Stream工具测试内存带宽场景或内存访问密集型业务的场景,通过关闭透明大页可以有效提升性能。
- 如果虚拟机操作系统里的页表大小是64K则关闭透明大页。
- 如果页表大小是4K则不需要关闭透明大页。
- 查询THP配置。
1 2
cat /sys/kernel/mm/transparent_hugepage/enabled cat /sys/kernel/mm/transparent_hugepage/defrag
输出结果为[always]表示THP已启用,[never]表示THP已禁用,[madvise]表示只在MADV_HUGEPAGE标志的VMA中使用THP。
- 查看/proc目录下的meminfo文件的AnonHugePages。
1
cat /proc/meminfo | grep -i huge
该数值为非0时表明THP已生效,如下图所示:
- 关闭THP。
1
echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled
- 可选:如果需要开启透明大页,可执行如下命令。
1
echo 'always' > /sys/kernel/mm/transparent_hugepage/enabled
父主题: KVM虚拟机 调优指南