問題タブ [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.
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 です。
drupal - DRUPAL & メモリ制限
Drupal の一部のページは、他のページより多くのメモリを使用します。モジュールのページ(またはグラフィックのあるセクション)がこのピークに達し、変更を行うときに白いページを避けたいという理由だけで、Drupal のすべてのページに 64M 以上を予約するのはサーバー リソースの無駄だと思います。
だから、私の質問は次のとおりです。セクションまたはページに応じて、プログラムでさまざまなメモリ制限を管理することは良い習慣ですか? 一部のページは 32M 以下を使用するため、Web アプリの特定のセクションを特定の制限で最適化することをお勧めします。
私は最適化の実践について多くのことを読みましたが、メモリ制限を動的に処理したり、この種の問題を処理したり、このアプローチを適用したりする Drupal モジュールを見つけたことがありません。
php - memory_limit:どのように機能しますか?
私は約2時間実行されるphpスクリプトを持っています。これはcronジョブです。cronジョブは4時間ごとに実行されます。
スクリプトの最後に、いくつかのメモリ値を表示します。
php.iniのmemory_limitは128Mで、機能しませんでした。256Mに上げると、動作します。
ただし、スクリプトのメモリのピークは2M未満であるため、...
では、memory_limitパラメーターはどのように機能しますか?
スクリプトで使用されているメモリの合計ですか?もしそうなら、どうすればそれを計算できますか?
スクリプトのメモリピークですか?もしそうなら、私はそれを正しく計算していますか?
私はphp5.3.16を使用しています。
編集
エラーメッセージはありません。制限が128Mの場合スクリプトは実行されますが、終了することはありません。
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の両方を使用してみました):
php - memory_limit が機能しない
致命的なエラー: 104857600 バイトの許容メモリ サイズを使い果たしました (32345609 バイトを割り当てようとしました)
これは、php スクリプトを実行するには 137203209 バイトのメモリ制限が必要であることを意味します。
スクリプトに次のコードがありますが、このエラーが発生しました。
スクリプトは私の共有ホスティング サーバーにあります。php.iniにアクセスできません。memory_limit
同じホスティングサーバー内の他のスクリプトでも機能しました。
サーバーのphpinfo()をチェックすると、これらが表示されます
suhosin.memory_limit - 128
memory_limit - 100M
私のスクリプトは、大きなファイルが添付されたメール送信スクリプトであるため、間違いなく 128M 以上必要です。
c++ - 無制限のサイズの整数?
Pythonでは、無制限のサイズの整数を計算するプログラムを作成できます。先日、100万回目のフィボナッチ数を計算しましたが、大きすぎてコンソールに収まりませんでした。私の理解ではCで書かれたPythonでこれを行うことができるとしたら、C++で同じことをどのように行うことができるでしょうか。それは可能でなければなりません、さもなければ私はそれがPythonでどのように行われることができるかわかりません。また、Java / C#にはBigintegerと呼ばれる似たようなものがあると思いますが、C++でどのように実装できるかについては何もわかりませんでした。
php - PHPのmemory_limitは多ければ多いほど良いですか?
PHP では、メモリ制限の問題に直面することがよくあります。特に、Drupal などの高度にリソースが統合されたシステムでは。
ここで知りたいことは次のとおりです。
- 2GB のように非常に高い PHP メモリ制限を持つことは良いことですか?
- 大きな欠点はありますか?
編集:
シナリオとして、たとえば Drupal では、(Drush やその他のスクリプトではなく) Web パネルを介して CACHE をクリアしている間、非常に多くのメモリが必要になります。したがって、この場合だけでも、現在 512MB 前後の上限が確実に必要です。
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でそのようなファイルを読み取る方法が必要です。
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
です。サーバーサイドで行うことはすべて機能します。
しかし、ヘッダー (リダイレクト) はそうではありません。私のブラウザは無限ロードです。
質問
- 何がうまくいかないのですか?
- ブラウザはしばらくするとサーバーとの通信を無効にしますか?
php - PHP memory_get_peak_usage および ini_set('memory_limit', '-1')
最近、メモリ割り当ての問題に遭遇したので、ini_set('memory_limit', value);
値を段階的に入力しようとしたディレクティブを試し始めました。さて、ウェブ(およびSO)を検索すると-1
、value
. それで、私はそうしました、そして今、スクリプトは壊れることなく最後まで完全に実行されます(以前はメモリ割り当てエラーが発生していました)。
しかし、私が理解できないのは、スクリプトのファイルの最後に次の 2 行があることです。
約10.8MBを生成します。これを調べると、次の/var/log/messages
行が表示されます。
これは、スクリプトが 4096MB を割り当てようとしたことを意味します。
どうすればいいの?また、私が最も興味を持ったのは、この場合、スクリプトの実行が停止しなかった理由です。のせいini_set('memory_limit', '-1');
ですか?-1
つまり、推奨されてvalue
いないので、スクリプトのどこに問題があるのか (メモリ内で一度に大量のデータを読み込んでいる)を知っているので、そのパッティングを読みました。これらのデータの違いに困惑しているだけなので、誰かがそれを明らかにしてくれるとありがたい.