THP Transparent HugePages 相關知識與關閉
最近遇到個LINUX系統記憶體比較大,未開 HugePages,業務有變化導致ORACLE連線數劇增至上千個,PageTables達到上百G,導致記憶體不足系統HANG住的案例。
因此需要開啟 HugePages,作業系統是OEL6以上的。LINUX的以下版本:Red Hat Enterprise Linux 6, SUSE Linux Enterprise Server 11, and Oracle Linux 6 with earlier releases of Oracle Linux Unbreakable Enterprise Kernel 2 (UEK2) kernels. Transparent HugePages是預設開啟的,因此在這些版本的LINUX系統中,ORACLE強烈建議開啟HugePages需要關閉Transparent HugePages。
在以下版本的LINUX中Transparent HugePages預設是關閉--從核心移除的。
Transparent HugePages memory is disabled in later releases of Oracle Linux UEK2 kernels.
驗證方法是:如果以下檔案不存在,則是THP已經從核心中移除。
/sys/kernel/mm/transparent_hugepage
or
/sys/kernel/mm/redhat_transparent_hugepage
參考MOS文件:ALERT: Disable Transparent HugePages on SLES11, RHEL6, OL6 and UEK2 Kernels (文件 ID 1557478.1)
或者OEL的以下文件:
https://docs.oracle.com/cd/E11882_01/install.112/e41961/memry.htm#CWLIN385
C.3 Disabling Transparent HugePages
Transparent HugePages memory is enabled by default with Red Hat Enterprise Linux 6, SUSE Linux Enterprise Server 11, and Oracle Linux 6 with earlier releases of Oracle Linux Unbreakable Enterprise Kernel 2 (UEK2) kernels. Transparent HugePages memory is disabled in later releases of Oracle Linux UEK2 kernels.
Transparent HugePages can cause memory allocation delays during runtime. To avoid performance issues, Oracle recommends that you disable Transparent HugePages on all Oracle Database servers. Oracle recommends that you instead use standard HugePages for enhanced performance.
Transparent HugePages memory differs from standard HugePages memory because the kernel khugepaged thread allocates memory dynamically during runtime. Standard HugePages memory is pre-allocated at startup, and does not change during runtime.
o check if Transparent HugePages memory is enabled, run one of the following commands as theroot
user:
Red Hat Enterprise Linux kernels:
# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
Other kernels:
# cat /sys/kernel/mm/transparent_hugepage/enabled
The following is a sample output that shows Transparent HugePages memory being used as the
[always]
flag is enabled.
[always] never
Note:
If Transparent HugePages is removed from the kernel, then the/sys/kernel/mm/transparent_hugepage
or /sys/kernel/mm/redhat_transparent_hugepage
files do not exist.To disable Transparent HugePages, perform the following steps:
-
Add the following entry to the kernel boot line in the
/etc/grub.conf
file:transparent_hugepage=never
For example:
title Oracle Linux Server (2.6.32-300.25.1.el6uek.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-300.25.1.el6uek.x86_64 ro root=LABEL=/ transparent_hugepage=never initrd /initramfs-2.6.32-300.25.1.el6uek.x86_64.img
-
Restart the system to make the changes permanent.
相關文章
- How to disable transparent hugepages (THP) on Red Hat Enterprise Linux 7Linux
- CAP 與 Raft 相關知識Raft
- Shell相關知識
- .net相關知識
- mobile相關知識
- rollback相關知識
- 音訊相關知識音訊
- Elasticsearch——search相關知識Elasticsearch
- Git相關知識點Git
- SSL相關知識科普
- Redis的相關知識Redis
- redis相關知識點Redis
- RPM相關知識
- 直播相關知識收集
- shell相關知識點
- 證書相關知識
- 網路相關知識
- Oracle 相關知識點Oracle
- oracle awr相關知識Oracle
- nohup使用相關知識
- /proc的相關知識
- Java與Mysql鎖相關知識總結JavaMySql
- React相關知識點:關於ReduxReactRedux
- RTMP協議相關知識協議
- Vlan相關知識雜記
- 【Java】容器相關知識點Java
- ivar layout 相關知識點
- LR模型相關知識點模型
- Oracle相關基礎知識Oracle
- UITabBarController相關知識UItabBarController
- ARP相關知識點
- WEB相關背景知識(新手)Web
- Linux口令相關知識Linux
- 氣象相關基本知識
- 鎖相關基礎知識
- 磁碟相關概念以及知識
- [TCP]轉TCP相關知識TCP
- lamda表示式相關知識