[日常工作] 并行计算引发Microsoft.jscript.ni.dll的内存溢出问题的分析解决. .net framework 的版本说明

1. 性能组进行 单点性能测试时发现 商务智能的 并行分析有问题. 效率很低, 开发人员查看iis 的日志 发现错误原因是 Microsoft.jscript.ni.dll 有内存溢出的问题

开发人员彭鹏发现. 

邮件如下

[日常工作] 并行计算引发Microsoft.jscript.ni.dll的内存溢出问题的分析解决.  .net framework 的版本说明

与开发人员沟通 是通过 windows 日志发现的错误

筛选日志

[日常工作] 并行计算引发Microsoft.jscript.ni.dll的内存溢出问题的分析解决.  .net framework 的版本说明

错误日志详细信息

[日常工作] 并行计算引发Microsoft.jscript.ni.dll的内存溢出问题的分析解决.  .net framework 的版本说明

简单搜索以及查看了下相关日志等的信息:

查看操作系统上面的 .net 版本

主要方法:

1. 查看注册表

注册表的范围

计算机HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFrameworkv4.0.30319SKUsClient

性能测试的 win2012r2的机器的 .net 版本为 4.5.1

[日常工作] 并行计算引发Microsoft.jscript.ni.dll的内存溢出问题的分析解决.  .net framework 的版本说明

也可以查看一下 具体的文件版本

比如

目录:

C:WindowsMicrosoft.NETFramework64v4.0.30319

下的文件

[日常工作] 并行计算引发Microsoft.jscript.ni.dll的内存溢出问题的分析解决.  .net framework 的版本说明

 这里面微软很坑. 4.5 的节版本 没有改文件版本的前缀

相应的 我的win10 机器上面的版本就很正常

客户端机器版本:

[日常工作] 并行计算引发Microsoft.jscript.ni.dll的内存溢出问题的分析解决.  .net framework 的版本说明

 查看 文件版本

[日常工作] 并行计算引发Microsoft.jscript.ni.dll的内存溢出问题的分析解决.  .net framework 的版本说明

但是微软这里还一个 坑是 

microsoft.jscript.ni.dll 的文件版本是不一样的

看文件版本 更像是 vs studio 的内部版本号

比如有性能故障的版本是

[日常工作] 并行计算引发Microsoft.jscript.ni.dll的内存溢出问题的分析解决.  .net framework 的版本说明

 win10 机器的版本为

[日常工作] 并行计算引发Microsoft.jscript.ni.dll的内存溢出问题的分析解决.  .net framework 的版本说明

 开发人员 使用替换 ni 文件的方式 来解决这个问题 但是感觉 应该通过升级 .net framework 的方式来解决该问题 避免替换一个文件 引发的兼容性问题

(临时解决方案)

4.5.2 和 4.7.2的下载地址分别为

https://download.microsoft.com/download/E/2/1/E21644B5-2DF2-47C2-91BD-63C560427900/NDP452-KB2901907-x86-x64-AllOS-ENU.exe


https://download.microsoft.com/download/6/E/4/6E48E8AB-DC00-419E-9704-06DD46E5F81D/NDP472-KB4054530-x86-x64-AllOS-ENU.exe

NDP452 和 NDP472 就是相应的版本号了

感觉需要升级一下 再进行相应的测试工作. 

测试完成之后再过来补一下 这个blog

升级 4.5.2 之后的版本和注册表信息

[日常工作] 并行计算引发Microsoft.jscript.ni.dll的内存溢出问题的分析解决.  .net framework 的版本说明

[日常工作] 并行计算引发Microsoft.jscript.ni.dll的内存溢出问题的分析解决.  .net framework 的版本说明