首页
学习
活动
专区
工具
TVP
发布

Linux CPU 性能优化指南

本文作者:allenxguo,腾讯 QQ 音乐后台开发工程师 本文主要帮助理解 CPU 相关的性能指标,常见的 CPU 性能问题以及解决方案梳理。...Linux 通过/proc虚拟文件系统向用户控件提供系统内部状态信息,其中/proc/stat则是 CPU 和任务信息统计。...问题优化方向 性能优化往往是多方面的,CPU、内存、网络等都是有关联的,这里暂且给出 CPU 优化的思路,以供参考。...为进程设置资源限制:使用 Linux cgroups 来设置进程的 CPU 使用上限,可以防止由于某个应用自身的问题,而耗尽系统资源。...开启 irqbalance 服务或者配置 smp_affinity,就可以把中断处理过程自动负载均衡到多个 CPU 上。 参考 极客时间:Linux 性能优化实战 ?

8K55
您找到你想要的搜索结果了吗?
是的
没有找到

CPU性能优化干货总结

一、背景 部门成立专项组,对数智平台和站务系统做性能优化,其中目标之一为降低服务端硬件成本,即在32G内存、CPU银牌的配置下,能支撑1万+发客量。...要达到此目标,需通过压力测试并配合监控系统,以QPS、RPS、接口响应时间、接口成功率、SQL耗时、JVM运行情况、CPU和内存运行情况等数据指标为依据,找出系统中存在的性能瓶颈。...2、数智平台性能排查及解决过程 2.1、接口缓存 以上数据显示,站务系统tomcatA仅占用了15%的CPU,需要找到其他65%消耗在哪。...第一步,下载async-profiler-2.8.3-linux-x64.tar.gz,并解压 第二步,执行数据采集命令,生成CPU运行火焰图:./profiler.sh -d 60 -f ....: 4、其他优化 为减少CPU消耗,JVM垃圾收集器由CMS改为G1

23051

Linux - CPU性能评估_详解查看CPU性能的命令

us的值比较高时,说明用户进程占用CPU的时间多,但是如果长期大于50%,就需要考虑优化程序或算法。 sy列显示了内核进程占用CPU的时间百分比。...统计单个CPU的使用情况 [root@VM-24-3-centos ~]# sar -P 0 3 5 Linux 3.10.0-1160.11.1.el7.x86_64 (VM-24-3-centos)...例如,本输出中系统有2个CPU,如果load average的三个值长期大于2,就说明CPU很繁忙,负载很高,可能会影响系统性能,但是偶尔大于2时,也不用担心,一般不会影响系统性能。...通过这些命令可以了解系统CPU是否出现性能瓶颈。也就是说,以上这些命令只能查看CPU是否繁忙,负载是否过大,但是无法知道CPU为何负载过大。...引起CPU资源紧缺的原因可能是应用程序不合理造成的,也可能是硬件资源匮乏引起的,所以,要具体问题具体分析,或者优化应用程序,或者增加系统CPU资源。

7.1K30

Linux性能优化篇-了解CPU上下文切换

Linux是一个多用户用任务的操作系统,他支持远远大于cpu的进程数运行,而cpu每次却只能运行一个任务,所以其实这些任务其实并不是在同时运行,整个过程是cpu轮流运行任务,给用户带来的假象。...根据任务的不同,CPU上下文切换可以分几种不同场景: 进程上下文切换 线程上下文切换 中断上下文切换 进程上下文切换 Linux分为内核空间和用户空间: ?...Linux会为每个cpu都维护一个就绪队列,也就是进程状态为R状态的的进程,最理想状态是之前的进程完成,cpu得到释放,下一个进程得到cpu使用,但是实际情况是不同的。...to 软中断 所以回到上下文切换多少合适,这个数值还是取决于cpu性能,如果想要系统比较稳定,这个值可以尽量控制在几百到一万之间,如果超过一万或者指数级增量,一般都是出现性能问题。...总结: sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试 自愿上下文切换变多,说明进程在等待资源,可能I/O等其他问题 非自愿上下文切换变多

4.7K76

Linux性能优化

性能优化 性能指标 高并发和响应快对应着性能优化的两个核心指标:吞吐和延时 应用负载角度:直接影响了产品终端的用户体验 系统资源角度:资源使用率、饱和度等 性能问题的本质就是系统资源已经到达瓶颈,但请求的处理还不够快...下面是常用的Linux Performance Tools以及对应分析的性能问题类型。...某个应用的CPU使用率达到100%,怎么办? Linux作为多任务操作系统,将CPU时间划分为很短的时间片,通过调度器轮流分配给各个任务使用。...性能报告显示确实时stress占用了大量的CPU,通过修复权限问题来优化解决即可. 系统中出现大量不可中断进程和僵尸进程怎么办?...如果是软中断导致用/proc/softirqs CPU优化 应用程序优化 编译器优化: 编译阶段开启优化选项, 如gcc -O2 算法优化 异步处理: 避免程序因为等待某个资源而一直阻塞,提升程序的并发处理能力

