0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux 处理CPU和内存参数的方式分享

jf_78858299 来源:济南小老虎 作者:济南小老虎 2023-05-12 11:22 次阅读

关闭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

效果查看

lscpu
numa没有节点信息
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/online
echo 0 > /sys/devices/system/cpu/cpu63/online
echo 0 > /sys/devices/system/cpu/cpu95/online
echo 0 > /sys/devices/system/cpu/cpu127/online

开启很简单:
echo 1 > /sys/devices/system/cpu/cpu31/online
echo 1 > /sys/devices/system/cpu/cpu63/online
echo 1 > /sys/devices/system/cpu/cpu95/online
echo 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 之后可以进行绑定 性能最优.
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10733

    浏览量

    209976
  • Linux
    +关注

    关注

    87

    文章

    11139

    浏览量

    208205
  • 内存
    +关注

    关注

    8

    文章

    2912

    浏览量

    73641
收藏 人收藏

    评论

    相关推荐

    Linux内存管理是什么,Linux内存管理详解

    是连续的,SMP系统中的每个处理器访问各个内存区都是同样快的;而NUMA模型则是指SMP中的每个CPU都有自己的物理内存区,虽然C
    的头像 发表于 05-11 17:54 5872次阅读
    <b class='flag-5'>Linux</b>的<b class='flag-5'>内存</b>管理是什么,<b class='flag-5'>Linux</b>的<b class='flag-5'>内存</b>管理详解

    CPU内存区域详解

    CPU内存区域是全系统声明的区域。由此,这些区域不必在逻辑块中声明。每个CPU均提供以下有各自地址范围的内存区域。
    发表于 08-25 09:26 2487次阅读

    走进Linux内存系统探寻内存管理的机制和奥秘

    Linux 内存是后台开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定性。本文主要介绍Linux 内存组织结构
    的头像 发表于 01-05 09:47 1543次阅读

    LinuxCPU内存占用率查看

    我们经常需要查看CPU内存占用率,否则一旦存在情况很快就会有IDC(或客户)找上门,Linux上查看资源使用情况有多种命令可以参考,CPU内存
    发表于 07-24 06:52

    Linux内存系统---走进Linux 内存

    Linux内存系统---走进Linux 内存 1、内存是什么?1)内存又称主存,是
    发表于 08-26 08:05

    linux内存管理机制浅析

    本内容介绍了arm linux内存管理机制,详细说明了linux内核内存管理,linux虚拟内存
    发表于 12-19 14:09 73次下载
    <b class='flag-5'>linux</b><b class='flag-5'>内存</b>管理机制浅析

    基于ARM_CPULinux物理内存管理

    关于arm cpu内存的介绍
    发表于 02-15 23:53 5次下载

    linux内存管理

    linux内存管理
    发表于 10-24 11:12 3次下载
    <b class='flag-5'>linux</b><b class='flag-5'>内存</b>管理

    学会处理Linux内核访问外设I/O资源的方式

    Linux内核访问外设I/O内存资源的方式有两种:动态映射(ioremap)和静态映射(map_desc)。
    发表于 05-05 13:54 448次阅读

    了解并学习Linux内存模型

    model,其实就是从cpu的角度看,其物理内存的分布情况,在linux kernel中,使用什么的方式来管理这些物理内存
    发表于 05-12 09:44 657次阅读
    了解并学习<b class='flag-5'>Linux</b><b class='flag-5'>内存</b>模型

    Linux CPU的性能应该如何优化

    Linux系统中,由于成本的限制,往往会存在资源上的不足,例如 CPU内存、网络、IO 性能。本文,就对 Linux 进程和 CPU
    的头像 发表于 01-18 08:52 3280次阅读

    CPU参数、主板设置里的内存频率有啥区别

    现在是买内存的好时机,有一个问题不知道小伙伴们弄清楚了没,CPU参数、主板设置里都有内存频率,CPU是固定的,而主板经常有一堆频率可选。这就
    的头像 发表于 09-09 11:41 7099次阅读

    如何用脚本来获取linux系统CPU内存、磁盘IO,及原理解释

    今天主要分享一个shell脚本,用来获取linux系统CPU内存、磁盘IO等信息。
    的头像 发表于 04-08 14:40 2901次阅读
    如何用脚本来获取<b class='flag-5'>linux</b>系统<b class='flag-5'>CPU</b>、<b class='flag-5'>内存</b>、磁盘IO,及原理解释

    Linux系统的共享内存的使用

    但有时候为了让不同进程之间进行通信,需要让不同进程共享相同的物理内存Linux通过 共享内存 来实现这个功能。下面先来介绍一下Linux系统的共享
    的头像 发表于 11-14 11:55 1207次阅读

    Linux 内存管理总结

    一、Linux内存管理概述 Linux内存管理是指对系统内存的分配、释放、映射、管理、交换、压缩等一系列操作的管理。在
    的头像 发表于 11-10 14:58 451次阅读
    <b class='flag-5'>Linux</b> <b class='flag-5'>内存</b>管理总结