计算机新手必备内存实用知识.docx

计算机新手必备内存实用知识.docx

ID:62691730

大小:17.05 KB

页数:6页

时间:2021-05-16

计算机新手必备内存实用知识.docx_第1页
计算机新手必备内存实用知识.docx_第2页
计算机新手必备内存实用知识.docx_第3页
计算机新手必备内存实用知识.docx_第4页
计算机新手必备内存实用知识.docx_第5页
资源描述:

《计算机新手必备内存实用知识.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、在电脑硬件中,CPU和显卡、内存均是重中之重,因此我们在选择这些核心硬件一定要慎重考虑。下面就让小编带你去看看计算机新手必备内存实用知识,希望能帮助到大家!  内存总是不够?HBase&GeoMesa配置优化了解一下  1、先熟悉一下HBase的内存模型  HBase系统中有两块大的内存管理模块,一块是MemStore  ,一块是BlockCache,前置是用于集群写入所属内存,而后者用于缓存热数据,提供查询速度。这两者均可以通过配置文件进行配置。当前集群均配置了0.4和0.4的比例。而考虑到HBase集群是多写少读的情景,为此而引

2、入了MSLAB机制来优化HBase的MemStore  负担。内存的使用率会呈现很优美的锯齿图形。  2、分析内存使用率和业务关系  起初认为是读写业务量已经超过了集群负载能力,但集群业务也不大,写和读的TPS,带宽吞吐量均未达到集群限定的能力,而且CPU利用率大多半都被GC占用,但内存就是持高不下,即使业务了停了一天,内存还是不怎么下降,很明显和业务量无关。那么和compaction有关?经观察的确可以看compact时特别消耗时间。此时感觉看到了希望,调整各个参数,把compact操作提升了10+倍之后,内存还是持高不下  。剩

3、下最根治的办法就是分析内存,看一下内存数据都是什么?有无内存泄露问题。  3、分析dunp文件  节点dump下regionserver的内存,分析发现内存中有50个RpcServer.FifoRWQ.default.read.handler线程,每个线程持有了1.2%左右的总内存,那么所有的线程持有的内存占有量大于为50__1.2%=60%。随着查询次数增多,线程持续的内存还会持续增加,如下图。  分析每一个线程持有的内存数据,全部都是业务信息。  那么继续分析,此业务信息所属对象:org.locationtech.geomesa

4、.filter.factory.FastFilterFactory。而对比同规模的集群,的确是此异常集群开启了GeoMesa特性。找到问题所在,那就看源码分析是唯一出路。  导致集群随着查询次数增多,内存一直持续不下。能否去掉此处缓存策略呢?为什么缓存此查询信息呢,目的就是为了减少同样的查询再次被优化的步骤。那么我们查询添条件key有没有重复使用,此处有个严格规定,就是key中不仅保证使用相同的GeoMesa函数还有使用相同的参数,基于这个原则,业务上查询条件是没有重复的。我们配置了可选参数useFilterCache,默认是开启的

5、,没必要缓存此查询条件,应予以删除。  结论  在配置文件中添加了useFilterCache参数,默认是开启的,根据业务需要选择开始和关闭filterCache特效。经分析我们业务场景没必要缓存此查询条件,应予以关闭。优化后的集群内存使用率情况就恢复了正常状态。  计算机内存和CPU的基础知识  内存的基本单元是一个字节。一台有32兆内存的电脑大概能容纳3200万字节的信息。在内存里的每一个字节通过一个唯一的数字来标识作为它的地址,如图1.4展示的一样。  通常内存都是大块大块地使用而不是单个字节。在PC机结构中,命名了这些内存大

6、块,如图1.2展示的一样。  在内存里的数据都是数字的。字符通过用数字来表示字符的字符编码来储存。其中一个最普遍的字符编码称为ASCII的编码是Unicode。在这两种编码中最主要的区别是ASCII使用一个字节来编码一个字符,但是Unicode每个字符使用两个字节(或一个字)。例如ASCII使用来表示字符大写A;Unicode使用来表示。因为ASCII使用一个字节,所以它仅能表示256种不同的字符。Unicode将ASCII的值扩展成一个字,允许表示更多的字符。这对于表示全世界所有的语言非常重要。  CPU  中央处理器(CPU)是

7、执行指令的物理设备。CPU执行的指令通常非常简单。指令可能要求他们使用的数据存储在一个CPU称为寄存器的特殊储存位置中。CPU可以比访问内存更快地访问寄存器里的数据。然而,在CPU里的寄存器是有限的,所以程序员必须注意只保存现在使用的数据到寄存器中。各类CPU执行的指令组成了该CPU的机器语言。机器语言拥有比高级语言更基本的结构。机器语言指令被编码成未加工的数字,而不是友好的文本格式。为了更有效的运行,CPU必须能很快地解释一个指令的目的.机器语言就是为了这个目的设计的,而不是让人们更容易理解而设计。一个其他语言写的程序必须转换成C

8、PU的本地机器语言,才能在电脑上运行。编译器是一个将用用程序语言写的程序翻译成特殊结构的电脑的机器语言的程序。通常,每一种类型的CPU都有它自己唯一的机器语言。这是为什么为Mac写的程序不能在IBM类型PC机运行的一个原因。电脑通过使

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。