最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

Linux 处理CPU和内存参数的方式总结

来源:博客园


(资料图片仅供参考)

Linux 处理CPU和内存参数的方式总结

关闭NUMA,关闭透明大页

比较简单的方法: vim /etc/default/grub在 GRUB_CMDLINE_LINUX 里面添加配置: transparent_hugepage=never numa=off修改后的配置为:GRUB_CMDLINE_LINUX="resume=/dev/mapper/uos-swap rd.lvm.lv=uos/root rd.lvm.lv=uos/swap \video=efifb:off rhgb console=tty0 crashkernel=512M transparent_hugepage=never numa=off"生成新的的启动脚本: grub2-mkconfig -o /boot/grub2/grub.cfg 

效果查看

lscpunuma没有节点信息numastat看不到任何numa节点的内容grep Huge /proc/meminfo看到 AnonHugePages: 非0值 说明是启用状态.

关闭超线程

sudo sh -c "echo off > /sys/devices/system/cpu/smt/control"这个命令可以关闭超线程sudo sh -c "echo on > /sys/devices/system/cpu/smt/control"这个命令可以打开超线程

效果查看

htop查看CPU的总数.lscpu查看在线和offline的CPU个数信息.

开启关闭部分核心

echo 0 > /sys/devices/system/cpu/cpu31/onlineecho 0 > /sys/devices/system/cpu/cpu63/onlineecho 0 > /sys/devices/system/cpu/cpu95/onlineecho 0 > /sys/devices/system/cpu/cpu127/online开启很简单:echo 1 > /sys/devices/system/cpu/cpu31/onlineecho 1 > /sys/devices/system/cpu/cpu63/onlineecho 1 > /sys/devices/system/cpu/cpu95/onlineecho 1 > /sys/devices/system/cpu/cpu127/online

查看CPU的启停状态

lscpu 一般结果为:在线 CPU 列表:                  0-30,32-62离线 CPU 列表:                  31,63-127如果没有执行 smt 的设置为:在线 CPU 列表:                  0-30,32-62,64-94,96-126离线 CPU 列表:                  31,63,95,127

禁止CPU被自动调度的方式

禁止被调度的CPU可以通过 taskset的方式绑定过去这种方式的绑核性能更加好一些.基本上不会有上下文切换, 性能是最好的. vim /boot/grub2/grub.cfg同样在 GRUB_CMDLINE_LINUX 处增加设置为:isolcpus=31,63,95,127注意只能用逗号分隔,不能使用空间方式然后执行 grub2-mkconfig -o /boot/grub2/grub.cfg 重启服务器就可以了

手工调度

taskset -c 31,63,95,127 do-something-command注意 taskset 的命令可以使用 区间 "-" 也可以使用 枚举"," 方式进行绑定

offline和isolcpus的区别

offline 直接无法使用了.isolcpus 仅是系统的进程调度不会自己调度到这个内核上面运行.offline 之后无法进行绑定isolcpus 之后可以进行绑定 性能最优.

关键词: