当前位置: 首页 > news >正文

网站建设产品说明书网站制作 深圳

网站建设产品说明书,网站制作 深圳,招标网站排名,免费ppt模板大全免费下载内存相关知识 计算机中与CPU进行数据交换的桥梁。内存的速度#xff0c;比CPU的速度要慢很多。比磁盘速度要快很多。内存中存放数据#xff0c;一旦断电就会消失。linux系统的 /proc路径下的文件#xff0c;都是内存文件。内存大小#xff0c;一般 是GB为单位。 现在都操作…内存相关知识 计算机中与CPU进行数据交换的桥梁。内存的速度比CPU的速度要慢很多。比磁盘速度要快很多。内存中存放数据一旦断电就会消失。linux系统的 /proc路径下的文件都是内存文件。内存大小一般 是GB为单位。 现在都操作系统是 64位可以支持 几个T的内存服务器的内存 常见 8g 16g 32g 64g内存 内存地址 存储单元 两部分组成内存单元大小不是固定。一般8位 存储单元 简单数据类型可以指定长度有些数据类型不明确长度不明确的长度存储单元就有管理存储数据的数据结构。 列表的数据结构索引位置告诉你某个数据在列表的中的某个位置。列表插入或删除一个数据 在它的索引位置之后的所有数据都得移动。 列表数据类型在进行数据 插入、删除是比较慢的。 链表 数据之间相互记录构成一个数据链 链表插入数据、删除数据速度比 列表要快但是查询或获取数据的速度要比列表要慢 二叉树 是一个链表 类、对象 比较复杂的数据要存放不知道具体应该怎么存 堆用于存放比较复杂的第数据 堆区 连续一段地址空间存放堆数据 栈stack区 连续一段地址空间来存放数据长度比较明确的数据 堆栈 是两种数据结构。 栈stack区LIFO Last In First Out 后进先出 压栈 弹出 队queue列 FIFO FirstInFirstOut 先进先出 顺序队列、 循环队列堆 内存 有堆区和栈区。 每一个程序启动时候会申请一段内存空间在自己申请的内存空间中划 分出堆区和栈区 虚拟内存是记录程序的内存中数据的区域的。 图解虚拟内存、物理内存、swap 分区的工作与管理 CPU对程序计算某个功能时候就问虚拟内存要xxx类型的数据应该到内存的哪个地方去获取。 虚拟内存就会返回结果给 CPU。CPU拿到这个地址之后就直接去内存条中地址区间去取数据。 cpu从内存中读数据是以-页page-为单位。 php、python、go语言项目没有强制现在项目的内存空间大小所以一般不会有内存溢出问题但 是并不是说就没有内存问题。 内存溢出只是内存问题中的一种。 内存泄露 程序在运行过程中某次请求申请了一段内存空间从程序自己的内存空间中申请了一 段使用使用完成之后不释放导致可用内存越来越少。 可用的内存漏掉了。 内存溢出经过一段时间的内存泄露之后某次申请内存空间时申请的空间大小大于剩余可用空间此时就内存溢出。 性能角度来讲不建议代码中使用递归。 怎么知识内存溢出了 1、观察程序的内存使用情况完全几乎全部使用肯定有内存溢出。2、内存溢出不一定会报出错误。 1、报错误 日志中、直接发送给请求当作请求的响应 堆区 新生代new、老年代Tenured、永久代Perm new : Ø昙花一现朝生夕死的对象 代码方法内部变量 eden区from区to区Tenured Ø大对象 or 多次被GC后还在的对象(顽固份子) 项目中新申请的资源都放在 new中 使用之后判断策略多次判断这个资源是否还用如果还可以用把这个资源 移动到Tenured。 YGC: 主要回收新生代的空间、回收频率高每次收时间短 FGC 主要回收老年代的空间、回收频率低每次回收用到时间长 还包括回收新生代、元空间 总的GC回收时间期望越短越好 YGC时间 FGC的时间 36501440 5090 52*40 2*5*60 2080600 2680 GC是资源回收一定要有的期望回收总时间少的。 ygc和fgc的频率是关键. 这个就要反复测试出来而不是计算出来 调整 新生代 与 老年代的 大小 1、调整整个内存大小调整YGC的回收频率2、调整新生代老年代的配比调整FGC的回收频率 YGC 回收的时间 一般是小几十毫秒到小几百毫秒以内 FGC回收的时间大几百毫秒甚至上秒 验证 内存溢出、gc 配置参数 tomcat是部署java的一个中间件springboot开发自身就带有tomcatspringboot的项目可以放到 tomcat中启动也可以直接使用 java -jar xxx.jar tomcat的bin文件夹中 catalina.sh 配置配置内存信息(内容见下方) tomcat的conf有 server.xml 配置 配置服务 协议、端口 tomcat的logs文件夹日志文件 tomcat的webapps文件夹 放项目 项目打war包自动可以解压 JAVA_OPTS”-server -Xms512m -Xmx512m -Xmn128m -Xss256k -XX:PermSize128m -XX:PrintGC -XX:PrintGCDetails -XX:PrintGCTimeStamps -Xloggc:filename” 打印gc的配置一般不在生成环境中添加。 server.xml中线程池的保持的连接数企业配置的数值都比较小 配置 acceptCount 能接收的队列长度队列满了再有连接就会被拒绝修改线程池 tomcat 配置文件   bin文件夹下 catalina.sh         配置堆栈信息    conf 文件夹下 server.xml文件       服务、线程池信息 实战 tomcat java项目 可以配置  catalina.sh  堆栈信息也可以不配 有内存溢出的问题堆栈信息配置配大一些也只是 内存溢出的时间  延后一点。 环境要求 jre\jdk8 上传 tomcat的包、JvmPertest.war包服务器上 解压 tomcat JvmPertest.war包丢到  tomcat的webapps文件夹下 配置 catalina.sh文件 启动tomcat 测试 使用jmeter调用   http://ip:8080/JvmPertest/pertest1 去logs查看日志 调用jmeter脚本一段时间持续运行  日志如下在日志信息中不一定会出现错误信息 发现响应出错了錯誤信息中 nested exception is java.lang.OutOfMemoryError: Java heap space 定位 已经出现了内存溢出问题 下一次测试的时候要重启项目注意内存溢出会可能会导致无法停止项目需要杀掉进程重启项目 安装arthas curl -O https://arthas.aliyun.com/math-game.jar 启动arthas  java -jar math-game.jar 把arthas 连接到  java进程上 使用jmeter进行性能测试 测试时发现有内存溢出的问题的时候我们在arthas中执行    heapdump 就会在很短时间内存 把内存新的信息dump下来生成一个hprof文件放在tomcat的temp文件夹中。 把hprof的文件下载下来然后使用MAT(MemoryAnalyzer)工具打开。 做java开发编辑器是可以去安装 这个 插件 1、我们已经获取到   内存溢出时的堆栈信息 hprof文件  这个文件可以直接给开发人员让他们去 定位具体问题  -----对于没有java基础 2、你想分析定位具体问题使用mat(MemoryAnalyzer)工具打开 hprof文件进一步分析。 假设性能测试服务是一个集群对这个集群大服务进行性能测试时发现了内存溢出集群是由多个服务构成的怎么来获取堆栈信息 1、首先判断出现内存溢出的服务是哪个 1、 集群中所有的服务的日志看一遍   内存溢出日志可能有错误信息。         有内存溢出的日志在服务上肯定这个服务就内存溢出了此时就获取这个服务所在的机器的堆 栈信息就可以了。2、看java进程的内存使用情况。 内存几乎都用完了  --------就是这个了 仅仅只是加大服务的内存是不一定能解决  内存溢出问题。 为什么内存溢出是申请了内存没有释放导致内存泄露然后时间久了就内存溢出。 内存回收也是可能导致内存溢出的一种原因。 内存的释放就与GC有关系。  调整内存的参数配比 是不是就会改变GC频率。  ----把新生代 调大老年代调小。前提内存总大小没有变 确认是否有效 就会打印 gc日志gc.log通过分析gc日志来判断是否有效。 有了gc日志可以使用 gceasy.io网站   可以把gc的日志文件给开发人员让他们去分析 也可以 把gc分析报告 https://gceasy.io/my-gc-report.jsp? pc2hhcmVkLzIwMjMvMDMvMjQvZ2MubG9nLS0xMy0zMi0zNwchannelWEB 给开发人员 监控 也可以来监控  内存使用情况 grafana Prometheus jvm_exporter 操作jvm_exporter和tomcat.yml上传到 被监控的服务上   https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent 中选择你要 下载到文件 tomcat.yml文件   ----里面的东西不要动 修改 tomcat的catalina.sh文件  JAVA_OPTS-javaagent:./jmx_prometheus_javaagent0.14.0.jar3088:./tomcat.yml 路径javaagent和包名jmx_prometheus_javaagent0.14.0.jar要写正确端口按需更改 hosts文件中没有主机名的需要要改一下。  ------如果不改网络延迟可能很长导致监控平台这边不显示数据。 引入模板 8563    注意的 job的填写要是  Prometheus.yml中写的 job_name 模板3517没数据需要写入对应的ip和端口号
http://www.dnsts.com.cn/news/241447.html

