服务器 512MB内存,CentOS6.
运行代码
#!/usr/bin/env python
result = []
for item in range(1,100000000):
result.append(str(item))
output = ''.join(result)
代码运行一次,运行一段时间后,运行第二个,运行第三个,过了一会儿第一个就被kill了。
程序被kill
iowait特别高,因为swap开始使用了
dmesg信息提示有程序被kill
本文探讨了一个Python程序在CentOS 6系统上因大量内存消耗导致被系统调度器kill的问题。通过分析发现,该程序在不断累加字符串的过程中耗尽了服务器的可用内存,并开始使用swap空间,最终因iowait过高而被系统终止。
服务器 512MB内存,CentOS6.
运行代码
#!/usr/bin/env python
result = []
for item in range(1,100000000):
result.append(str(item))
output = ''.join(result)
代码运行一次,运行一段时间后,运行第二个,运行第三个,过了一会儿第一个就被kill了。
程序被kill
iowait特别高,因为swap开始使用了
dmesg信息提示有程序被kill
1305
1万+
3387

被折叠的 条评论
为什么被折叠?