美文网首页
Linux系统调优-CPU

Linux系统调优-CPU

作者: 小御茶 | 来源:发表于2022-10-17 09:45 被阅读0次

Linux下系统调优,内容总结主要来自于工作经验和参考部分网络博客及红帽官方博客的结合,主要选取了一些个人理解的以及有过实践的内容,还有一些觉得比较有价值但是没实践过的方向。之所以要总结系统调优,是因为我们服务器厂商在硬件配置一定,BIOS选项配置一定的情况下, 再想让相关性能获得提升就只能在系统下进行设置,因此也是有必要有一个完整的了解。因为是比较完整的,可能罗列出了许多方向,对于这些方向,怎么样调能带来怎么样的效果,肯定是需要实践后才能确认的,在遇到具体问题和需求时可以从这些方向上下手,分成五个小部分,分别是CPU、内存、存储、网络、整体工具tuned-adm

一、Cpu
1.CPU工作模式
CPU的性能设置和查询通过cpupower工具来完成,一共有下图五种模式


cpupower模式.PNG

需要CPU时时刻刻工作在最高频率的话设置为performance就可以,如下图是查询当前频率信息和设置性能模式的方法


cpupower设置.PNG

2.谈谈监控
简单的监控我推荐使用turbostat工具查看CPU各个核心的实时工作频率,如果用lscpu命令或者cat /proc/cupinfo查看到的CPU频率,可能不是准确的,结合实践以及查阅了一些资料基本可以确认turbostat的计算方式是更准确的。本博客之前有一篇放了一个CPU频率监测脚本,那个脚本内是监测/proc/cpuinfo的,目前来看其实有点缺陷,但是因为这种不准确往往出现在CPU频率是最高的时候,所以用来监测频率降低这些异常还是没什么问题的。如下图是turbostat直接敲下的例子,各个参数的意思可以看下面这个博客
https://blog.csdn.net/zhangbaoxiang/article/details/114658605

turbostat.PNG

还可以用sysstat工具里的mpstat命令监控各个核心的使用率,如下图是查询当前非idle的核心,这种监控方式用来帮助我们定位一些CPU性能为瓶颈时的系统性能问题,可以找到异常核心


mpstat.PNG

3.优化进程
上面说的是整个系统的设置,具体到我们需要对某个进程来多分配些CPU资源,或者避免进程之间使用相同的CPU资源,影响了进程的性能,可以使用taskset工具,taskset –c 0,1 ./xxx.sh就是把0,1核心分配给了这个脚本。这个工具相对简易一点,更推荐使用的是numactl工具。这个工具管理的更为全面,通过numactl –hardware可以查看如下图,每个node节点分配到的内存与CPU核心


numactl.PNG

通过下图的方法可以知道某个设备所在的numa节点,并根据numa节点知道设备对应所在的CPU核心,如果是类似网卡设备调优,那么网卡测试进程就绑在网卡所在的CPU核心上,硬盘测试同理


numanode.PNG

当然如果资源比较充裕,不用管具体哪些核心,把某个numa节点下的cpu核心全绑定在某进程上也可以,通过numactl –cpubind=0 –membind=0 ./xxx.sh就可以把nudo0的资源分配给这个脚本,设置之后,也可以使用numastat命令查看各个节点的使用状态


numastat.PNG

各个具体参数可以去网上找博客查看,我了解到的就是othernode如果过高,说明你的分配或者是系统自动分配的不太合理,需要重新分配相关进程资源。除此之外nuamctl也可以和taskset一样自由分配CPU节点,通过numactl –C 0-15 ./xx.sh即可将脚本绑定到0-15核心上。要注意的是,我们在绑核的时候,无论是taskset还是nuamctl,都尽量不要跨numa,比如0-15要确保是一个numa节点上的,是否是一个numa节点可以通过numactl –hardware的结果里看到

4.CPU中断irqbalance
如果CPU中断没有很好的平衡,容易出现性能瓶颈,正常情况下需要启用

service irqbalacne start

在之前的工作中有印象给网卡设置过中断来提升网卡性能,下面的第一条命令可以列出所有中断号,其中第一列是中断号,第七列可以看是什么设备。第二条命令可以查看该中断号对应的CPU核心,通过echo XX具体的核心数可以更改具体的核心,通常需要该核心同样是网口所在numa节点的核心,性能会比较好

cat /proc/interrupts
cat /proc/irq/55/smp_affinity_list

相关文章

  • Linux系统调优-CPU

    Linux下系统调优,内容总结主要来自于工作经验和参考部分网络博客及红帽官方博客的结合,主要选取了一些个人理解的以...

  • optimize

    linux性能分析及调优__cpu 性能瓶颈调优可调性能参数 、内存性能瓶颈可调性能参数(操作系统设置swap的目...

  • Performance Tuning (TBD)

    性能调优是个大而复杂的系统性问题,涉及Linux系统(进程管理,文件系统,磁盘系统,网络IO处理等),内核参数调优...

  • 10分钟后性能测试瓶颈调优!想进大厂这个必须会

    目录 引言:性能瓶颈调优 性能调优步骤 性能瓶颈概率分布 系统资源 CPU top 参数详解 性能分析思路 案例分...

  • 技术站点

    系统 环境 服务器mnt挂载磁盘 ubuntu系统备份恢复 性能 linux性能监测工具 linux系统级调优工具...

  • Linux系统调优

    linux系统[https://www.linuxprobe.com/]安装完毕后,首先要做的就是系统调优,这样会...

  • Linux系统调优

    一 二 IO

  • Twitter 工程师谈 JVM 调优

    一. 调优需要关注的几个方面 内存调优 CPU 使用调优 锁竞争调优 I/O 调优 二. Twitter 最大的敌...

  • Linux系统CPU的性能监控及调优

    性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频繁死锁等。尤其...

  • JavaWeb之四——IO调优

    磁盘IO调优 网络I/O调优 磁盘IO调优 性能检测 注: IO wait= (cpu idle time)/(a...

网友评论

      本文标题:Linux系统调优-CPU

      本文链接:https://www.haomeiwen.com/subject/chujzrtx.html