亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Linux服務器 > 正文

Linux關于透明大頁的使用與禁用介紹

2024-09-05 23:05:41
字體:
來源:轉載
供稿:網友

引言

隨著計算需求規模的不斷增大,應用程序對內存的需求也越來越大。為了實現虛擬內存管理機制,操作系統對內存實行分頁管理。自內存“分頁機制”提出之始,內存頁面的默認大小便被設置為 4096 字節(4KB),雖然原則上內存頁面大小是可配置的,但絕大多數的操作系統實現中仍然采用默認的 4KB 頁面。 4KB 大小的頁面在“分頁機制”提出的時候是合理的,因為當時的內存大小不過幾十兆字節,然而當物理內存容量增長到幾 G 甚至幾十 G 的時候,操作系統仍然以 4KB 大小為頁面的基本單位,是否依然合理呢?

在 Linux 操作系統上運行內存需求量較大的應用程序時,由于其采用的默認頁面大小為 4KB,因而將會產生較多 TLB Miss 和缺頁中斷,從而大大影響應用程序的性能。當操作系統以 2MB 甚至更大作為分頁的單位時,將會大大減少 TLB Miss 和缺頁中斷的數量,顯著提高應用程序的性能。這也正是 Linux 內核引入大頁面支持的直接原因。好處是很明顯的,假設應用程序需要 2MB 的內存,如果操作系統以 4KB 作為分頁的單位,則需要 512 個頁面,進而在 TLB 中需要 512 個表項,同時也需要 512 個頁表項,操作系統需要經歷至少 512 次 TLB Miss 和 512 次缺頁中斷才能將 2MB 應用程序空間全部映射到物理內存;然而,當操作系統采用 2MB 作為分頁的基本單位時,只需要一次 TLB Miss 和一次缺頁中斷,就可以為 2MB 的應用程序空間建立虛實映射,并在運行過程中無需再經歷 TLB Miss 和缺頁中斷(假設未發生 TLB 項替換和 Swap)。

為了能以最小的代價實現大頁面支持,Linux 操作系統采用了基于 hugetlbfs 特殊文件系統 2M 字節大頁面支持。這種采用特殊文件系統形式支持大頁面的方式,使得應用程序可以根據需要靈活地選擇虛存頁面大小,而不會被強制使用 2MB 大頁面。

Linux,透明大頁

Redis在Linux中啟動時通常會報“WARNING you have Transparent Huge Pages (THP) support enabled in your kernel”的警告信息,意思是:你使用的是透明大頁,可能導致redis延遲和內存使用問題。

關于透明大頁,我們看看官方的介紹

Transparent Huge Pages (THP) are enabled by default in RHEL 6 for all applications. The kernel attempts to allocate hugepages whenever possible and any Linux process will receive 2MB pages if the mmap region is 2MB naturally aligned. The main kernel address space itself is mapped with hugepages, reducing TLB pressure from kernel code. For general information on Hugepages, see: What are Huge Pages and what are the advantages of using them?

The kernel will always attempt to satisfy a memory allocation using hugepages. If no hugepages are available (due to non availability of physically continuous memory for example) the kernel will fall back to the regular 4KB pages. THP are also swappable (unlike hugetlbfs). This is achieved by breaking the huge page to smaller 4KB pages, which are then swapped out normally.

But to use hugepages effectively, the kernel must find physically continuous areas of memory big enough to satisfy the request, and also properly aligned. For this, a khugepaged kernel thread has been added. This thread will occasionally attempt to substitute smaller pages being used currently with a hugepage allocation, thus maximizing THP usage.

In userland, no modifications to the applications are necessary (hence transparent). But there are ways to optimize its use. For applications that want to use hugepages, use of posix_memalign() can also help ensure that large allocations are aligned to huge page (2MB) boundaries.

Also, THP is only enabled for anonymous memory regions. There are plans to add support for tmpfs and page cache. THP tunables are found in the /sys tree under /sys/kernel/mm/redhat_transparent_hugepage.

查看是否啟用透明大頁

1:命令cat /sys/kernel/mm/redhat_transparent_hugepage/enabled 該命令適用于Red Hat Enterprise Linux系統

[root@getlnx06 ~]# more /etc/issue Red Hat Enterprise Linux Server release 6.6 (Santiago) Kernel /r on an /m [root@getlnx06 ~]# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled [always] madvise never

