在Xeon V5机器上禁用THP(透明大页)
大家好,我是无能。
我在查看RHEL的发布说明时发现了一些有趣的地方。
>glibc 在 Intel® Xeon® v5 硬件上的字符串和内存例程性能得到提升
>以前,glibc 用于字符串和内存例程的默认缓存量导致 Intel® Xeon® v5 系统上的性能低于预期。本次更新调整了用于提高性能的缓存量。
https://bugzilla.redhat.com/show_bug.cgi?id=2180462
>The customer’s system did boot with mitigations=off, and with transparent_hugepages (THP) disabled. Neither are needed to reproduce this problem, but disabling THP does enable the simple memcpy reproducer to achieve much higher performance.
目前RHEL 9.3似乎也在调整这个缓存量,而且我也看到Redis的推荐环境是禁用THP,所以我也尝试禁用它。
下面我将确认当前设置。
$ sudo cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
它正在运行。默认似乎分配了2MB。
$ sudo cat /proc/meminfo | grep “Hugepagesize”
Hugepagesize: 2048 kB
我将切换到root用户并尝试禁用它。
$ echo never > /sys/kernel/mm/transparent_hugepage/enabled
~# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
将其写入rc.local,使其在启动时禁用。
vi /etc/rc.local
并在开头添加
echo never > /sys/kernel/mm/transparent_hugepage/enabled
---
总觉得内存和CPU使用率一下子下降了。
虽然很可能是错觉,但不用用看是不知道的。那么。
下次再见。