如何在 Ubuntu 16.04LTS 中禁用透明大页面 (THP)

     2023-02-16     238

关键词:

【中文标题】如何在 Ubuntu 16.04LTS 中禁用透明大页面 (THP)【英文标题】:How to disable Transparent Huge Pages (THP) in Ubuntu 16.04LTS 【发布时间】:2017-06-28 11:01:25 【问题描述】:

我正在设置一个带有 3 个运行 Ubuntu 16.04LTS 的 virtualbox VM 的 ambari 集群。但是我收到以下警告:

The following hosts have Transparent Huge Pages (THP) enabled. 
THP should be disabled to avoid potential Hadoop performance issues.

如何在 Ubuntu 16.04 中禁用 THP?

【问题讨论】:

【参考方案1】:

你试过这个命令吗:

sudo su
echo never > /sys/kernel/mm/transparent_hugepage/enabled

?

或者,您可以安装hugepages

sudo su
apt-get install hugepages
hugeadm --thp-never

正如@Anthony 所述,重启后效果不会持续存在。每次重新启动后,使用特定于发行版的方法执行此操作。

【讨论】:

hugepages 命令对我不起作用。我不得不使用hugeadm 请更正hubepages部分,命令为:hugeadm --thp-never【参考方案2】:

安装:

sudo apt install hugepages

然后运行:

sudo hugeadm --thp-never

要保留更改,您可以将最后一条命令添加到 /etc/rc.local

【讨论】:

【参考方案3】:

永久禁用透明大页面 (THP),请选择以下选项中的一个

    通过 GRUB 选项(首选):

    编辑/etc/default/grub 以将transparent_hugepage=never 添加到GRUB_CMDLINE_LINUX_DEFAULT 选项:

     GRUB_CMDLINE_LINUX_DEFAULT="transparent_hugepage=never quiet splash"
    

之后,运行update-grub 命令。 (需要重启才能生效)

    使用 rc.local:

编辑/etc/rc.local并将以下脚本放在exit 0之前

    if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
       echo never > /sys/kernel/mm/transparent_hugepage/enabled
    fi

* 为避免重启(如前所述),您可以通过# echo never > /sys/kernel/mm/transparent_hugepage/enabled 命令禁用它。

【讨论】:

? 可能值得更清楚一点,你只需要做#1或#2,而不是两者都做【参考方案4】:

以下 3 个命令修复了 Ubuntu(14.x/16.x) 上的问题,并使其在系统启动时持续存在。

    sudo apt-get install hugepages sudo hugeadm --thp-never sudo /bin/sed -i '$i /usr/bin/hugeadm --thp-never' /etc/rc.local

【讨论】:

/etc/rc.local 在我的例子中包含 exit 0 作为最后一行。所有脚本都应添加在exit 之前。使用sed 命令代替sudo sed -i '$i hugeadm --thp-never' /etc/rc.local。它将在最后一行之前插入一行。【参考方案5】:

所有这些答案都已过时。尝试了所有这些,并且值不断被覆盖。

这里的指南确实有效​​:https://docs.mongodb.com/manual/tutorial/transparent-huge-pages/

它需要是在启动时正常运行的服务,只需按照本指南进行操作

在 Ubuntu 19.04 上工作,终于抑制了 redis 警告

【讨论】:

也在 Ubuntu 18.04 上工作过。谢谢!

如何检查在 Ubuntu Linux 12.04 LTS 中启用/禁用了哪些 PHP 扩展?

】如何检查在UbuntuLinux12.04LTS中启用/禁用了哪些PHP扩展?【英文标题】:HowtocheckwhichPHPextensionshavebeenenabled/disabledinUbuntuLinux12.04LTS?【发布时间】:2014-08-1215:03:54【问题描述】:我在本地机器上使用UbuntuLinux12.04LTS。我很久以前就在... 查看详情

如何在 Ubuntu 16.04 LTS 64 位上安装/启动 Postman 本机 v4.10.3?

