精华内容
下载资源
问答
  • CPU调优

    2019-10-29 14:24:35
    通过taskset命令实现,这个方法可以使用CPU编号或者范围设置CPU关联性 测试绑定后的效果 使用dd命令创建一个后台执行的进程 使用pidstat命令查看15072PID运行在哪个CPU编号上 使用taskset把...

    1 调度优先级

    nice命令可以用来调整进程优先级,正nice值调低优先级,而负值调高优先级,后者只能由超级用户设置,范围为:-20~+19

    什么是nice值:进程可被执行的优先级的修正数值

    PRI :代表这个进程可被执行的优先级(最终优先级),其值越小越早被执行
    NI :代表这个进程的nice值

    PRI即进程的优先级,此值越小进程的优先级别越高。而NI,也就是我们所要说的nice值(通过nice命令设置),其表示进程可被执行的优先级的修正数值。如前面所说,PRI值越小越快被执行,那么加入nice值后,将会使得PRI变为:PRI(new)=PRI(old)+nice。
    所以,nice命令设置的优先级不是程序最终的优先级,而只是优先级的修正数值。

    举个例子:通过nice命令,启动进程时指定nice值

    命令格式:nice -n nice值 COM

    上图说明了 第一次运行sleep没有设置nice值 默认的PRI值为80,第二次运行sleep把nice设置为-10,PRI的最终值为70,第三次运行sleep把nice设置为10,PRI的最终值为90.在CPU调度上的优先顺序为:第2次>第1次>第3次

     

    更改一个已经在运行进程的优先级:renice命令

    命令格式:renice nice值 -p 进程PID

    nice命令在启动进程时候指定nice值,不能修改已运行进程nice,renice是修改已启动进程的nice值。

    .

    2 进程绑定(CPU亲和度)

    一个进程可以绑定在一个或多个CPU上,这样可以通过提高缓存温度和内存本地性来提高性能。

    首先我们绑定进程到CPU上应该知道我们的机器有几颗(几核)CPU

    查看CPU数量

    绑定进程到指定的CPU

    通过taskset命令实现,这个方法可以使用CPU编号或者范围设置CPU关联性

    测试绑定后的效果

    1. 使用dd命令创建一个后台执行的进程
    2. 使用pidstat命令查看15072PID运行在哪个CPU编号上
    3. 使用taskset把15072切换到CPU编号0上
    4. 再次使用pidstat查看是否切换成功
    5. 再次使用taskset切换15072进程到CPU编号6上
    6. 使用pidstat验证是否切换成功

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 本文主要通过 VS 自带的诊断工具,对程序进行CPU调优。 Begin 1. 编译测试 demo 读者可以通过dangwei-90/ProcessOptimize (github.com)下载,也可以自己编写测试 demo. 通过一个 while 循环来占用 CPU 资源。 ...

    工具:vs2019
    系统:win10
    语言:C++
    github 调试 demo: dangwei-90/ProcessOptimize (github.com)

    本文主要通过 VS 自带的诊断工具,对程序进行CPU调优。

    Begin

    1. 编译测试 demo

        读者可以通过 dangwei-90/ProcessOptimize (github.com) 下载,也可以自己编写测试 demo. 通过一个 while 循环来占用 CPU 资源。

    void CProcessOptimizeDlg::TestCpu()
    {
    	while (!is_stop_) {
    		std::cout << "test cpu" << std::endl;
    	}
    }
    
    void CProcessOptimizeDlg::OnBnClickedCpuTest()
    {
    	is_stop_ = false;
    
    	std::thread cpu_thread(&CProcessOptimizeDlg::TestCpu, this);
    	cpu_thread.detach();
    }

    2. 通过 VS 诊断工具

        先启动 debug 调试,然后按 CTRL+ALT+F2 ,开启诊断工具,如下图所示:
        

        如果提示“已禁用使用快照分析....”,点启用即可。

    3. 通过工具开始分析

        程序运行一分钟后,点击全部中断。此时,可以通过工具,分析这一分钟内,各个函数对系统 CPU 的占用比例,以此分析出 CPU 占用高的方法,并对他优化。
        如下图所示:
        

        点击外部代码,查看详情:
        

        根据该行,得知,从 TestCpu() 方法开始,CPU总计接近100%。点击该行继续查看:
        

        左边会有 CPU 占比,可以得知,是由于 TestCpu() 方法中的 while 循环内容,占用了大量的 CPU 资源。

    4. 分析结束

        大家可以通过该方法,对自己的程序,进行 CPU 占用调优。

    over.

    展开全文
  • JVM高CPU调优

    2020-04-03 18:13:30
    在java中,我们会经常预告线上环境高CPU的情况,对于java程序员来说,掌握高CPU的定位和处理十分有必要2. 高CPU一般的原因 full GC 频繁,导致GC线程消耗大量的CPU 线程中出现死循环 3.如何定位高CPU的线程 创建...

    1.背景

    在java中,我们会经常预告线上环境高CPU的情况,对于java程序员来说,掌握高CPU的定位和处理十分有必要
    

    2. 高CPU一般的原因

    • full GC 频繁,导致GC线程消耗大量的CPU
    • 线程中出现死循环

    3.如何定位高CPU的线程

    • 创建demo模拟高CPU
          @Component
          public class HighCpuService implements ApplicationListener<ContextRefreshedEvent> {
          
          
              @Override
              public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
                  Thread thread = new Thread(() -> {
                      while (true) {
                          String demo = new String("highCup");
                          System.out.println(demo);
                      }
                  }, "highCpuThread");
          
                  thread.start();
              }
          }```
    - 使用top找到占用率高的java进程
      ![file](https://img-blog.csdnimg.cn/20200403181329441.png)
    - 使用top -Hp pid找到占用率高的线程
      ![file](https://img-blog.csdnimg.cn/20200403181329679.png)
    - printf “%x\n” 31822 将线程id转成16进制
      ![file](https://img-blog.csdnimg.cn/20200403181329936.png)
    - 使用jstack pid | grep -A10 7c4e
      ![file](https://img-blog.csdnimg.cn/20200403181330326.png)
      - jstack 命令用于查看java线程的栈信息
      - grep用于过滤信息
      - -A10表示搜索到7c4e之后向下显示10行
    - 根据栈中相关的信息(线程名称:例如highCpuThread)定位代码中的问题
      - GC频繁
      - 出现死循环
      
    
    
    展开全文
  • CPU调优并发问题

    2017-08-19 18:16:24
    多核cpu让指定的程序 在指定的cpu上运行 看的是进程类型 cpu消耗型 I/O消耗型多线程并发一个程序运行 我使用到两个cpu核心 我们可以让改程序以线程方式运行 每个核心运行一个线程多核情况下以线程方式运行效果更好...


    多核cpu
    让指定的程序 在指定的cpu上运行 
    看的是进程类型 cpu消耗型 I/O消耗型

    多线程并发
    一个程序运行 我使用到两个cpu核心 我们可以让改程序以线程方式运行 每
    个核心运行一个线程

    多核情况下以线程方式运行效果更好一些,单核的话区别就不大了

    测试 io消耗型
    #!/bin/bash
    for ((i=1;i<255;i++))
    do
    ( if ping -c 1 192.168.0.$i &> /dev/null 
    then
    echo "192.168.0.$i"
    fi ) &
    done

    小括号表示打开一个子进程 &在后台运行

    运行一个死循环脚本
    top -d 1 -p pid 每秒刷新一次 
    f j 添加有一个列 显示最后一次使用的cpu

    top -d 0.1 -p pid 每0.1秒刷新一次

    tastset -c 0 /a.sh 让ash死循环在 0号cpu上运行


    本文出自 “xinsz08の平行时空” 博客,请务必保留此出处http://xinsz08.blog.51cto.com/10565212/1915894

    展开全文
  • Yarn内存和CPU调优配置

    2019-07-16 17:37:48
    Hadoop Yarn同时支持内存和CPU的两种资源的调度。 yarn 作为一个资源调度器,应考虑集群中每一台机器的计算资源,然后根据application申请的资源进行分配Container(Yarn的组件 虚拟的概念 ),而Container是yarn里面...
  • erlang的cpu调优

    2016-02-23 19:59:00
    今天看了一下erlang的cpu调优和监控,参考: erlang 虚机CPU 占用高排查 The WhatsApp Architecture Facebook Bought For $19 Billion Erlang监测系统CPU、内存、磁盘 Erlang调度器的利用率调查 ...
  • python yarn-utils.py -c 32 -m 128 -d 7 -k False
  • 资源调优:http://blog.itpub.net/30089851/viewspace-2127851/
  • <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>106496</value> </property> <property> <name>yarn.scheduler.minimum-allocation-mb...
  • CPU性能调优概述

    2020-04-25 22:40:37
    CPU性能调优概述 一般看到这个标题点进来的人多数的业务场景是将算法移植到各种奇葩的嵌入式平台或者DSP平台上面。明明算法在PC上跑的飞起,但是到了板子上总是被要求主频只留多少多少MCPS(million counts per ...
  • Linux系统调优CPU调优

    千次阅读 2017-05-18 13:28:40
    Linux系统性能调优
  • Linux CPU性能调优

    2012-05-03 09:38:17
    LinuxCPU性能调优 CPU是影响Linux性能的主要因素之一。 vmstat命令:显示关于系统各种资源之间相关性能的简要信息。 procs那栏中的r表示运行和等待CPU时间片的进程数,如果这个值长期大于系统CPU的个数那就说明...
  • 最近研究了一下linux系统cpu调优的方式,在此记录一下,以备参考。 linux系统是通过/proc虚拟文件系统,向用户空间提供了系统内部状态信息的。 man proc cat /proc/stata | grep ^cpu 首先,先来认识一下几个常见的...
  • SPEC CPU 介绍、测试、调优 SPEC CPU 介绍、测试、调优SPEC CPU 介绍、测试、调优SPEC CPU 介绍、测试、调优SPEC CPU 介绍、测试、调优
  • Node.js 应用故障排查手册 —— 利用 CPU 分析调优吞吐量.pdf
  • [root@VM-238-167-centos /]# ps aux | grep 3204 root 3204 0.0 0.0 0 0 pts/0 Z+ 14:53 0:00 [app] <defunct>
  • 优酷链接: SPECCPU 介绍、测试、极限调优

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 86,571
精华内容 34,628
关键字:

cpu调优