本文目录一览:
- 1、一文彻底搞懂 CMS GC 参数配置
- 2、安装易优cms提示 数据库连接失败,请重新设定
- 3、eyoucms如何开启远程附件
- 4、eyoucms(易优)常用标签汇总
一文彻底搞懂 CMS GC 参数配置
近期整理多个 HBase 集群的 JVM 参数,发现都是默认的 CMS GC 配置,如何调优 JVM 参数就成了一个绕不过的话题。因此,为了寻求一个 CMS GC 的 JVM 合理参数配置,笔者参考多篇社区文章及相关博客,总结了一些 CMS 相关的知识点,以及一套基于 CMS 的 JVM 参数配置。
CMS(Concurrent Mark Sweep,并发-标记-清除)是目前最常用的 JVM 垃圾回收器,这里不解释 CMS 的工作过程,只记录一些基础要点以帮助理解后面的内容:
经过理解各个参数的含义及取值影响,总结了以下的 JVM 参数配置,可以几乎不用调整使用:
如果是 64G 及以上的大堆,-Xmn 可以调整到2g,其他参数不变或微调。下面对一些重要的 JVM 参数介绍说明。
以下参数解析都建立在使用 CMS GC 策略基础上,这里使用 CMS GC 表示老年代垃圾回收,Young GC 表示新生代垃圾回收。
① -Xmx, -Xms, -Xmn
-Xmx、-Xms 分别表示 JVM 堆的最大值,初始化大小。-Xmx 等价于-XX:MaxHeapSize,-Xms 等价于-XX:InitialHeapSize。
-Xmn表示新生代大小,等价于-XX:MaxNewSize、-XX:NewSize,这个参数的设置对 GC 性能影响较大,设置小了会影响 CMS GC 性能,设置大了会影响 Young GC 性能,建议取值范围在1~3g,比如32g堆大小时可以设为1g,64g堆大小时可以设为2g,通常性能会比较高。
② -Xss
表示线程栈的大小,等价于-XX:ThreadStackSize,默认1M,一般使用不了这么多,建议值256k。
③ -XX:SurvivorRatio
新生代中 Eden 区与 Survivor 区的比值,默认8,这个参数设置过大会导致 CMS GC 耗时过长,建议调小,使得短寿对象在Young区可以被充分回收,减少晋升到Old区的对象数量,以此提升 CMS GC 性能。
④ -XX:+UseParNewGC, -XX:+UseConcMarkSweepGC
分别表示使用并行收集器 ParNew 对新生代进行垃圾回收,使用并发标记清除收集器 CMS 对老年代进行垃圾回收。
⑤ -XX:ParallelGCThreads, -XX:ParallelCMSThreads
分别表示 Young GC 与 CMS GC 工作时的并行线程数,建议根据处理器数量进行合理设置。
⑥ -XX:MaxTenuringThreshold
对象从新生代晋升到老年代的年龄阈值(每次 Young GC 留下来的对象年龄加一),默认值15,表示对象要经过15次 GC 才能从新生代晋升到老年代。设置太小会严重影响 CMS GC 性能,建议默认值即可。
⑦ -XX:+UseCMSCompactAtFullCollection
由于 CMS GC 会产生内存碎片,且只在 Full GC 时才会进行内存碎片压缩(因此 使用 CMS 垃圾回收器避免不了 Full GC)。这个参数表示开启 Full GC 时的压缩功能,减少内存碎片。
⑧ -XX:+UseCMSInitiatingOccupancyOnly , -XX:CMSInitiatingOccupancyFraction
-XX:CMSInitiatingOccupancyFraction 表示触发 CMS GC 的老年代使用阈值,一般设置为 70~80(百分比),设置太小会增加 CMS GC 发现的频率,设置太大可能会导致并发模式失败或晋升失败。默认为 -1,表示 CMS GC 会由 JVM 自动触发。
-XX:+UseCMSInitiatingOccupancyOnly 表示 CMS GC 只基于 CMSInitiatingOccupancyFraction 触发,如果未设置该参数则 JVM 只会根据 CMSInitiatingOccupancyFraction 触发第一次 CMS GC ,后续还是会自动触发。建议同时设置这两个参数。
⑨ -XX:+CMSClassUnloadingEnabled
表示开启 CMS 对永久代的垃圾回收(或元空间),避免由于永久代空间耗尽带来 Full GC。
在线工具
GC在线参数检查与优化:
GC在线日志分析:
参考文档
目前我们主要使用 CMS,其实比较大的heap建议使用 G1 垃圾回收器,关于 G1 后文我们会进行介绍总结。欢迎留下你的见解。
往期文章精选
◆ Apache Hudi 0.5.1版本重磅发布
◆ 贝壳找房基于 Flink 的实时平台建设
◆ 网易基于 HBase 的最佳实践
◆ 小米流式平台架构演进与实践
如果您喜欢这篇文章,点【在看】与转发都是一种鼓励,期待得到您的认可 ❥(^_-)
安装易优cms提示 数据库连接失败,请重新设定
“dedecms error warning!”警告,无法使用数据库,当访问你的dede网站的时候,看到这样的信息后,如何解决这类数据库连接失败的错误:先详细分析mysql数据库无法连接的原因:为什么会出现mysql数据库无法连接的错误提示?根据日常维护经验,总结有如下几个原因:
空间提供商mysql服务器异常,导致错误提示。
在空间控制面板中修改了mysql数据库访问密码。
Dedecms数据库配置文件中没有正确配置空间提供商给的mysql数据库信息。
上述三个原因,通常导致dedecms提示:无法使用数据库,导致无法使用mysql的原因。根据上面常见原因,参考如下方法进行逐步判断和解决。
如何解决第1个原因:空间商的mysql服务器异常,这个直接问空间商,或用IP反查工具,查询 同IP下的网站访问是否正常来判断。如果确认是空间商的mysql服务异常,直接和空间商反馈即可。
解决第2和第3个原因:
上面说的第2个和第3个原因,都是人为导致的原因,操作不当或好奇心驱使导致的。在空间控制面板中修改了mysql数据库访问密码,也要同步修改dedecms的数据库配置文件common.inc.php,否则将会提示数据库无法连接的错误。
登录ftp,下载找到/data/common.inc.php到本地,然后使用文本编辑打开,直接修改正确的就可以了。
dedecms 数据库配置文件所在位置,三个信息是关键所在:$cfg_dbhost一般不需要修改的,$cfg_dbname是指数据库名称,$cfg_dbuser数据库的用户名$cfg_dbpwd数据库密码 后面的是数据表前缀和数据库的字符集编码格式,一般不需要修改Dedecms数据库连接错误一般在这里修改数据库配置信息就OK了!
使用这个方法是非常轻松简单的,这比重新安装一次dedecms、然后再导入备份数据库、然后再生成站点可轻松多了。
eyoucms如何开启远程附件
开启远程附件步骤如下:
要开启企业建站插件的远程附件功能,必须先设置好dz本身的远程附件参数,下面说说具体的开启流程。
一、手动上传企业建站的所有附件文件:
1.在【远程附件目录】(dz远程附件设置中的附件目录,如果为.则为根目录)下建立文件夹:yuzhe_company
2.将source\plugin\yuzhe_company\目录下的attachment文件夹(包括该文件夹)上传到第一步中建立的yuzhe_company文件夹下
二、设置dz后台的远程附件相关参数:
1.进入dz后台的【全局-上传设置-远程附件】页面,将“启用远程附件”一项选择是,展示详细的参数设置项
2.在展开的设置项中设置好以下参数(企业建站的远程附件需要用到,未指出的设置项与企业建站无关)
三、开启企业建站的远程附件功能:
进入企业建站系统后台【后台管理-设置缓存-通用参数】页面,将“启用远程附件”一项选择是,保存即可。
eyoucms(易优)常用标签汇总
1、调用图片路径
2、列表内容循环标签写法
3、调用logo的标签
4、调用导航
5、调用基本信息
6、调用当前栏目的图片
7、易优cms去底部版权的方法
注:这里的copyright我改成了id,因为id可以提高速度。比class更好一些,如果你想用class也是可以的。
7.1 js去版权
7.2 css去版权
8、易优cms(eyoucms)的上一篇下一篇
9、获取文章详情
10、获取作者
11、获取日期
12、获取点击数
13、详情页获取栏目图片
14、首页调用特荐文章标签
15、首页文章推荐时候获取时间
16、详情页返回列表的链接
17、友情链接
18、上一篇与下一篇
19、列表内容标签
20、面包屑
21、首页获取关键词、描述、标题。
22、调用css和js
23、调用公共模板
24、调用详情标题【详情页】
25、调用文章详情【详情页】
26、文章点击数【详情页】
27、列表模板和内容模板调用关键词和描述、标题
28、引入其他模板