我最近遇到了与Windows命令提示符的问题,即启用,并单击窗口中选择文本,然后挂一个正在运行的程序快速编辑模式.这,显然,称为行为,我发现与此相关的几个问题:
应用程序如何"暂停"/"暂停"?该过程是否与SIGSTOP*nix上的信号类似?(我也有兴趣了解为什么这个功能首先存在?它似乎不直观且危险.)
我用python搜索了很多关于VMware的问题,但我没有找到任何关于我的问题的信息.我的问题是python程序冻结,进程仍在运行,但它不使用CPU和内存使用不会改变.程序不会返回任何异常或任何东西......它只是冻结,它永远不会返回执行.看起来它是随机发生的,并且不存在我的机器没有可用内存的问题,因为在同一时间我可以在另一个会话中执行它.
我的机器是虚拟机:Windows Server 2008 64位,VMware Tools 9.4.5
我试过python:2.7,3.3和3.4
我的示例脚本:(但不仅此脚本冻结)
print("START")
for i in range(0, 1000):
print("step: " + str(i))
file = open("./test_file.csv", "r") #file size is 1.2GB but I have 10GB RAM
for line in file.readlines():
pass
file.close() #close the file
print("END")
Run Code Online (Sandbox Code Playgroud)
示例输出是:
START
step 0
step 1
step 2
step 3
step 4
Run Code Online (Sandbox Code Playgroud)
并冻结,它随机地在哪一步(有时4,15,34 ......)所有我能做的就是杀死进程并再次运行它.在执行期间,我可以看到程序可重复使用1,2GB RAM并释放...使用和释放.冻结始终在释放内存之后,此时内存使用率稳定,CPU使用率为0%.
我在IDLE中运行脚本来使用调试器和堆栈查看器,但是当程序冻结时,整个空闲没有响应.我也试过别人没有虚拟机,没有问题.
我将不胜感激任何建议,如何解决或调试这类问题.