...
提示 | ||
---|---|---|
| ||
一般出现类似于服务器CPU 和内存一直在98%-100%,后台报锁死错误,一直卡住,无法开发报表的情况 |
一、可能性分析
原因1:
磁盘空间不够的因素,出现无法写日志的情况从而导致产品系统功能宕机无法正常使用。 因此关于服务器磁盘空间不足的问题,目前需要您加大磁盘空余容量。这是我们产品对服务器环境的各项要求文档: 系统环境要求
原因2:
报表设置不合理。比如说用电子表格的分组报表,分组报表本身是一次性加载所有数据到内存上的,若是数据集返回结果很大,这时候会导致内存被占用,这时候在内存不够分配的情况下,CPU就会上升,并系统卡顿。请优化相关系统参数, 具体入口在【系统选项】--》【缓存设置】(如下图),参数说明可查看wiki文档: https://history.wiki.smartbi.com.cn/pages/viewpage.action?pageId=35751346 ,建议同时对电子表格增加过滤参数,以便缩小数据集返回行数。
...
其中【内存数据库最大返回单元格数】=内存数据库最大返回行数*列字段
原因3:
灵活分析引用的数据集设置了Excel模板,然后进行大数据量导出,详细说明请查看wiki文档:https://history.wiki.smartbi.com.cn/pages/viewpage.action?pageId=46071847
原因4:
内存溢出,代码逻辑存在问题或者服务器内存设置太小不满足当前系统用户的使用,这个是需要采集信息发回具体分析的,具体可参考现象三采集信息。
...
提示 |
---|
为了定位分析具体原因,通常需要采集有用的信息辅助分析问题,因此需要我们根据实际现象来采集信息 |
二、信息采集
现象一:服务器可正常访问,但是后台显示CPU占用过高
分析:请访问listthreads.jsp界面,如: http://192.168.1.10:17300/smartbi/vision/monitor/listthreads.jsp
(需要把IP和端口号 修改成现场的服务器IP和端口号),加载此界面完成后Ctrl+S保存网页内容发回分析,可分析是哪个线程占用过高的CPU:
现象二:如果服务器没有宕机,只是报表响应时间长。
信息收集:打开CPU采样,录制报表打开的过程,可参考文档:系统监控-性能(CPU采样)
现象三:所有用户无法访问服务器,即服务器宕机了。
A、服务器已经重启的情况下,先拿到以下信息初步定位分析下问题。
...
2、进入【会话管理】–》【会话分析】–>打开【最大会话分析】界面,选择宕机前后时间段,查询数据,导出Excel文件,可以通过【空闲内存数】大概推测是否是内存溢出导致的,如果【空闲内存数】很少,说明宕机原因就是因为服务器内存溢出导致的:
注意:时间间隔设置 1分钟
通过会话管理确认内存消耗比较多的时间段,然后打开【操作日志报表】查看当前时间段用户做了什么操作:
通过会话管理确认内存消耗比较多的时间段,然后打开【操作日志报表】查看当前时间段用户做了什么操作:
检查当前服务器的内存配置大小,可以通过【系统监控】--》【概述】或者【导出系统日志】的【version.txt】文件查看:
...
此时需要获取当天的hs_err_pid进程号.log文件进行分析。
现象四:登录界面一直在转圈,或者操作系统会出现卡顿的现象。
信息采集:如果一直在转圈,先尝试浏览器隐身模式测试,如果仍然一直转圈,可以查看浏览器F12是否有脚本错误,如果没有脚本错误或者操作系统很卡,则需要在出现问题的时候录制charles发回分析:Charles
...