Python 如何在OpenShift上运行需要太多RAM的代码?

Python 如何在OpenShift上运行需要太多RAM的代码?,python,django,openshift,Python,Django,Openshift,我对OpenShift有问题。目前我正在尝试添加到我的django应用程序。然而,当我试图初始化它的数据库时,OpenShift会杀死它。我认为它需要太多的内存。 如果我运行更新代码/manage.py geoip_update(我还尝试使用nohup运行),则输出如下: Downloading zipfile from ipgeobase.ru... INFO:import:Downloading zipfile from ipgeobase.ru... Extracting files...

我对OpenShift有问题。目前我正在尝试添加到我的django应用程序。然而,当我试图初始化它的数据库时,OpenShift会杀死它。我认为它需要太多的内存。
如果我运行更新代码
/manage.py geoip_update
(我还尝试使用nohup运行),则输出如下:

Downloading zipfile from ipgeobase.ru...
INFO:import:Downloading zipfile from ipgeobase.ru...
Extracting files...
INFO:import:Extracting files...
Updating locations...
INFO:import:Updating locations...
Updating CIDR...
INFO:import:Updating CIDR...
61%
在61%的CIDR更新后,它崩溃。如果我正在跟踪日志或通过ssh登录,则会断开我的连接:

/var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/ruby_compat.rb:30:in `select': closed stream (IOError)
from /var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/ruby_compat.rb:30:in `io_select'
from /var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/transport/packet_stream.rb:75:in `available_for_read?'
from /var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/transport/packet_stream.rb:87:in `next_packet'
from /var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:183:in `block in poll_message'
from /var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:178:in `loop'
from /var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:178:in `poll_message'
from /var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:461:in `dispatch_incoming_packets'
from /var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:222:in `preprocess'
from /var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:206:in `process'
from /var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in `block in loop'
from /var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in `loop'
from /var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in `loop'
from /var/lib/gems/1.9.1/gems/rhc-1.36.4/lib/rhc/ssh_helpers.rb:198:in `block in ssh_ruby'
from /var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh.rb:215:in `start'
from /var/lib/gems/1.9.1/gems/rhc-1.36.4/lib/rhc/ssh_helpers.rb:173:in `ssh_ruby'
from /var/lib/gems/1.9.1/gems/rhc-1.36.4/lib/rhc/commands/tail.rb:40:in `tail'
from /var/lib/gems/1.9.1/gems/rhc-1.36.4/lib/rhc/commands/tail.rb:21:in `run'
from /var/lib/gems/1.9.1/gems/rhc-1.36.4/lib/rhc/commands.rb:294:in `execute'
from /var/lib/gems/1.9.1/gems/rhc-1.36.4/lib/rhc/commands.rb:285:in `block (3 levels) in to_commander'
from /var/lib/gems/1.9.1/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
from /var/lib/gems/1.9.1/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
from /var/lib/gems/1.9.1/gems/commander-4.2.1/lib/commander/command.rb:155:in `run'
from /var/lib/gems/1.9.1/gems/commander-4.2.1/lib/commander/runner.rb:421:in `run_active_command'
from /var/lib/gems/1.9.1/gems/rhc-1.36.4/lib/rhc/command_runner.rb:72:in `run!'
from /var/lib/gems/1.9.1/gems/commander-4.2.1/lib/commander/delegates.rb:12:in `run!'
from /var/lib/gems/1.9.1/gems/rhc-1.36.4/lib/rhc/cli.rb:37:in `start'
from /var/lib/gems/1.9.1/gems/rhc-1.36.4/bin/rhc:20:in `<top (required)>'
from /usr/local/bin/rhc:23:in `load'
from /usr/local/bin/rhc:23:in `<main>'
/var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/ruby_compat.rb:30:在“选择”中:关闭流(IOError)
from/var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/ruby_compat.rb:30:in'io_select'
from/var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/transport/packet\u stream.rb:75:“可供读取吗?”
from/var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/transport/packet_stream.rb:87:in“next_packet”
from/var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:183:“轮询消息中的块”
from/var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:178:in'loop'
from/var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:178:“轮询消息”中的
from/var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:461:“发送传入的\u数据包”
from/var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:222:在“预处理”中
from/var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:206:在“进程”中
from/var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:在“循环中的块”中
from/var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in'loop'
from/var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in'loop'
from/var/lib/gems/1.9.1/gems/rhc-1.36.4/lib/rhc/ssh\u helpers.rb:198:in'block in ssh\u ruby'
from/var/lib/gems/1.9.1/gems/net-ssh-2.9.2/lib/net/ssh.rb:215:in'start'
from/var/lib/gems/1.9.1/gems/rhc-1.36.4/lib/rhc/ssh\u helpers.rb:173:in'ssh\u ruby'
from/var/lib/gems/1.9.1/gems/rhc-1.36.4/lib/rhc/commands/tail.rb:40:in'tail'
from/var/lib/gems/1.9.1/gems/rhc-1.36.4/lib/rhc/commands/tail.rb:21:in'run'
from/var/lib/gems/1.9.1/gems/rhc-1.36.4/lib/rhc/commands.rb:294:in'execute'
from/var/lib/gems/1.9.1/gems/rhc-1.36.4/lib/rhc/commands.rb:285:in“block(3层)in to_commander”
from/var/lib/gems/1.9.1/gems/commander-4.2.1/lib/commander/command.rb:180:in'call'
from/var/lib/gems/1.9.1/gems/commander-4.2.1/lib/commander/command.rb:180:in'call'
from/var/lib/gems/1.9.1/gems/commander-4.2.1/lib/commander/command.rb:155:在“运行”中
from/var/lib/gems/1.9.1/gems/commander-4.2.1/lib/commander/runner.rb:421:in'run\u active\u command'
from/var/lib/gems/1.9.1/gems/rhc-1.36.4/lib/rhc/command_runner.rb:72:in'run!'
from/var/lib/gems/1.9.1/gems/commander-4.2.1/lib/commander/delegates.rb:12:in'run!'
from/var/lib/gems/1.9.1/gems/rhc-1.36.4/lib/rhc/cli.rb:37:in'start'
from/var/lib/gems/1.9.1/gems/rhc-1.36.4/bin/rhc:20:in`'
from/usr/local/bin/rhc:23:在“加载”中
from/usr/local/bin/rhc:23:in`'
我只是猜测是因为内存占用太多。我试图清空数据库并删除日志文件,以确保没有容量问题(超过磁盘配额)。

我的问题是:如何运行此命令使其工作?我可以限制所需的资源吗?

我发现这是由geoip创建的
django\u geoip\u iprange
表引起的,该表大约有218000条记录。Geoip可能会将所有这些IP加载到内存中,然后将它们存储到数据库中。我能够从本地主机导入表
django\u geoip\u iprange
,所以django\u geoip现在应该可以完全正常工作了。
此外,我应该能够使用它来限制所需的资源。还没有测试