0

誰かがフィードバックを提供したり、正しい方向に私を向けたりしていただければ幸いです。3つのdjangoサイトがデーモンモードで実行されていると、リモートサーバーでターミナルコマンドを実行できません。1つまたは2つのサイトで埋め込みモードを使用しても問題はありません。コマンドを入力すると、「-bash:fork:メモリを割り当てることができません」というメッセージしか表示されません。

システム:仮想クラウド上のUbuntu 8:04 LTSリモート、SWAPファイルはありませんが512 RAM(空き、topおよびpc auxは20%のメモリしか使用されていないことを示します)、Puttyによるアクセス、WINSCPによるFTP、UFWファイアウォールのセットアップ、Apache2.2。 8、プリフォーク、mod-wsgi 2.3、sqlite db、

.confファイル、現時点ではデーモンがコメントアウトされています。

NameVirtualHost *:80

次のようにヘルム

<VirtualHost *>
    ServerAdmin webmaster@facts.com
    ServerName helme.h1.net
    DocumentRoot /home/helme/django/facts/apache/
    DirectoryIndex index.html index.htm

    ServerAlias  helme.h1.net www.helme.h1.net

    <Directory /home/helme/django/facts/apache/>
        Options Indexes FollowSymLinks
        AllowOverride AuthConfig
        Order allow,deny
        Allow from all

    </Directory>

    ErrorLog /home/helme/django/facts/log/error.log
    LogLevel info
    CustomLog /home/helme/django/facts/log/access.log common

    #WSGIDaemonProcess helme.h1.net user=www-data group=www-data processes=5 threads=1
    #WSGIProcessGroup helme.h1.net


    WSGIScriptAlias / /home/helme/django/facts/apache/django.wsgi

    <Directory /home/helme/django/facts/apache/>
        Order allow,deny
        Allow from all
    </Directory>


</VirtualHost>

次のようにチャーリー

<VirtualHost *>
    ServerAdmin webmaster@facts-pte.com
    ServerName facts-pte.h1.net
    DocumentRoot /home/pte/django/facts/apache/
    DirectoryIndex index.html index.htm

    ServerAlias  facts-pte.h1.net www.facts-pte.h1.net

    <Directory /home/pte/django/facts/apache/>
        Options Indexes FollowSymLinks
        AllowOverride AuthConfig
        Order allow,deny
        Allow from all

    </Directory>

    ErrorLog /home/pte/django/facts/log/error.log
    LogLevel info
    CustomLog /home/pte/django/facts/log/access.log common

    #WSGIDaemonProcess facts-pte.h1.net user=www-data group=www-data processes=5 threads=1
    #WSGIProcessGroup facts-pte.h1.net


    WSGIScriptAlias / /home/pte/django/facts/apache/django.wsgi

    <Directory /home/pte/django/facts/apache/apache/>
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>

次のようにwuest

<VirtualHost *>
    ServerAdmin webmaster@facts.com
    ServerName wuest.h1.net
    DocumentRoot /home/wuest/django/wuest/apache/
    DirectoryIndex index.html index.htm

    ServerAlias  wuest.h1.net www.wuest.h1.net

    <Directory /home/wuest/django/wuest/apache/>
        Options Indexes FollowSymLinks
        AllowOverride AuthConfig
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog /home/wuest/django/wuest/log/error.log
    LogLevel info
    CustomLog /home/wuest/django/wuest/log/access.log common

    WSGIDaemonProcess wuest.h1.net user=www-data group=www-data processes=5 threads=1
    WSGIProcessGroup wuest.h1.net


    WSGIScriptAlias / /home/wuest/django/wuest/apache/django.wsgi

    <Directory /home/wuest/django/wuest/apache/>
        Order allow,deny
        Allow from all
    </Directory>


</VirtualHost>

どのメモリがいっぱいですか?Apacehが「worker」mpmとしてロードされた場合、同じ問題が発生しますか?SWAPファイルを追加するのと同じくらい簡単ですか?postgresqlをインストールすると、より多くのメモリプローブがありますか?

私は、Djangoプロジェクトに取り組んでいる友人のためにリモートサーバーを管理しているだけの高度なプログラマーや管理者ではないことに注意してください。

どんな助けでもいただければ幸いです。マイケルよろしく

4

1 に答える 1

1

スワップ スペースなしでサーバーを実行すると (通常、スワップはファイルではなく、Linux のハード ディスク パーティションです)、災害の元になります。1つ追加すると、ほぼ確実に問題が解決します。

基本的に、サーバー上で実行しているものに、使用可能なすべての RAM を割り当てることは珍しくありません。サーバーをできるだけ高速に実行するには、サーバーがジョブを実行するために必要な情報のすべてまたはできるだけ多くを RAM で利用できるようにすることが望ましいです。

仮想メモリの概念を説明すると、RAM が 512 MB しかないサーバーでは RAM が使い果たされる可能性がありますが、オペレーティング システムのカーネルには何らかの予約が必要になるため、割り当てに使用できるメモリが常に存在します。 (あなたの場合)のようなシェルを起動する必要がある新しいユーザーログインbash

したがって、サーバーでスワップが利用可能であれば、すべての物理メモリが既に使用されていても、メモリを割り当てることができます。通常、これにより、カーネルはめったにアクセスされない情報の一部を RAM からスワップに移動し、新しいプロセスに実際の物理メモリを少し与えます。

しかし、カーネルに使用可能な仮想メモリがない場合 (RAM がいっぱいで、スワップがいっぱいまたは不足している場合)、メモリを割り当てる要求を拒否する以外に選択肢はありません。これにより、このようなログインできない状況が発生します。

これが起こらないようにするために、現在のアドバイスは、物理メモリの 2 倍 (この場合は 1 GB) のスワッピング スペースを作成することですが、ほとんどの場合、4 GB を超える必要はないでしょう。

于 2009-06-13T06:13:09.317 に答える