cpu参数

Java高性能编程论述

不想你离开。 提交于 2019-12-13 12:45:10
高性能编程 前言 首先说一下我为什么要写这篇博客。因为面试有提到这个,我当时直接说不懂(一方面当时心态很差,另一方面面试官的询问方式令我很反感。所以直接refuse了。小伙伴们千万别学我)。 所以,打算谈一谈我对Java高性能编程方面的认识与总结。 首先,高性能编程不涉及架构层次。所以打算通过这篇文章,来了解架构提升系统性能的小伙伴要失望了。我将Java高性能编程主要分为编码与网络两个部分(说白了,只关注编码,不提其它)。 其次,我们需要了解何为高性能。性能往往与系统的吞吐量,响应时间,并发量等息息相关。只有了解到这点,我们才可以对症下药。 网络部分:BIO,NIO,Netty等,这部分在之前的《 从BIO到Netty的演变 》有所提及,这里不再赘述。 而编码部分,也是最多人关注的部分。我将它按层次分为: 数据结构(如String,StringBuffer,StringBuilder) 语言特性(如for循环的JIT优化,并行流等) 算法(如分治算法,贪心算法等) 设计模式(如原型模式) 多线程(包括线程池,锁等) 扩展-特定机制(其实就是一些成熟的方案) 并发容器被归类到多线程中,而Fork/Join框架被归类到特定机制(当然,也可以归类到算法,多线程等。取决于看待它的角度)。 由于这其中每个分支,拆分出来都是很大的一块内容。所以这篇文章的目标只是给个方向而已,不会写得非常深入。

峰创时代|高性能编程

梦想与她 提交于 2019-12-13 11:18:33
高性能编程 前言 首先说一下我为什么要写这篇博客。因为面试有提到这个,我当时直接说不懂(一方面当时心态很差,另一方面面试官的询问方式令我很反感。所以直接refuse了。小伙伴们千万别学我)。 所以,打算谈一谈我对Java高性能编程方面的认识与总结。 首先,高性能编程不涉及架构层次。所以打算通过这篇文章,来了解架构提升系统性能的小伙伴要失望了。我将Java高性能编程主要分为编码与网络两个部分(说白了,只关注编码,不提其它)。 其次,我们需要了解何为高性能。性能往往与系统的吞吐量,响应时间,并发量等息息相关。只有了解到这点,我们才可以对症下药。 网络部分:BIO,NIO,Netty等,这部分在之前的《从BIO到Netty的演变》有所提及,这里不再赘述。 而编码部分,也是最多人关注的部分。我将它按层次分为: 数据结构(如String,StringBuffer,StringBuilder) 语言特性(如for循环的JIT优化,并行流等) 算法(如分治算法,贪心算法等) 设计模式(如原型模式) 多线程(包括线程池,锁等) 扩展-特定机制(其实就是一些成熟的方案) 并发容器被归类到多线程中,而Fork/Join框架被归类到特定机制(当然,也可以归类到算法,多线程等。取决于看待它的角度)。 由于这其中每个分支,拆分出来都是很大的一块内容。所以这篇文章的目标只是给个方向而已,不会写得非常深入。 一

高性能编程论述

…衆ロ難τιáo~ 提交于 2019-12-13 09:57:42
高性能编程 前言 首先说一下我为什么要写这篇博客。因为面试有提到这个,我当时直接说不懂(一方面当时心态很差,另一方面面试官的询问方式令我很反感。所以直接refuse了。小伙伴们千万别学我)。 所以,打算谈一谈我对Java高性能编程方面的认识与总结。 首先,高性能编程不涉及架构层次。所以打算通过这篇文章,来了解架构提升系统性能的小伙伴要失望了。我将Java高性能编程主要分为编码与网络两个部分(说白了,只关注编码,不提其它)。 其次,我们需要了解何为高性能。性能往往与系统的吞吐量,响应时间,并发量等息息相关。只有了解到这点,我们才可以对症下药。 网络部分:BIO,NIO,Netty等,这部分在之前的《 从BIO到Netty的演变 》有所提及,这里不再赘述。 而编码部分,也是最多人关注的部分。我将它按层次分为: 数据结构(如String,StringBuffer,StringBuilder) 语言特性(如for循环的JIT优化,并行流等) 算法(如分治算法,贪心算法等) 设计模式(如原型模式) 多线程(包括线程池,锁等) 扩展-特定机制(其实就是一些成熟的方案) 并发容器被归类到多线程中,而Fork/Join框架被归类到特定机制(当然,也可以归类到算法,多线程等。取决于看待它的角度)。 由于这其中每个分支,拆分出来都是很大的一块内容。所以这篇文章的目标只是给个方向而已,不会写得非常深入。

28335GPIO及外部中断配置介绍