相关文章:

  • 网站查外链做数据表格的网站
  • 福州网站建设网站设计网站推广国外二维码在线查询
  • 温州网站建设平台产品做推广一般上什么网站
  • 济南建网站公html框架布局实例代码
  • wordpress站内搜索次数建站免费软件
  • 定机票最便宜网站建设制作u盘启动盘
  • 安顺网站开发公司太仓建设网站
  • 找人帮你做ppt的网站吗网站源文件修改
  • 网站开发工程师面试试题搭建网站分类
  • 运城市住房和城乡建设厅网站怎样发展网站
  • 合肥网站建设网站推广津学院全国工商企业查询
  • 网站网页建设论文新闻发布网站如果做
  • 付费网站怎么做wordpress js压缩
  • 电子商务网站建设各项费用预算是多少做钢管用哪个门户网站
  • 做网站的岗位叫什么电商做网站
  • 系统网站怎么做的酒店如何做网络推广
  • 十大免费网站推广平台有哪些鄢陵县网站
  • 中国品牌网站设计wordpress文章首页显示
  • 无极官方网站下载网站风格细节
  • 建网站要多少钱钦州网站建
  • 国内网站宁波建设网 提取业务
  • 制作一个公司网站多少免认证域名注册
  • 网站域名在哪里申请网站开发代理招商
  • 音乐网站建设课的期末报告书招聘网站html模板
  • 河北省建设厅报名网站临沂seo网站推广
  • 销售网站建设的意义网站策划与运营课程认知
  • 公司推广网站怎么做网站建设的基本流程包括什么
  • 做视频开头的网站中国建设银行的网站设计
  • 拓什么设计网站企业型网站网址
  • 哈尔滨松北区建设局网站两个彩票网站做赔付