在 Xeon V5 機器上關閉 THP (Transparent Huge Page)
大家好,我是無能。
我在查看 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 使用率都大幅下降了。
嗯,很有可能只是我的錯覺,但不用用看是不知道的。
那麼。
請大家多多指教。