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

网站制作 深圳潍坊专升本考试地点

网站制作 深圳,潍坊专升本考试地点,网站域名的安全性,成立咨询公司需要什么条件内存相关知识 计算机中与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/115162.html

相关文章:

  • 深圳app网站开发网页制作素材包
  • 向google提交网站关键词排名seo优化
  • 沧州企业网站专业定制优设网视频剪辑
  • 网站建设流程视频wordpress禁用修订
  • 昆明新建设电影院网站一个网站的建设步骤
  • 网站开发毕业周记小程序商城有哪些平台
  • 电商网站开发平台需要多少东莞注塑切水口东莞网站建设
  • 承德住建局官方网站用PS怎么做网站图片
  • 惠州网站制作费用网站建设是哪个专业
  • 百度 网站 移动端杭州租房网站建设
  • 网站建设代理成本微信公众号运营要求
  • 网站建设设计师的工作内容北大青鸟网站建设
  • 仿站教程网站推广话术
  • 网站备备份教程wordpress专用主机
  • 网站主题和风格站设计网站官网
  • 投资网站php源码网站建设售前
  • 微网站建设86215网站开发程序员 工资
  • 网站服务器 502无锡seo优化公司
  • 收费的网站怎么做接app推广
  • 经典网站设计作品北京网络营销方案
  • vs2013网站开发教程番禺网站 建设信科网络
  • 网站内容计划优秀网站图标
  • 阿里接外包吗网站开发提升学历的重要性
  • 温州网站建设方案服务成都住建局官网app
  • 网站用户账号ip查询做VIP视频网站赚钱
  • 35互联做网站怎么样案例上海网站
  • 榆林网站建设推广网站宝搭建网站环境
  • 分享网站制作网络商城建设费用
  • 学校网站系统软件开发软件开发网站
  • 游戏资讯网站哪个好网络空间治理