ぐ巨炮叔叔 提交于 2019-12-13 03:20:06
本文转载连接: https://blog.csdn.net/E_ROAD_BY_U/article/details/53083151 弄了两周终于把28335的启动流程、寄存器及中断向量表的映射方法、内存的划分等有了一个全面的了解,今天看到久违的LED灯的闪烁,顿扫阴霾。特在此总结下28335GPIO及外部中断配置介绍。其实对于一个微控制器,只要能够独立实现这两个功能,也算是入门了。 一、GPIO口介绍 外界二进制信息(数字量)要被CPU处理,要给存储器存放,就需要外界信息源与两者之间的交换接口,这样的交换接口若用来进行通用目的数字量的输入输出,就被称为通用数字量输入/输出接口,简称GPIO。F28335 DSP有多达88个GPIO口,对应着芯片引出的88个引脚,随着芯片的封装与尺寸的确定,引脚数目是有限的,所以这88个引脚多数都是功能复用的,即可以灵活配置为输入引脚,也可以灵活配置为输出引脚,即可以作为通用I/O引脚,也可以作为特殊功能口(如SCI、SPI、ECAN等),非常灵活,用户根据需要,可以通过GPIO MUX(输入输出多路选择器,复用开关)寄存器来进行相关配置。 F28335DSP将这88个GPIO口分成了A、B、C三大组,A组包括GPIO0至GPIO31,B组包括GPIO32至GPIO63,C组包括GPIO64至GPIO87,每个引脚都复用了多个功能,同一时刻

Yarn的资源调优

人盡茶涼 提交于 2019-12-13 01:40:33
一、概述 每个job提交到yarn上执行时,都会分配Container容器去运行,而这个容器需要资源才能运行,这个资源就是Cpu和内存。 1、CPU资源调度 目前的CPU被Yarn划分为虚拟CPU,这是yarn自己引入的概念,因为每个服务器的Cpu计算能力不一样,有的机器可能是 其他机器的计算能力的2倍,然后可以通过多配置几个虚拟内存弥补差异。在yarn中,cpu的相关配置如下。 yarn.nodemanager.resource.cpu-vcores 表示该节点服务器上yarn可以使用的虚拟的CPU个数,默认是8,推荐配置与核心个数相同,如果节点CPU的核心个数不足8个,需要调小这个值,yarn不会智能的去检测物理核数。如果机器性能较好,可以配置为物理核数的2倍。 yarn.scheduler.minimum-allocation-vcores 表示单个任务最小可以申请的虚拟核心数,默认为1 yarn.sheduler.maximum-allocation-vcores 表示单个任务最大可以申请的虚拟核数,默认为4;如果申请资源时,超过这个配置,会抛出 InvalidResourceRequestException 2、Memory资源调度 yarn一般允许用户配置每个节点上可用的物理资源,可用指的是将机器上内存减去hdfs的,hbase的等等剩下的可用的内存。 yarn

linux性能调优总结

断了今生、忘了曾经 提交于 2019-12-12 14:42:08
系统性能一直是个热门话题。做运维这几年也一直在搞性能调优,写这个文章也算是对工作的总结。 讲调优第一步是,要讲为什么要调优?也就是系统分析,分析还需要有指标,做好性能监控的情况下,看到确实需要调优才能进行。不能为了调优而 “调优“ 那不是调优,那是破坏。 性能分析的目的 找出系统性能瓶颈 为以后的优化提供方案或者参考 达到良好利用资源的目的。硬件资源和软件配置。 影响性能的因素 想确定有哪些因素,首先确定你的应用是什么类型的? 例如: cpu密集型 例如web服务器像nginx node.js需要CPU进行批处理和数学计算都属于此类型 io密集型 例如数据库常见的mysql,大量消耗内存和存储系统,对CPU和网络要求不高,这种应用使用CPU来发起IO请求,然后进入sleep状态。 确定了应用类型就开始分析有哪些情况能影响性能: 大量的网页请求会填满运行队列、大量的上下文切换,中断 大量的磁盘些请求 网卡大量的吞吐 以及内存耗尽等。。 归结起来就是4个方面 cpu memory i/o network 系统检测的工具 我们知道了这四大块影响着我们的性能,那我们有什么工具进行检测呢? 系统调优.png-341.3kB 上图时某国外大神总结的。 我个人在工作中常用到的有: htop vmstat iotop sar strace iftop ss lsof ethtool mtr等

输入输出接口