2:命令cat /sys/kernel/mm/transparent_hugepage/enabled 該命令適用于其它Linux系統

[root@getlnx06 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never] [root@getlnx06 ~]# 

使用命令查看時,如果輸出結果為[always]表示透明大頁啟用了。[never]表示透明大頁禁用、[madvise]表示

3:如何HugePages_Total返回0,也意味著透明大頁禁用了

[root@getlnx06 ~]# grep -i HugePages_Total /proc/meminfo  HugePages_Total: 0

4:cat /proc/sys/vm/nr_hugepages返回0也意味著透明大頁禁用了。

[root@getlnx06 ~]# cat /proc/sys/vm/nr_hugepages 0

禁用、啟用透明大頁功能

方法1:設置/etc/grub.conf文件,在系統啟動是禁用。

[root@getlnx06 ~]# vi /etc/grub.conf# grub.conf generated by anaconda## Note that you do not have to rerun grub after making changes to this file# NOTICE: You have a /boot partition. This means that#     all kernel and initrd paths are relative to /boot/, eg.#     root (hd0,0)#     kernel /vmlinuz-version ro root=/dev/mapper/VolGroup--LogVol0-LogVol01#     initrd /initrd-[generic-]version.img#boot=/dev/sdadefault=0timeout=5splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitle Red Hat Enterprise Linux 6 (2.6.32-504.el6.x86_64)    root (hd0,0)    kernel /vmlinuz-2.6.32-504.el6.x86_64 ro root=/dev/mapper/VolGroup--LogVol0-LogVol01 rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup-LogVol0/LogVol01 rd_LVM_LV=VolGroup-LogVol0/LogVol00 KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet    initrd /initramfs-2.6.32-504.el6.x86_64.imgtransparent_hugepage=never

方法2:設置/etc/rc.local文件

[root@getlnx06 ~]# vi /etc/rc.local#!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.touch /var/lock/subsys/localif test -f /sys/kernel/mm/redhat_transparent_hugepage/enabled; then  echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabledfi

使用上面的配置后必須重啟操作系統才能生效,你也可以運行下面命令不用重啟操作系統。

[root@getlnx06 ~]# echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled[root@getlnx06 ~]# cat /sys/kernel/mm/redhat_transparent_hugepage/enabledalways madvise [never][root@getlnx06 ~]# 

小知識點:

1:從RedHat 6, OEL 6, SLES 11 and UEK2 kernels 開始,系統缺省會啟用 Transparent HugePages :用來提高內存管理的性能透明大頁(Transparent HugePages )和之前版本中的大頁功能上類似。主要的區別是:Transparent HugePages 可以實時配置,不需要重啟才能生效配置;

2:Transparent Huge Pages在32位的RHEL 6中是不支持的。

