問題タブ [memory-limit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
148882 参照

php - PHPのメモリ制限を2GB以上に増やす方法は?

PHP のメモリ制限を Apache モジュールとして増やす際に問題があります。

次のディレクティブを Apache 構成に入れると、問題なく動作します。

ただし、2GB を超えると機能しません。この値を 128MB に戻します。

ここで何が問題なのですか?PDF 関連のタスクのために、より多くのメモリが必要です。

サーバーは Debian 2.6.32-5-amd64 #1 SMP、PHP 5.3.3-7+squeeze13、12GB 物理 RAM です。

0 投票する
2 に答える
8164 参照

drupal - DRUPAL & メモリ制限

Drupal の一部のページは、他のページより多くのメモリを使用します。モジュールのページ(またはグラフィックのあるセクション)がこのピークに達し、変更を行うときに白いページを避けたいという理由だけで、Drupal のすべてのページに 64M 以上を予約するのはサーバー リソースの無駄だと思います。

だから、私の質問は次のとおりです。セクションまたはページに応じて、プログラムでさまざまなメモリ制限を管理することは良い習慣ですか? 一部のページは 32M 以下を使用するため、Web アプリの特定のセクションを特定の制限で最適化することをお勧めします。

私は最適化の実践について多くのことを読みましたが、メモリ制限を動的に処理したり、この種の問題を処理したり、このアプローチを適用したりする Drupal モジュールを見つけたことがありません。

0 投票する
1 に答える
1225 参照

php - memory_limit:どのように機能しますか?

私は約2時間実行されるphpスクリプトを持っています。これはcronジョブです。cronジョブは4時間ごとに実行されます。

スクリプトの最後に、いくつかのメモリ値を表示します。

php.iniのmemory_limitは128Mで、機能しませんでした。256Mに上げると、動作します。

ただし、スクリプトのメモリのピークは2M未満であるため、...

では、memory_limitパラメーターはどのように機能しますか?

スクリプトで使用されているメモリの合計ですか?もしそうなら、どうすればそれを計算できますか?

スクリプトのメモリピークですか?もしそうなら、私はそれを正しく計算していますか?

私はphp5.3.16を使用しています。

編集

エラーメッセージはありません。制限が128Mの場合スクリプトは実行されますが、終了することはありません。

0 投票する
2 に答える
13642 参照

php - Laravel DB 挿入エラー: 許容メモリ サイズを使い果たしました

~20K レコードを DB に挿入しようとすると、問題が発生します。foreach ループ内でエコーしているにもかかわらず、コマンド ラインに何も出力されていないことに気付きました。代わりに、関連する〜9440レコードを挿入した後にエラーが発生します...

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 91 bytes) in /Users/me/Sites/Laravel/database/connection.php on line 293

これが私のコードです(EloquentとFluentの両方を使用してみました):

0 投票する
2 に答える
5881 参照

php - memory_limit が機能しない

致命的なエラー: 104857600 バイトの許容メモリ サイズを使い果たしました (32345609 バイトを割り当てようとしました)

これは、php スクリプトを実行するには 137203209 バイトのメモリ制限が必要であることを意味します。
スクリプトに次のコードがありますが、このエラーが発生しました。

スクリプトは私の共有ホスティング サーバーにあります。php.iniにアクセスできません。memory_limit同じホスティングサーバー内の他のスクリプトでも機能しました。

サーバーのphpinfo()をチェックすると、これらが表示されます

suhosin.memory_limit - 128
memory_limit - 100M

私のスクリプトは、大きなファイルが添付されたメール送信スクリプトであるため、間違いなく 128M 以上必要です。

0 投票する
2 に答える
6839 参照

c++ - 無制限のサイズの整数?

Pythonでは、無制限のサイズの整数を計算するプログラムを作成できます。先日、100万回目のフィボナッチ数を計算しましたが、大きすぎてコンソールに収まりませんでした。私の理解ではCで書かれたPythonでこれを行うことができるとしたら、C++で同じことをどのように行うことができるでしょうか。それは可能でなければなりません、さもなければ私はそれがPythonでどのように行われることができるかわかりません。また、Java / C#にはBigintegerと呼ばれる似たようなものがあると思いますが、C++でどのように実装できるかについては何もわかりませんでした。

0 投票する
3 に答える
38052 参照