早过忘川 提交于 2019-12-12 12:48:41
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 输入输出接口 常见的I/O接口: 南桥(现在叫 PCH )、显卡 I/O接口 作用: 数据缓冲 解决CPU和外设之间的速度差距 提供联络信息 协调与同步数据交换过程 信号与信息格式的转换 模/数、数/模转换,串/并、并/串转换,电平转换 设备选择 中断管理 可编程功能 通讯: 需要“握手( Handshaking )信号”:总是成对出现,在数据传送中起着定时协调与联络作用。采用“握手”方式的数据传送,每一过程必须都有应答,彼此进行确认。 输出:并行数据输出(外设>IO接口)、输出准备好(外设>IO接口)、输出回答(IO接口>外设) 输入:并行数据输入(IO接口>外设)、输入准备好(IO接口>外设)、输入回答(外设>IO接口) 直接存储器访问,Direct Memory Access ( DMA ),辅助CPU, 控制 I/O接口 与 存储器 特点: 数据传送过程不需要CPU干预(不需要执行程序指令) 由专门硬件控制电路控制,进行外设与存储器间直接数据传送 该专门硬件控制电路称为DMA控制器,简称 DMAC 自带DMA控制器:网卡、显卡、声卡、硬盘 输入输出的控制方式 I/O控制方式: 指的主机与外设之间的数据传送控制方式 程序(指CPU)控制方式 1、无条件传送方式 假定外设已经准备好

PostgreSQL 参数调整(性能优化)

怎甘沉沦 提交于 2019-12-11 23:26:55
PostgreSQL 参数调整(性能优化) https://www.cnblogs.com/VicLiu/p/11854730.html 知道一个 shared_pool 文章写的挺好的 还没仔细看 昨天分别在外网和无外网环境下安装PostgreSQL,有外网环境下安装的相当顺利。但是在无外网环境下就是两个不同的概念了,可谓十有八折。感兴趣的同学可以搭建一下。 PostgreSQL安装完成后第一件事便是做相关测试,然后调整参数。 /*CPU 查看CPU型号*/ cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c /*查看物理CPU个数*/ cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l /*查看逻辑CPU个数*/ cat /proc/cpuinfo | grep "processor" | wc -l /*查看CPU内核数*/ cat /proc/cpuinfo | grep "cpu cores" | uniq /*查看单个物理CPU封装的逻辑CPU数量*/ cat /proc/cpuinfo | grep "siblings" | uniq /*计算是否开启超线程 ##逻辑CPU > 物理CPU x CPU核数 #开启超线程 ##逻辑CPU = 物理CPU

深入浅出 JVM GC(4)常用 GC 参数介绍

放肆的年华 提交于 2019-12-11 22:56:00
# 前言 从前面的3篇文章中,我们分析了5个垃圾收集器,还有一些 GC 的算法,那么,在 GC 调优中,我们肯定会先判断哪里出现的问题,然后再根据出现的问题进行调优,而调优的手段就是 JVM 提供给我们的那些参数或者说选项,这些参数将会改变 GC 的运行方式。因此,他们显得极为重要。 我们将每一个垃圾收集器相关的参数一个一个娓娓道来,注意,楼主推荐一个小程序:前阿里 JVM 大神寒泉子的公众号里面有个小程序------JVM Pocket,这个小程序介绍了所有的 JVM 参数的作用,你可以在里面搜索你想知道的参数,也可以把你了解的参数写上去供大家参考。公众号:lovestblog。 值得注意的一点是,这些参数可能会重复,还记得我们之前的那张图吗,楼主觉得有必要再发一次: 可以看到,这些收集器会有一些重复,而且,某些参数也是会作用于所有的处理器,因此,我们下面的介绍可能会有一些重复。 还有一点就是,JVM 为我们设置了很多默认的参数,但是,如果可以的话,还是建议使用显式的声明,这样更能表达意图。否则,别人不一定知道我们是否知道这些默认值。 我们开始我们的参数之旅吧! # 1. Serial 收集器参数 串行收集器,client 的默认收集器,分为年轻代 Serial 和老年代 Serial Old 收集器。 -XX:+UseSerialGC

Linux命令之atop

天涯浪子 提交于 2019-12-11 18:31:40
atop 介绍 atop是一个功能非常强大的linux服务器监控工具,所采集的数据包含系统CPU、内存、磁盘、网络的资源使用情况和进程运行情况,并且内容非常的详细,可以以日志文件的方式保存在磁盘中,服务器出现问题后,可获取相应的atop日志文件进行分析。 安装 安装非常简单 centos服务器: [root@localhost ~]# yum -y install atop ubantu服务器使用以下命令安装 apt-get install atop -y 启动 [root@localhost ~]# systemctl start atop [root@localhost ~]# systemctl enable atop Created symlink from /etc/systemd/system/multi-user.target.wants/atop.service to /usr/lib/systemd/system/atop.service. [root@localhost ~]# ps -ef |grep atop root 23340 1 0 14:57 ? 00:00:00 /usr/bin/atop -R -w /var/log/atop/atop_20191204 600 root 23635 22353 0 14:59 pts/0 00:00:00