3: ORACLE官方不建議我們使用RedHat 6, OEL 6, SLES 11 and UEK2 kernels 時的開啟透明大頁(Transparent HugePages ), 因為透明大頁(Transparent HugePages ) 存在一些問題:

  • 在RAC環境下 透明大頁(Transparent HugePages )會導致異常節點重啟,和性能問題
  • 在單機環境中,透明大頁(Transparent HugePages ) 也會導致一些異常的性能問題

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對ASPKU武林網的支持。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品高清免费在线观看| 亚洲欧美国产一本综合首页| 亚洲一级免费视频| xxx一区二区| 欧美日韩国产影院| 日韩中文字在线| 97精品伊人久久久大香线蕉| 欧美亚洲第一页| 国产精品入口福利| 久久激情视频久久| 亚洲国产日韩欧美综合久久| 一本色道久久88亚洲综合88| 亚洲人线精品午夜| 国产91在线视频| 日韩中文字幕在线| 日韩av免费在线看| 91精品国产91久久久久久最新| 在线观看日韩欧美| 欧美主播福利视频| 久久久免费电影| 另类少妇人与禽zozz0性伦| 久久伊人精品视频| 国产精品久久久久久婷婷天堂| 国产精品免费观看在线| 中文字幕亚洲专区| 国产精品中文久久久久久久| 亚洲一区二区三区视频| 精品久久久久久久大神国产| 国产亚洲一区二区在线| 大荫蒂欧美视频另类xxxx| 欧美怡春院一区二区三区| www.午夜精品| 亚洲免费影视第一页| 国产亚洲精品成人av久久ww| 国产日韩av在线| 国产精品白嫩初高中害羞小美女| 69精品小视频| 热久久这里只有| 91高清免费在线观看| 欧美整片在线观看| 久久久黄色av| 日韩在线观看网站| 欧美精品福利视频| 国产成人精品电影久久久| 国产成人黄色av| 亚洲区在线播放| 欧美夜福利tv在线| 久久视频在线免费观看| 57pao成人国产永久免费| 欧美激情久久久久| 欧美色videos| 国产精品免费电影| 欧美中在线观看| 欧美一乱一性一交一视频| 亚洲成成品网站| 久久av红桃一区二区小说| 在线视频免费一区二区| 中文字幕亚洲一区二区三区五十路| 欧美日韩亚洲网| 久久久久女教师免费一区| 亚洲成色999久久网站| 日韩精品免费在线播放| 亚洲高清一区二| 91精品视频网站| 中日韩午夜理伦电影免费| 亚洲人成在线观看网站高清| 国产成人在线播放| 91精品国产91久久久久久不卡| 色偷偷av一区二区三区| 欧美最猛性xxxxx免费| 国产亚洲精品综合一区91| 亚洲一区二区国产| 在线成人激情黄色| 欧美性videos高清精品| 国产精品精品国产| 久久久欧美精品| 精品日本高清在线播放| 色综久久综合桃花网| 久久中文精品视频| 色哟哟网站入口亚洲精品| 成人高h视频在线| 欧美高清电影在线看| 中文字幕亚洲一区在线观看| 欧美日韩免费在线观看| 欧美日韩不卡合集视频| 91麻豆国产语对白在线观看| 精品国产一区二区三区在线观看| 欧美成人午夜剧场免费观看| 成人看片人aa| 亚洲精品国产电影| 色综合天天综合网国产成人网| 人九九综合九九宗合| 日韩精品免费在线视频| 国产在线视频欧美| 亚洲精品视频在线播放| 欧美在线一区二区三区四| 最近2019年好看中文字幕视频| 亚洲理论电影网| 欧美成人精品影院| 97视频在线免费观看| 综合欧美国产视频二区| 一本色道久久88综合日韩精品| 国产免费一区二区三区在线观看| 亚洲sss综合天堂久久| 亚洲男人天天操| 一区二区三区回区在观看免费视频| 亚洲国产精品999| 久热爱精品视频线路一| 亚洲激情视频网站| 国产精品久久久久久久久免费| 亚洲国产精品热久久| 日韩精品中文字幕在线播放| 国产精品夜色7777狼人| 欧美黑人性猛交| 国产精品盗摄久久久| 欧美中在线观看| 亚洲一区二区久久久久久| 日韩视频精品在线| 2023亚洲男人天堂| 高潮白浆女日韩av免费看| 国产日韩中文字幕| 911国产网站尤物在线观看| 日韩在线国产精品| 欧美老少配视频| 日韩av在线资源| 在线精品视频视频中文字幕| 国产欧美一区二区| 欧美日韩国产精品一区| 国产精品视频在线播放| 一区二区三区在线播放欧美| 欧美日韩在线视频首页| 久久6免费高清热精品| 成人动漫网站在线观看| 精品久久久久久久久久久| 91亚洲精品一区二区| 欧美大片免费观看在线观看网站推荐| 裸体女人亚洲精品一区| 最好看的2019的中文字幕视频| 国产精品夜间视频香蕉| 欧美成人午夜激情视频| 国产精品视频最多的网站| 国产日本欧美一区二区三区在线| 热99在线视频| 国产成人97精品免费看片| 亚洲成色777777在线观看影院| 一本色道久久综合亚洲精品小说| 中文字幕无线精品亚洲乱码一区| 日韩精品视频在线免费观看| 欧美丰满少妇xxxxx| 欧美精品18videos性欧美| 欧美日韩在线免费观看| 国产精品自拍视频| 欧美日韩免费区域视频在线观看| 这里精品视频免费| 日韩在线激情视频| 中文字幕精品www乱入免费视频| 国产精品久久久久久久久久久久久久| 亚洲大胆美女视频| 亚洲国产欧美久久| 久久99精品久久久久久琪琪| 不卡伊人av在线播放| 亚洲一区999| 日韩免费在线看| 日韩电影中文字幕在线观看|