问一个关于Python调用shell内存问题
有一个python主程序,占用很大内存,在执行过程中,需要调用c语言写的bin文件,基本不占内存,但是用os.popen出错。Cannot allocate memory。查了好像是popen会复制python主进程的内存,问个各位有什么方法解决吗? 改用os.system直接bin程序没有执行,直接退出了。try except 也没有捕获到异常。 不是建议使用 subprocess 了么? 用了subprocess.call也出同样的错误
回复 3# q1208c
回复 4# tklist
你不会是把内存占光了吧?
没有占用光,但是python主程序占用了70%内存回复 5# q1208c
额,没人知道怎么搞吗?我准备在写一个python程序,分别调用耗内存python程序,c语言写的bin文件。 to=findpost&pid=&ptid=4149023]6# tklist
我个人觉得, 一个 python 程序应该用不了多少内存的. 除非你把好大一堆数据放在了内存里. 从程序设计角度, 这是不合适的.
单从技术角度来看, subprocess.popen 是一般的外部调用解决办法. call 我没用过. 由于不在了解你那的具体情况. 只能瞎猜了. 你的进程不会超过了它能使用的最大内存数了吧?
32位的进程, 好象最大是2G. 因为操作系统本身有支持进程内存空间的功能,所以和@q1208c有同样的疑问。
或者,你使用的机器本身配置的内存比较少?128M或者256M的老式机器? 我们特殊业务需求就是要用很多内存。25G。
回复 8# q1208c
页:
[1]
2