首页 > 系统相关 >Linux 处理CPU和内存参数的方式总结

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

时间:2023-05-09 19:55:06浏览次数:37  
标签:cpu system devices echo sys 内存 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 

效果查看

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,system,devices,echo,sys,内存,Linux,CPU
From: https://www.cnblogs.com/jinanxiaolaohu/p/17386059.html

相关文章

  • rocky linux: 修改sshd的默认端口(Rocky Linux 9.1)
    一,修改防火墙,允许指定的新端口访问[root@img~]#firewall-cmd--zone=public--add-port=31234/tcp--permanentsuccess[root@img~]#firewall-cmd--reloadsuccess[root@img~]#more/etc/firewalld/zones/public.xml<?xmlversion="1.0"encoding="utf-8"......
  • linux RAID磁盘阵列
    目录一、RAID磁盘阵列二、RAID的分类三、奇偶校验四、配置RAIO6过程            一、RAID磁盘阵列原理:全称为独立冗余磁盘阵列,将多个硬盘组合成一个逻辑驱动器,变为一体的。以RAID整体操作,可以提高磁盘高可用性和性能。作用:RAID无论是哪个,......
  • delphi 初识内存流: 从设置用户头像到从数据库存取图片到的过程
    所谓"流",就是一段数据或是一块内存;在进行流操作时,我们不必关心流中的数据到底是什么;只需要知道流的大小和当前的指针位置.所以流只有两个属性: Size、Position.对流的操作,不过就是读取和写入.所以流最主要的方法就是Read和Write.在很多控件的使用中,读取主要用Lo......
  • rocky linux:修改hostname(Rocky Linux 9.1)
    一,修改hostname:1,通过hostnamectl命令修改hostname[root@blog~]#more/etc/hostnameblog[root@blog~]#hostnamectlset-hostnameimg[root@blog~]#more/etc/hostnameimg可以看到原本保存在/etc/hostname中的值在用hostnamectl命令处理后发生了变化所以我们也可以......
  • Linux(centos7.9)搭建ldap服务器
    一.LDAP是什么 后期更新,目前只搭建了服务器 二.linux搭建LDAP服务器以下服务器信息为该文档安装Radius服务环境 服务器信息:CentOS7  内核版本:3.10.0-1160.el7.x86_64 1.使用yum进行安装yum-yinstallopenldapcompat-openldapopenldap-clientsopenldap-serv......
  • linux环境部署--Reids3.2.5
    linux环境部署--Reids3.2.5redis-3.2.5.tar.gz提取码:19991、进入/usr/local/src/目录cd/usr/local/src/2、下载Redis3.2.5wgethttp://download.redis.io/releases/redis-3.2.5.tar.gz3、解压缩并进入文件夹tarxzfredis-3.2.5.tar.gzcdredis-3.2.54、编译Redis,命令......
  • 解析内存中的高性能图结构
    在进行各种图处理、图计算、图查询的时候,内存或是硬盘中如何存储图结构是一个影响性能的关键因素。本文主要分析了几种常见的内存图结构,及其时间、空间复杂度,希望对你有所启发。通常来说,对于图结构的几种常见的基础操作:插入一个点插入一个边删除一个边删除一个点的全部邻边......
  • linux|Windows|Xshell——Windows远程连接Linux服务器进行上传、下载文件,用远程登录工
    Windows远程连接Linux服务器进行操作时总会需要上传、下载文件。要实现这个目的,既可以通过FTP的方式,也可以在本地终端使用scp命令。但如果是使用Xshell等工具操作服务器的话,最简单的方法就是其自带支持的sz、rz命令了。这两个命令可以直接上传、下载文件,并自动弹出文件选择框,操作......
  • linux定时备份日志文件脚本,重启jar简易脚本
     1.编写脚本文件saveLogs.sh (备份文件到指定位置重命名,然后情况文件继续写入)  cp/opt/zcgl/zcgl.log/opt/zcgl/logs/zcgl-`date+%Y%m%d`.log&  sleep2  >zcgl.log2. 定时脚本crontab 打开设置:crontab-e 输入内容:5923***sh/opt/zcgl/saveLogs.......
  • linux查看进程的网速情况
    查看网卡信息:ifconfig-a 使用nload -m 可以查看设备当前网络带宽情况。如何查看各个进程的网络带宽呢,可以用到 nethogs工具。 工具安装yuminstallepel-releasesudoyuminstall-ynethogs #执行命令nethogs在这里可以看到进程的网络带宽......