2.7K20

Linux服务器性能评估与优化(一)--CPU和负载

1、前言简介 1.1、影响Linux服务器性能的因素 1. 操作系统级 性能调优是找出系统瓶颈并消除这些瓶颈的过程。...性能评估与优化cpu,内存,IO, 网络 系统工具图: 2、负载:整体性能评估 2.1系统整体性能评估(uptime命令/top) # uptime 16:38:00 up 118 days,...us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,就需要考虑优化程序或算法。 sy:内核进程消耗的CPU时间百分比。...linux 内核把一个双核处理器当做 2 个 CPU,所以一个拥有 2 颗双核心的系统将被视为 4CPU。...具体参考:LinuxCPU利用率计算原理及内核实现(Linux CPU利用率计算原理及内核实现 – Linux Kernel Exploration) 问题 1.你是否遇到过系统CPU整体利用率不高,而应用缓慢的现象

4.3K10

Linux CPU 性能指标

CPU性能指标可以从两方面来看:静态、动态 静态指标主要包括: CPU的型号、主频、核数、cache等 动态指标主要包括: CPU的平均负载状况、CPU的使用率、最耗CPU的进程有哪些 查看静态信息...查看动态信息 服务器变慢时,通常会先查看下CPU的负载是否过高,如果高了,再看下是哪些进程最耗费CPUCPU使用率也是重要指标,让我们知道CPU消耗在哪些部分 01 CPU负载状况 通过负载信息能够直观的了解到...CPU的压力状况,linux会给出最近1分钟、5分钟、15分钟的平均负载值 可以通过 top 命令查看 ?...有一个经验型的标准: CPU负载上限值 = CPU的核数 * 4 例如是4核CPU,那么CPU的负载最好不要超过16,否则,CPU的压力就很大了 好比一个超市,有4个收银台,如果有16个顾客在排队结账...CPU的情况

3.3K60

Ubuntu Linux CPU GPU 性能测试

Linux越来越容易上手和使用,其用户越来越多,如何在Linux下测试CPU/GPU等性能呢?...除了显示有关系统的常规信息外,HardInfo还提供了一些基准测试工具来衡量您的硬件性能。...就CPU基准测试而言,它包括五种方法:CPU Blowfish,CPU CryptoHash,CPU斐波那契,CPU N-Queens和CPU Zlib。...Linux并非以其游戏能力和可能性而闻名,自然而然,没有太多可供用户用来测试其图形硬件的GPU基准测试工具。但是,有些基准测试套件可以帮助精确确定GPU性能的各个方面。...从技术上讲,Linux中所有可用的GPU基准测试工具当然只能在OpenGL渲染器下进行测试。尽管GPU可能与某些版本的Direct3D兼容,但无法在Linux下测试此渲染器。

22.2K72

NodeJS 性能优化CPU 看图篇

