- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Server集群 集群部署方式-集中部署 LoadBalace Ehcache Server01 这种方式比较类似MemCache,但是因为是Http请求,所以效率不高。 Application (JAVA、PHP、ASP) Ehcache Server02 Ehcache Server03 Http请求 优缺点 优点:结构清晰,使用简单,效率高,扩展性比较好。 缺点:集中式缓存部署比较鸡肋,页面缓存过于麻烦。 MemCached缓存体系 MemCached是一种集中式缓存部署 采用C代码编写 客户端的访问有多种不同的代码实现方式 支持大规模集群的部署方式 支持横向的分布式扩展方式 支持Slave、Master模式 FaceBook、阿里巴巴都是采用这种部署方式 最简单的应用 Memcached Application1 (JAVA、PHP、ASP) Socket请求 Application2 (JAVA、PHP、ASP) Socket请求 Load Balance 分布式应用 Memcached1 Application1 (JAVA、PHP、ASP) Socket请求 Application2 (JAVA、PHP、ASP) Load Balance Memcached2 Memcached3 将实例分布在不同的Memcached中 JAVA缓存体系及应用 2015.3.13 目录 带着问题来,带着答案走 JAVA内存体系介绍 基本缓存的使用 缓存框架的介绍 内存溢出状况分析 内存检查工具的使用 问题 JVM内存的分配原理? JVM启动的时候如何正确的设置内存参数? JVM内存是不是越大越好? 什么情况下大家用到了缓存处理,很好的解决了问题? 缓存框架帮我们解决哪些问题,为什么要使用缓存框架? 你是如何进行内存溢出检查的? JAVA内存体系介绍 操作系统的内存使用和管理 JVM内存的分类 JVM内存参数设置及作用 垃圾回收机制 内存实时状态查询 操作系统的内存使用和管理 Windows内存使用 虚拟内存是Windows管理所有可用内存的方式。 Windows 32位为每个进程分配了4G的虚拟地址空间(用于表示该进程有这么多的空间可用),4G是由于操作系统+CPU是32位的,寻址空间就只有2的32次方,因此得出4G的存储空间。 Windows操作系统默认会给程序和系统预留2G的内存寻址空间;我们可以通过配置将应用程序的最大内存配置到3G。 4G配置 但电脑显示最多3.5内存 。因为:xp/vista 32bit在安装4G内存后会分配其中部分内存作为设备保留的内存地址。 64位就不存在4GB空间的束缚了。 Application 2GB 用于程序存放代码,数据,堆栈,自由存储区 Windows System 2GB 共享内存,所有进程都用到的内存区域 操作系统规定:一个应用程序所能承载的最大寻址内存是2GB(可以通过配置改变到3GB),因为主要是为了预留一部分给操作系统使用,叫做共享内存区。 所以虽然一个程序理论上可以访问4GB内存,但是实际上只能分配2GB的空间。 所以我们可以得出2个程序的最大使用内存是:2G(共享内存)+2*2G(程序内存)=6G 为什么我的电脑是2G内存,但是在系统可以使用超过2G的内存空间,大概有 4G! 页面文件 以上情况是由于页面文件控制的。 这里很容易混淆一个概念,认为以上windows磁盘用来充当内存的叫做虚拟内存,其实windows管理的内存都叫做虚拟内存。所以虚拟内存是:RAM(物理内存)+页面文件(磁盘内存) 页面文件即当内存不够时系统会拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。比如:你的机器有2G内存,当使用的内存超过2G时,超过的部分就会将硬盘上的文件映射成内存来使用。 按照这样逻辑我们不难得出只要虚拟内存够大,我们就可以无限制的使用,不过考虑到性能这也是不切实际的。 以上只是很浅显的一个理解,其实Windows虚拟内存的管理是一个比较复杂的处理过程,由于windows的多任务机制,再配合虚拟内存,其实windows运行的程序所占用的内存是远远超过可分配内存的。 应用程序1 内存 磁盘 1 激活应用程序 2 分配相应的内存 3 4 回收内存 5 将内存内容映射到页面文件 并重新建立映射 最小化应用程序 6 7 关闭应用程序 释放虚拟内存 应用程序2 8 9 切换应用程序2 读取页面文件放到物理内存中 并重新建立映射 10 操作系统来调度 当物理内存吃紧的情
文档评论(0)