首页 > 系统相关 >CentOS检查和禁用transparent hugepages

CentOS检查和禁用transparent hugepages

时间:2022-11-17 19:55:10浏览次数:43  
标签:大页 sysctl CentOS vm hugepages HugePages nr transparent

1.查看系统当前使用的匿名透明大页

# grep -i AnonHugePages /proc/meminfo
AnonHugePages: 1216512 kB

2.查看哪些应用在使用匿名透明大页

$ sudo awk  '/AnonHugePages/ { if($2>4){print FILENAME " " $0; system("ps -fp " gensub(/.*\/([0-9]+).*/, "\\1", "g", FILENAME))}}' /proc/*/smaps

3.如何分配大页

在运行时候,可以使用命令sysctl -w来分配大页。

在分配之前,查看大页的使用情况

# grep -i huge /proc/meminfo
AnonHugePages:     10240 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
可以看到,没有使用大页   目前,系统的内存情况
# free -m
              total        used        free      shared  buff/cache   available
Mem:           3790         194        3318          46         277        3314
Swap:           759           0         759
为大页保留512MB内存 (这只是对连续的内存有效,所以,可能需要重启系统,确保有连续的可用内存)
# sysctl -w vm.nr_hugepages=512
vm.nr_hugepages = 512
再来查看一下内存,free部分变少了。因为预留给了大页
# free -m
              total        used        free      shared  buff/cache   available
Mem:           3790        1220        2292          46         277        2289
Swap:           759           0         759
再次查看一下大页信息
# grep -i huge /proc/meminfo
AnonHugePages:     14336 kB
HugePages_Total:     512
HugePages_Free:      512
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

要想使配置永久生效,可以在/etc/sysctl.d/目录中增一个配置文件:

# cat /etc/sysctl.d/10-hugepages.conf
vm.nr_hugepages=512
4.禁用透明大页 修改文件/etc/sysconfig/grub添加transparent_hugepage=never
GRUB_CMDLINE_LINUX="novga console=ttyS0,115200 panic=1 numa=off elevator=cfq rd.md.uuid=d265dd3d:9ee4d53a:597b8c08:8201b9af rd.lvm.lv=os/root rd.md.uuid=5398452a:ab1b8e91:4307b53b:5c3cccbd rd.md.uuid=131bc1e7:7c9087c3:03f3ad4a:7cde170c noht rhgb quiet transparent_hugepage=never"
修改后需要重新build一下GRUB2配置文件
# grub2-mkconfig -o /boot/grub2/grub.cfg
# shutdown -r now
5.使用sysctl永久禁用透明大页 创建一个配置文件,添加vm.nr_hugepages=0
# cat /etc/sysctl.d/disable_hugepage.conf
vm.nr_hugepages=0
在重新刷新dracut条目之前,确认一下没有initramfs内容
# lsinitrd /boot/initramfs-`uname -r`.img | grep hugepage
# dracut -f
# lsinitrd /boot/initramfs-`uname -r`.img | grep hugepage
-rw-r----- 1 root root 18 Jul 31 18:46 etc/sysctl.d/disable_hugepage.conf
# cat /sys/devices/system/node/node*/meminfo | fgrep Huge
Node 0 AnonHugePages: 0 kB
Node 0 HugePages_Total: 0
Node 0 HugePages_Free: 0
Node 0 HugePages_Surp: 0
6.运行时禁用透明大页 nr_hugepages表示当前在大页池中Persistent的大页,一个任务释放的Persistent的大页会被返回给大页池。 具有root权限的用户,通过修改nr_hugepages,可以动态增加或减少Persistent的大页 显式地为当前会话禁用透明大页:
# echo 0 > /proc/sys/vm/nr_hugepages
# cat /proc/sys/vm/nr_hugepages
0
# sysctl vm.nr_hugepages
vm.nr_hugepages = 0
运行时禁用透明大页
# echo never > /sys/kernel/mm/transparent_hugepage/enabled
# echo never > /sys/kernel/mm/transparent_hugepage/defrag

 

标签:大页,sysctl,CentOS,vm,hugepages,HugePages,nr,transparent
From: https://www.cnblogs.com/abclife/p/16900135.html

相关文章

  • Centos开放端口
    开启防火墙systemctlstartfirewalld开放某个端口firewall-cmd--zone=public--add-port=6379/tcp--permanent其中zone表示作用域,参数permanent表示永久生效......
  • Centos7 SRS直播服务器搭建
    安装git工具,然后进行安装yum-yinstallgitgitclone-b4.0releasehttps://gitee.com/ossrs/srs.gitcdsrs/trunk./configuremake./objs/srs-cconf/s......
  • 定制Centos8的图形用户界面之定制图形元素
    解压install.img之后。挂载squashfs-root/LiveOS/rootfs.img到一个空文件夹安装程序的可自定义图形元素存储在安装程序运行时文件系统的 /usr/share/anaconda/pixmaps/ ......
  • 基于centos7.9二进制部署kubernetes1.25.4
    基于centos7.9二进制部署kubernetes1.25.41、环境准备IP地址主机角色系统192.168.100.153k8s-master01K8S集群主节点Centos7.9192.168.100.154k8s-ma......
  • centos7安装及基本配置
    镜像源:https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.0.1406/isos/x86_64/ centos镜像后缀详解linux发行版:linux内核基础上+系统层(系统库,设备驱动程序,......
  • 如何在CentOS 7上安装Apache Kafka
    介绍ApacheKafka是一种流行的分布式消息代理,旨在有效处理大量实时数据。Kafka集群不仅具有高度可扩展性和容错性,而且与其他消息代理(如ActiveMQ和RabbitMQ相比,它还具有更......
  • LINUX CENTOS7 部署步骤 EMQX
    0. MQTT服务器开源https://www.emqx.io/zh1.官方安装教程https://www.emqx.io/zh/downloads?os=CentOS2.搬运curl-shttps://assets.emqx.com/scripts/install-e......
  • centos7 php 服务重启
    apache服务启动systemctlstarthttpd停止systemctlstophttpd重启systemctlrestarthttpdmysql服务启动systemctlstartmysqld停止systemctlstopmysq......
  • centos扩展磁盘
    1.centos扩展磁盘分区1.1系统环境vmwarecentos7.92.扩展步骤2.1步骤一关机状态下在设置->硬盘->扩展->选择硬盘大小;我这里选择扩展到50G2.2步骤二进......
  • CentOS 7 开启 iptables
    1、关闭CentOS7自带的 firewall防火墙#关闭防火墙systemctlstopfirewalld#取消开机启动systemctldisablefirewalld2、安装 iptables-services#Cetnos7默认已......