】如何在Ubuntu16.04LTS64位上安装/启动Postman本机v4.10.3?【英文标题】:Howtoinstall/startPostmannativev4.10.3onUbuntu16.04LTS64-bit?【发布时间】:2017-08-1704:57:14【问题描述】:我下载了PostmanforLinux(来自https://www.getpostman.com/apps),将.tar.gz文... 查看详情

在 16.04 LTS 上安装 Docker

...ationon16.04LTS【发布时间】:2016-08-1103:00:34【问题描述】:如何在Ubuntu16.04LTS上安装docker【问题讨论】:docs.docker.com/engine/installation/linux/ubuntulinux涵盖16.04如果您有任何文章可以在Ubuntu16.04LTS上安装docker私有注册表,请 查看详情

在 ubuntu 16.04 lts 上安装 numba 0.30.1

...nubuntu16.04lts【发布时间】:2017-06-2601:51:36【问题描述】:如何在Ubuntu16.04LTS上为Python3安装当前版本(0.30.1)的numba?我的Python版本是3.5.2,我安装了Ubuntu的准系统(我认为是服务器版)【问题讨论】:你试过pip3installnumba@Vi 查看详情

如何在ubuntu16.04和14.04lts中安装postgresql9.5

参考技术A你好,ubuntu软件中心,还有可以从网站下载的deb文件也可以用gdebi或命令或新立德安装 查看详情

sh如何在ubuntu16.04lts-docker中安装python3.6。*(代码片段)

查看详情

如何使用 apt-get 在 Ubuntu 18.04/17.04/16.10/16.04 LTS/15.10/15.04/14.10/14.04 LTS/13.10/13.04 上安装 Maven

】如何使用apt-get在Ubuntu18.04/17.04/16.10/16.04LTS/15.10/15.04/14.10/14.04LTS/13.10/13.04上安装Maven3?[关闭]【英文标题】:HowtoinstallMaven3onUbuntu18.04/17.04/16.10/16.04LTS/15.10/15.04/14.10/14.04LTS/13.10/13.04byusingapt-get?[closed]【 查看详情

如何从ubuntu16.10升级到ubuntu17.04

先决条件:在执行Ubuntu升级之前,您应该做几件事情,例如备份重要的文件和文件夹,禁用或清除第三方PPA(升级过程将禁用这些)并安装所有可用的更新。最后一步很重要,所以请确保您在开始之前已经完全保持最新状态,终... 查看详情

ubuntu16.04lts

Ubuntu16.04LTS 64位系统针对Android6.0sudoaptinstallgit-corebisonbuild-essentialcurlflexgitgnupggperflibesd0-devliblz4-toollibncurses5-devlibsdl-devlibwxgtk3.0-devlibxml2libxml2-utilslzopmavenopenjdk-7 查看详情

在 ubuntu 16.04 上更新 nodejs

...npmupdate命令是用过。现在node-v和nodejs-v有什么区别?以及如何更新到最新的LTS版本 查看详情

无法从 ubuntu 16.04 LTS 卸载节点

】无法从ubuntu16.04LTS卸载节点【英文标题】:Unabletouninstallnodefromubuntu16.04LTS【发布时间】:2018-07-0302:28:57【问题描述】:我尝试了这两个命令来卸载nodejs,但我无法做到。sudoapt-getpurgenodejssudoapt-getautoremove当我检查版本时,它会显... 查看详情

在ubuntu16.04lts下搭建java开发环境

安装JDK1.71.下载所需jdk版本jdk-7u79-linux-x64.tar.gz:jdk历史版本下载路径2.解压文件解压后新增一个文件夹如下:3.创建一个文件夹保存解压后的文件:(/usr/lib一般存放不能直接运行的,却是许多程序运行所必需的一些函数库文件lin... 查看详情

无法在 Ubuntu 16.04 lts 上运行的 apache 2.4.18 服务器上设置 X-Frame 选项

】无法在Ubuntu16.04lts上运行的apache2.4.18服务器上设置X-Frame选项【英文标题】:UnabletosetX-FrameOptionsonapache2.4.18serverrunningonUbuntu16.04lts【发布时间】:2018-08-1811:46:48【问题描述】:我正在尝试在我们的网页上将X-Frame-Options设置为Deny,... 查看详情

我正在尝试运行 CUDA 示例,但我在 Ubuntu 16.04 LTS 上遇到了 openGL (libGLEW.a) 问题

】我正在尝试运行CUDA示例,但我在Ubuntu16.04LTS上遇到了openGL(libGLEW.a)问题【英文标题】:IamtryingtoruntheCUDAexamplebutihaveproblemswithopenGL(libGLEW.a)onUbuntu16.04LTS【发布时间】:2017-04-2100:36:51【问题描述】:我正在尝试在带有NsightEclipse版的... 查看详情

sh在ubuntu16.04lts上安装watchman(https://facebook.github.io/watchman)(代码片段)

查看详情

如何在ubuntu中升级或者安装cmake

...单的语句来描述所有平台的安装(编译过程)。如何在Ubuntu中升级或者安装cmake呢?当然,你要首先删除之前版本的cmake:UsingtheSnappackagemanageristhequickestandeasiestwaytoinstallthelatestversionofCMakeonUbuntu.Ifyou’rerunningUbunt... 查看详情

ubuntu16.04lts成功编译android6.0源码教程(转)

1前言经过3天奋战,终于在Ubuntu16.04上把Android6.0的源码编译出来了,各种配置,各种error,各种爬坑,特写此博客记录爬坑经历。先上图,Ubuntu上编译完后成功运行模拟器,如图:2编译环境UbuntuKylin16.04LTSAndroid6.0_r1OpenJDK73准备工... 查看详情

在ubuntu16.04lts上安装python3.6.0(代码片段)

原文连接:https://segmentfault.com/a/1190000007912666最近Python3发布了新版本Python3.6.0,好像又加入了不少黑魔法!~由于暂时不能使用apt-get的方式安装Python3.6,所以还是直接编译源码安装吧。官网上提供了Mac和Windows... 查看详情