我有一个python脚本,用于使用多个设备执行实验室测量。整个设置相当复杂,包括通过串行设备进行通信、API调用以及使用自写驱动程序和商业驱动程序。不过,在一个嵌套的文件中,每一个参数都会在一个嵌套的循环中结束。在
我的问题是,我观察到一个^{
错误发生在程序的随机状态。不同的运行将在脚本的不同行抛出MemoryError
。
从来没有任何有用的错误消息。Python只说MemoryError
,没有任何错误字符串。回溯将我带到脚本中的某个地方,那里需要内存(例如,构建列表时),但似乎没有特定的指令,这就是问题所在。
我的公羊远远不够满。当在任务管理器中查看时,所讨论的python进程通常会消耗大约10mb的RAM。此外,RAM的使用似乎在数小时内保持稳定。通常,它会在一段时间内缓慢增加,只是为了快速下降到上一个级别,我将其解释为垃圾收集器定期启动。
到目前为止,我没有发现任何内存泄漏的迹象。我使用^{
我被困在win7x86由于一个驱动程序,它只能在32位系统上工作。所以我不能按照this这样的建议去使用64位版本的Windows。不管怎样,我不知道这对我的情况有什么帮助。
启动脚本的iPython控制台在错误发生后通常表现得很奇怪。有时,即使对于非常简单的操作,也会抛出一个新的MemoryError
。通常,控制台在一段时间后被Windows标记为“没有响应”。弹出一个菜单,除了等待进程或终止进程的常用选项外,还有第三个选项“恢复”程序(无论是什么意思)。这样做通常会导致控制台再次正常工作。
在这一点上,我有点想不出该怎么办了。在我的情况下,将军不愿意把剧本的一部分删掉,直到它发挥作用为止。如上所述,每次测试运行将花费数小时,这意味着我的实验室设备可能会停机数周。往那个方向走,对我来说是不可行的。有没有更直接的方法来学习,什么是幕后黑手?我怎么能理解python显然无法malloc?在
目前没有回答
相关问题 更多 >
编程相关推荐