前几天我实现了一个自动填充build议系统,根据语言使用字典。 下面是它是如何工作的:JQuery UI自动完成 – >调用.PHP文件 – >调用VB6 COM dll函数 – >调用.sqlite文件并根据键入的字母查找结果 – >返回结果到PHP – >返回结果到JS 。
它的工作速度相当快,因为完成每个操作需要平均约7(毫秒)。 在高峰时段,谷歌分析显示约1200在线用户,并且通常每天我们都会得到大约half a million这个特定function的调用。
从这个自动完成build议系统上线的那一天起,我开始注意到成百上千个非常具体的错误信息:
Not enough storage is available to complete this operation. CoInitialize has not been called.
一些可能有用的信息:
通过组策略添加pipe理员
在Windows 7上使用Qt 5.1和jom进行多核编译失败
如何获得正在运行的进程的path,缺less用户的权限
将kde应用程序移植到windows
Qtdebugging器不工作Windows8
a)这些消息大多出现在高峰期的游客中
b)它们并不总是只出现在具体的function上,而是出现在其他的function上(但是在我们实现上述系统之前从未做过)
c)我之前使用过sqlite数据库来处理其他的东西(虽然没有那么多“实时”,就像在用户input时返回结果一样),但是从来没有出现过这样的问题
d)sqlite文件的大小是〜350MB,有3个表,其中一个有2200万个条目,另一个有160万个,另外~16000个条目,并且所有必要的列都被索引。
e)显然这个数据库用于只读操作
f)一旦系统被禁用,所有的消息停止。
g)我每天收到大约一千条这样的错误消息(每天大约有500.000个函数调用)
服务器系统是两个(x2)盒子:3,8GHZ的核心I7 4770,32GB的RAM,Windows server 2012和IIS。
信息随机出现,只在高峰时段。 我无法在开发机器上复制这个问题。 到目前为止,search互联网已经毫无结果。 任何关于如何解决这个问题以及如何解决的想法都是值得欢迎的。
谢谢。
Windows:作为服务运行时查找屏幕分辨率
Windows CDROMpopup
使用.cer文件签名.exe(signtool.exe要求的证书名称是什么?)
在Windows上通过SSH客户端和服务器的Mercurial
在Vista / Win7上使用WMI检查夏令时
事实上,这是一个瞬间问题,只发生在高峰使用时间,这是一个很明显的迹象表明内存不足 – 可能是VB DLL(这可能是CoInitialize被调用的唯一地方)。
我已经看到类似的问题,有太多的应用程序运行和winDoze用完“系统句柄” – 我有一个W2K高级服务器框我一直用作桌面机(因为M $不提供升级路径从一个AS实例到一个桌面),通常运行十几个浏览器窗口,带有8-10个标签的WinSCP,几个PuTTY会话,几个DOS盒子,远程桌面连接,在四个窗口中有184个标签的Firefox,Thunderbird监视40个电子邮件帐户,WinAmp ,还有一些其他的 – 由于前面提到的系统句柄限制,PaintShopPro和PHPED只是不想同时运行。
你的问题可能只是通过抛出更多的内存来解决,但你应该做一些性能检查,并检查系统设置来调整。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。