php - PHPのmemory_limitは多ければ多いほど良いですか?

PHP では、メモリ制限の問題に直面することがよくあります。特に、Drupal などの高度にリソースが統合されたシステムでは。

ここで知りたいことは次のとおりです。

  • 2GB のように非常に高い PHP メモリ制限を持つことは良いことですか?
  • 大きな欠点はありますか?

編集:

シナリオとして、たとえば Drupal では、(Drush やその他のスクリプトではなく) Web パネルを介して CACHE をクリアしている間、非常に多くのメモリが必要になります。したがって、この場合だけでも、現在 512MB 前後の上限が確実に必要です。

0 投票する
1 に答える
1964 参照

php - csvまたはコンマ区切りファイルからデータを読み取る

重複の可能性:
CSVファイルをMySQLに直接インポートする

さまざまな方法でphpのcsvファイルまたは巨大なファイルサイズ(250MB以上)のコンマ区切りファイルからデータを読み取ろうとしました(これらの1つは以下のとおりです)ので、必要なデータをmysqlデータベースに挿入できますが、プログラムファイルの読み取りが完了する前に毎回クラッシュします。また、php.iniのメモリ制限を増やしてみました。次のエラーが発生します:-

1.----------------------------------------------

memory_limit = 128M致命的なエラー:19行目のC:\ wamp \ www \ site \ files \ plugin \ agoda \ agoda.plugin.phpで許可されたメモリサイズ134217728バイトが使い果たされました(63バイトを割り当てようとしました)

2.----------------------------------------------

memory_limit = 1000M致命的なエラー:19行目のC:\ wamp \ www \ site \ files \ plugin \ agoda \ agoda.plugin.phpで許可されたメモリサイズ1048576000バイトが使い果たされました(1299バイトを割り当てようとしました)

3.----------------------------------------------

memory_limit = 2000M

ヌル

プログラムをクラッシュさせることなく、phpでそのようなファイルを読み取る方法が必要です。

0 投票する
3 に答える
230 参照

php - memory_limitが高い巨大なphpファイルを無限にロードする

はじめに

現在、私は XML ファイルを扱っています。PHP を使用して、いくつかの XML ファイルを結合します。これは、PHP のデフォルトの memory_limit を超える大きな操作です。

致命的なエラーで制限を拡張するini_set('memory_limit', '1024M');と、スクリプトは制限を超えなくなりました。

私が今抱えている問題は、XML ファイルを結合した後、スクリプトにバグがあることです。ブラウザは無限に読み込まれますが、サーバー側ですべてを実行できます。自分自身に電子メールを送信するように、データベースに行を追加します。しかし、クライアント側のすべてが機能しません。単純なecho 'Hello World';またはのようにheader('location: http://www.google.com');

ファイルを結合しながら、手順を記録します。

奇妙な部分は、私のスクリプトが最後のログを記録することDone with processingです。サーバーサイドで行うことはすべて機能します。

しかし、ヘッダー (リダイレクト) はそうではありません。私のブラウザは無限ロードです。

質問

  • 何がうまくいかないのですか?
  • ブラウザはしばらくするとサーバーとの通信を無効にしますか?
0 投票する
6 に答える
3830 参照

php - PHP memory_get_peak_usage および ini_set('memory_limit', '-1')

最近、メモリ割り当ての問題に遭遇したので、ini_set('memory_limit', value);値を段階的に入力しようとしたディレクティブを試し始めました。さて、ウェブ(およびSO)を検索すると-1value. それで、私はそうしました、そして今、スクリプトは壊れることなく最後まで完全に実行されます(以前はメモリ割り当てエラーが発生していました)。

しかし、私が理解できないのは、スクリプトのファイルの最後に次の 2 行があることです。

10.8MBを生成します。これを調べると、次の/var/log/messages行が表示されます。

これは、スクリプトが 4096MB を割り当てようとしたことを意味します

どうすればいいの?また、私が最も興味を持ったのは、この場合、スクリプトの実行が停止しなかった理由です。のせいini_set('memory_limit', '-1');ですか?-1つまり、推奨されてvalueいないので、スクリプトのどこに問題があるのか​​ (メモリ内で一度に大量のデータを読み込んでいる)を知っているので、そのパッティングを読みました。これらのデータの違いに困惑しているだけなので、誰かがそれを明らかにしてくれるとありがたい.