作为前端出身的NodeJS开发者们,产生共鸣的那就是如何能够直观且快速发现性能瓶颈,能够像调试前端的JS代码那样可视化,堆栈化,接下来我们就针对常见的CPU性能分析方法来揭开NodeJS的CPU面纱。...一、CPU使用情况可视化展示(火焰图—Flame Graph) 充分利用劳动工具有助于帮助我们提升定位问题的效率,Linux kernal自带的系统性能分析工具perf,为我们提供函数级与指令级的热点查找.../flamegraph.pl --color=js –hash > xxx.svg,如下图: 二、CPU火焰图的理解与性能分析 2.1 通过上面的步骤采集出两种不同颜色系的火焰图,如下图 2.2 火焰图颜色对应关系...,如下表: 颜色 类型 绿色 JS代码调用 蓝色 优化编译代码 黄色 C++/C代码 红色 libuv系统调用 2.3 火焰图形状对应关系 形状 含义 每一个平面方块 一个函数在栈中的位置(也称一个栈帧...或者使用CPU很频繁 2.4 JSON序列化与反序列化火焰图分析 采用ab进行压力测试分析JSON.parse与JSON.stringify性能开销 压测命令:ab –n 3000000 -c 50

7.5K40

性能优化Linux系统性能优化汇总

大多数Linux 发布版都定义了适当的缓冲区和其他 Transmission Control Protocol(TCP)参数。可以修改这些参数来分配更多的内存,从而改进网络性能。...因此,花一些时间对磁盘硬件进行优化是有意义的。 首先要做的是,确保在文件系统上禁用 atime 日志记录特性。atime 是最近访问文件的时间,每当访问文件时,底层文件系统必须记录这个时间戳。...为提高性能,可以根据设备资源情况, 设置各linux 用户的最大进程数,下面我把某linux用户的最大进程数设为10000个: ulimit -u 10000 对于需要做许多 socket...对其它子系统的影响:影响CPU利用率,尤其在有大量TCP连接、块尺寸又非常小时,内存的使用会明显增加。...如何预防性能下降 如下的sysctl命令用于改变安全设置,但是它也可以防止网络性能的下降。这些命令被设置为缺省值。

1.4K60

谈谈 Linux 性能优化

无论你是运维还是开发,可能都经历过这样的场景: 流量高峰期,服务器 CPU 使用率过高报警,你登录 Linux 上去 top 完之后,却不知道怎么进一步定位,到底是系统 CPU 资源太少,还是程序并发部分写得有问题...Linux 性能优化是个系统工程,除了要学习那些基础知识点之外,还有 2 点比较重要: 掌握性能优化的思路和方法,尝试大量 Linux 性能工具; 从学习到输出,说白了就是不断实践,从实践中总结经验。...为了让你对性能有个全面的认识,可以看看下面这张思维导图,里面涵盖了大部分性能分析和优化都会包含的知识。 △ Linux 性能优化思维导图 另外,我还要特别强调一点,就是性能工具的选用。...哥们有着近 10 年的云计算工作经验,所以对 Linux 性能优化这套东西有一些自己的思考和沉淀。...结合目录我总结了一下,要把这个硬核的专栏「啃下来」,你能获得下面这些知识: 掌握 Linux 必备的基本原理以及 Linux 系统必懂的性能指标(CPU、磁盘 I/O、内存以及网络)和性能工具。

1.3K30

Linux 性能优化(一)

学习性能优化第一步了解性能指标 我们最常见的两个核心指标 “吞吐” 和“时延” [image.png] 性能问题的本质就是系统资源已经达到了瓶颈,但是请求资源还不够快,无法支撑更多的请求。...性能分析 其实就是找出 系统资源 或者 应用程序 的瓶颈,并设法去避免或者缓解它们,更 高效地利用系统资源去处理更多的请求。...这包含了一些列的步骤,比如以下的步骤: 选择指标评估应用程序和系统性能 为应用程序和系统性能设定目标 进行性能基准测试 性能分析定位瓶颈 优化系统和应用程序 性能的监控和告警 说到 性能分析 必须要提大师...布伦丹·格雷格(Brendan Gregg)以及其相关的一张经典图 可以查看详细链接http://www.brendangregg.com/Perf/linux_perf_tools_full.png

90840

linux性能优化心得

大量等待CPU的进程调度也会导致平均负载升高,此时CPU使用率也会比较高 1.5 总结 平均负载产生的意义,快速查看整个系统整体性能手段,反映整体的负载情况。...日常工作中 可以以这个负载做为一个快速发生系统是否有负载问题的指标,另外可以以监控的方式覆盖 CPU报警,当然监控越细越好,不同的负载 1.6 推荐命令工具 stress 用来模拟 Linux 系统压测工具...另外,当进程只有一个线程的时候 大家可以理解就是线程切换 根据 Tsuna 的测试报告,每次上下文切换都需要几十纳秒到数微秒的CPU时间,所以优化这个切换非常重要。...展示进程的CPU和任务统计信息 5、cpu的使用率 cpu的使用率={1-(idle_time/total_cpu_time)}/sample_time 6、性能工具给出时间频率 top默认为3s...使用率很高,但为啥找不到高的CPU应用 课前 安装pstress yum install psmisc 在怀疑性能工具出问题前,最好还是先用其他工具交叉确认一下 实验过程 查看运行的时间情况

75920

Linux 性能优化(三)

什么是上下文切换 根据任务的不同 CPU上下文切换可以分为进程上下文切换 线程上下文切换和中断上下文切换 CPU上下文切换是保证Linux系统正常工作的核心功能之一,Linux多任务操作系统主要原因之一就是因为将...CPU执行时间划分为时间片,轮流将这些时间片分配给多个任务执行,造成多个任务同时执行的效果。...频繁的上下文切换会把时间用在寄存器/内核栈/以及虚拟内存等数据的保存和恢复上,从而缩短进程真正执行的时间,导致系统的整体性能下降 系统调用完成的是用户到内核态的转变,系统调用需要将用户态的指令位置先保存起来...,然后将CPU寄存器更新为内核态指令的新位置,然后开始执行内核态代码,而调用结束后,需要恢复用户态指令的位置继续执行。...所以一次系统调用发生了两次CPU上下文切换 # man pidstat -w Report task switching activity (kernels 2.6.23 and later

93100
领券