System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及风电场运行的,具体为一种获取cms振动数据内存优化的方法。
技术介绍
1、风机振动是运行中常见的现象,只要在振动控制范围之内,不会造成太大的影响。但是风机的振动超标后,会引起轴承座或电机轴承的损坏、电机地脚螺栓松动、风机机壳、叶片和风道损坏、电机烧损发热等故障,使风机工作性能降低,甚至导致根本无法工作,严重的可能因振动造成事故,危害人身健康及工作环境。
2、现有技术获取cms振动数据均采取数据直接调用的方法,数据调用时,振动文件数据量较为庞大,随着接着的风机设备越来越多,对数据接口的要求也越来越高,在查询设备区间的振动数据时,会发现服务器的内存使用率达到了95%以上,达到一定阈值后,数据接口服务就会显得较为异常,长时间如此高内存使用率,释放不掉内存,就会导致服务异常不可用状态。
3、因此,急需研发一种获取cms振动数据的内存优化的方法。
技术实现思路
1、针对上述问题,本专利技术提供了一种获取cms振动数据内存优化的方法,其对操作系统进行控制与优化、同时开发人员对程序进行优化,通过双向内存释放的优化过程,降低服务器的内存使用率,从而更高效地获取cms振动数据。
2、一种获取cms振动数据内存优化的方法,其特征在于,其通过服务器层级优化和代码层级优化进行双向内存释放来优化内存状态,从而提升用户体验、降低内存使用率;
3、在服务器层级优化时包括设定内存大小的计算以及操作过程、内存分配使用方法;
4、在代码层级优化
5、其进一步特征在于:
6、所述内存大小的计算及操作过程如下,在linux下/proc/self/statm有当前进程的内存占用情况,共有七项:指标vsize虚拟内存页数、resident物理内存页数、share共享内存页数、text代码段内存页数,lib引用库内存页数、data_stack数据/堆栈段内存页数、dt脏页数,七项指标的数字是内存的页数,因此需要乘以getpagesize()转换为byte,在每个模块结束后统计vsize的增加,从而获得该模块占用的内存大小;
7、所述内存分配使用方法如下,其通过cmalloc进行内存分配,tcmalloc对每个线程单独维护threadcache分配小内存;针对ptmalloc多线程内存无法复用的问题,tcmalloc为进程内的所有线程维护公共的centralcache,threadcache会阶段性的回收内存到centralcache;针对ptmalloc每块chunk使用8个字节表示其他信息,tcmalloc对每块chunk使用大概百分之一的空间表示其他信息,对小对象分配,空间利用率远高于ptmalloc;
8、代码内存方面优化及内容如下,其利用单例机制控制资源的使用,通过线程同步来控制资源的并发访问;控制资源的使用,通过线程同步来控制资源的并发访问,减少对象的创建,减少使用finalize方法,减少对变量重复计算;
9、定时回收内存时通过手动进行gc回收。
10、采用上述技术方案后,其对操作系统进行控制与优化、同时开发人员对程序进行优化,通过双向内存释放的优化过程,降低服务器的内存使用率,从而更高效地获取cms振动数据,数据下发请求,一次最多可以请求一个设备的一天的所有测点产生的文件。
本文档来自技高网...【技术保护点】
1.一种获取CMS振动数据内存优化的方法,其特征在于,其通过服务器层级优化和代码层级优化进行双向内存释放来优化内存状态,从而提升用户体验、降低内存使用率;
2.如权利要求1所述的一种获取CMS振动数据内存优化的方法,其特征在于:所述内存大小的计算及操作过程如下,在linux下/proc/self/statm有当前进程的内存占用情况,共有七项:指标vsize虚拟内存页数、resident物理内存页数、share共享内存页数、text代码段内存页数,lib引用库内存页数、data_stack数据/堆栈段内存页数、dt脏页数,七项指标的数字是内存的页数,因此需要乘以getpagesize()转换为byte,在每个模块结束后统计vsize的增加,从而获得该模块占用的内存大小。
3.如权利要求1或2所述的一种获取CMS振动数据内存优化的方法,其特征在于:所述内存分配使用方法如下,其通过cmalloc进行内存分配,tcmalloc对每个线程单独维护ThreadCache分配小内存;针对ptmalloc多线程内存无法复用的问题,tcmalloc为进程内的所有线程维护公共
4.如权利要求1所述的一种获取CMS振动数据内存优化的方法,其特征在于:代码内存方面优化及内容如下,其利用单例机制控制资源的使用,通过线程同步来控制资源的并发访问;控制资源的使用,通过线程同步来控制资源的并发访问,减少对象的创建,减少使用finalize方法,减少对变量重复计算。
5.如权利要求1或4所述的一种获取CMS振动数据内存优化的方法,其特征在于:定时回收内存时通过手动进行gc回收。
...【技术特征摘要】
1.一种获取cms振动数据内存优化的方法,其特征在于,其通过服务器层级优化和代码层级优化进行双向内存释放来优化内存状态,从而提升用户体验、降低内存使用率;
2.如权利要求1所述的一种获取cms振动数据内存优化的方法,其特征在于:所述内存大小的计算及操作过程如下,在linux下/proc/self/statm有当前进程的内存占用情况,共有七项:指标vsize虚拟内存页数、resident物理内存页数、share共享内存页数、text代码段内存页数,lib引用库内存页数、data_stack数据/堆栈段内存页数、dt脏页数,七项指标的数字是内存的页数,因此需要乘以getpagesize()转换为byte,在每个模块结束后统计vsize的增加,从而获得该模块占用的内存大小。
3.如权利要求1或2所述的一种获取cms振动数据内存优化的方法,其特征在于:所述内存分配使用方法如下,其通过cmall...
【专利技术属性】
技术研发人员:谭国宁,李洪灯,刘振杰,陈岩磊,周盛龙,
申请(专利权)人:北京华能新锐控制技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。