2011-01-24 8 views
0

Drupal 6.19のインストールが約6ヶ月間実行されています。クライアントはより多くのコンテンツを公開しています。検索インデックス作成時にDrupal(6.19)cron排気メモリ

しかし、何かが起きました。なぜなら今はクロンジョブが終了しないからです。

致命的なエラー:行444

に/XXX/modules/search/search.moduleに(36230464バイトを割り当てしようとした)134217728バイトのメモリサイズが使い果たさ可見ての通り、私はPHPで128Mメモリの制限を持っています.iniとsearch.moduleはかなり大きな36Mを割り当てようとしています。私はsearch.moduleがそれをする理由を思い付くことができないので、私はさらに進んでいくためのヒントがあるかどうか聞いてきます。 Drupalがホステッド環境にあるため、メモリ制限を増やすことはできません。

私は時間に10ノードまでのインデックス作成を制限し、最短単語長を5文字に変更しました。私は10ノードのインデックス作成がどのようにすべてのメモリを消費するのか理解できません。

デバッグ方法は?何を試してみませんか?任意のアイデアをいただければ幸いです!

+0

メモリ消費量は、索引付けするノードの数だけでなく、アクティブ化したモジュールにも基づいています。アクティブなモジュールがたくさんある場合(またはCCK /ビューのようなリソースが空いているモジュールがいくつかある場合)、DrupalはたくさんのRAMを落とします。 – wimvds

+0

私の悪い人。私は理解していない、コメントもインデックスされています。私が気付かなかったことは、ファイルシステムから約600Mのスペースを取ったわずか250,000のスパムコメントしかなかったことです。あなたはそれを逃すことができます。答えは:あなたはしないでください。みんなありがとう。 – Jasmo

答えて

0

/XXX/modules/search/search.moduleの444行目をご覧ください。そこにはどのようなコードがありますか?

あなたのサイトのコンテンツについてもっと知る必要があると思います。サイトの大きさはどれくらいですか?いくつのノードがありますか?ノードあたりのテキストはどれくらいですか?

データベースをチェックインして、ノードで使用するストレージ容量を確認します。データベース全体のサイズはどれくらいですか?

添付ファイルとファイルシステム上のファイルを検索できるモジュールがインストールされていますか(http://drupal.org/project/search_filesなど)?

0

さて、あなたはクライアントがより多くのコンテンツを公開していると言います。私たちは以前にどれくらいのメモリがクーポンによって使用されていたかについての情報はありません。ほとんどの場合、あなたはちょうど最近まであなたの記憶制限の下にあったでしょう、そして今あなたは終わりました。このようなことは、何をしているのか分からない人々がウェブサイトを立ち上げたときにいつも起こります。

さらに進めますか?検索モジュールのメモリ割り当てをバンプアップします。私はそれが少し明らかであることを意味します。これがスケールされないことを心配していますか?あなたは今まで問題をプロファイリングしていないので、確かに分かりません。

検索エンジンは、検索が実行されるときにI/O用のディスクスペースを交換する方法です。検索ごとにすべての文書を(I/Oを使用して)スキャンするか、(ディスク上の)インデックスを参照して情報を取得します。そのため、サイトをインデックス化するためのcronスクリプトでは、仕事を完了させるために一定量の一時的なディスクスペースとしてのメモリが必要になるのは自然なことです。

+1

すべての正しい点 - 私はそれらのどれが@Jasmoが彼の問題を解決するのに役立つか見ていない。 – anschauung

0

私の最初の疑惑は、あなたが限界を超えているキューの中に大きなノードのオッパイがいることです。これをテストするにはいくつかの方法があります:

のデータベース内のテーブルを確認して、自分のサイトのノードに対応するテーブルを確認してください。次に、それよりも大きいnidを持つノードを見てください。そのうちの1つは異常に大きいか、それとも別のものですか?それを編集して空のボディーを作成してください(古いリビジョンを残しておいてください)。

もしそうでなければ - 私たちは何かを試してみましょう。

関連する問題