PHPのメモリ使用量は、ループごとに増え続けます

teeyo

たまたま100万回以上の反復を実行し、いくつかのテストとデータベースクエリを実行するforeachループがあります。問題は、メモリ使用量を追跡すると、約500Koで増加し続け、その速度でメモリの最大サイズである128Mを超え、変数に未設定を使用しましたが、機能しません。最大メモリを変更しないように注意しています。使用サイズ。この問題を解決する方法はありますか?ちなみに、私はWindows7でXAMPP3.2.1を使用しています。

ジェネレーターを使用するように更新

public function import()
{
    $var = 0;

    $filename = 'path';

    if (file_exists($filename))
    {
        if (($handle = fopen($filename, "r")) !== FALSE)
        {
            foreach ($this->readLines($filename) as $data)
            {

                if (strpos($data[2], 'string') !== false)
                {

                    // codes and DB queries

                }
                else
                {
                    if (strpos($data[1], '.png') !== false)
                    {
                        // code
                    }

                    else
                    {

                        if ($data[0] != "")
                        {
                            switch($var)
                            {
                                case 0:
                                    // code
                                    break;

                                case 1:
                                    // code
                                    break;

                                case 2:
                                    // code
                                    break;

                                case 3:
                                    // code
                                    break;

                                case 4:
                                    // code
                                    break;
                                case 5:
                                    // code
                                    break;
                            }
                        }

                        else
                        {
                            // code
                        }
                    } 
                } 

            }
            fclose($handle);
            return //route;
        }

        {
            return //route;
        }
    }
    else
    {
        return //route;
    }

    return //route;
}

私のジェネレーターは次のようになります:

function readLines($filename)
{
    $file= fopen($filename, 'r');
    try
    {
        while (($line= fgetcsv($file, 1024, ",")) !== FALSE)
        {
            yield $line;
        }
    }
    finally
    {
        fclose($file);
    }
}
teeyo

私はついにこの問題の解決策を見つけました、そしてそれは私がLaravelのドキュメントを読まなかった私の悪い原因です。

デフォルトでは、Laravelは現在のリクエストに対して実行されたすべてのクエリのログをメモリに保持します。ただし、多数の行を挿入する場合など、場合によっては、アプリケーションが過剰なメモリを使用する可能性があります。ログを無効にするには、disableQueryLogメソッドを使用できます

DB::connection()->disableQueryLog();

みんなありがとう。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

YARNのSparkアプリケーションの物理メモリ使用量は増え続けています

分類Dev

メモリ使用量は増え続けています

分類Dev

iOSのメモリ使用量は増え続けています

分類Dev

ループごとにメモリ使用量が増加

分類Dev

ヒープメモリの使用量と読み込まれたクラスの数が増加し続けるのはなぜですか?

分類Dev

SpringBootアプリケーションのヒープメモリ使用量が増え続けるのはなぜですか?

分類Dev

Metalを使用する古いデバイスでは、メモリ使用量が増え続けます

分類Dev

Metalを使用する古いデバイスでは、メモリ使用量が増え続けます

分類Dev

Node.jsWebアプリのChromeメモリ使用量はリロードのたびに増加します

分類Dev

スクロールビューをスクロールするとメモリ使用量が大幅に増えるのはなぜですか?

分類Dev

Pythonのヒープアロケーターは、全体的なメモリ使用量が増えるにつれてコードを大幅に遅くしますか?

分類Dev

mysqli_result :: freeはphpのメモリ使用量を増やします

分類Dev

Google Chromeがページのリロードごとにメモリ使用量を増やすのはなぜですか?

分類Dev

メモリ使用量が増えるとマウスが切れます

分類Dev

実行のためにOpenCLカーネルをキューに入れると、プログラムのメモリ使用量が増えるのはなぜですか?

分類Dev

ファイルに書き込むときのメモリ使用量は時間の経過とともに増加します

分類Dev

Javaメモリ使用量はOutOfMemory例外まで継続的に増加しています

分類Dev

ビットマップCGContext描画でメモリ使用量が増え続けている

分類Dev

.dropna()はメモリ使用量を増やします

分類Dev

マルチプロセッシングのメモリ使用量は着実に増加しています。Pool.imap_unordered

分類Dev

lapplyの代わりにparLapplyを使用すると、メモリ使用量が爆発的に増加します

分類Dev

メモリ使用量が劇的に増加します

分類Dev

MySQLのメモリ使用量を理解するとPHP(PDO)になります

分類Dev

アプリケーションのメモリ使用量がデバイスごとに大きく異なるのはなぜですか?

分類Dev

Haskellを-O2でコンパイルすると、メモリ使用量が大幅に増加します

分類Dev

UbuntuにKDEアプリケーションをインストールすると、実行されていない場合でもCPU負荷やメモリ使用量が増えることを意味しますか?

分類Dev

プリミティブ型のキャストはメモリ使用量を増減しますか?

分類Dev

プロセスごとのメモリ使用量

分類Dev

ページに移動すると、メモリ使用量が増加しますWindows Universal 8.1

Related 関連記事

  1. 1

    YARNのSparkアプリケーションの物理メモリ使用量は増え続けています

  2. 2

    メモリ使用量は増え続けています

  3. 3

    iOSのメモリ使用量は増え続けています

  4. 4

    ループごとにメモリ使用量が増加

  5. 5

    ヒープメモリの使用量と読み込まれたクラスの数が増加し続けるのはなぜですか?

  6. 6

    SpringBootアプリケーションのヒープメモリ使用量が増え続けるのはなぜですか?

  7. 7

    Metalを使用する古いデバイスでは、メモリ使用量が増え続けます

  8. 8

    Metalを使用する古いデバイスでは、メモリ使用量が増え続けます

  9. 9

    Node.jsWebアプリのChromeメモリ使用量はリロードのたびに増加します

  10. 10

    スクロールビューをスクロールするとメモリ使用量が大幅に増えるのはなぜですか?

  11. 11

    Pythonのヒープアロケーターは、全体的なメモリ使用量が増えるにつれてコードを大幅に遅くしますか?

  12. 12

    mysqli_result :: freeはphpのメモリ使用量を増やします

  13. 13

    Google Chromeがページのリロードごとにメモリ使用量を増やすのはなぜですか?

  14. 14

    メモリ使用量が増えるとマウスが切れます

  15. 15

    実行のためにOpenCLカーネルをキューに入れると、プログラムのメモリ使用量が増えるのはなぜですか?

  16. 16

    ファイルに書き込むときのメモリ使用量は時間の経過とともに増加します

  17. 17

    Javaメモリ使用量はOutOfMemory例外まで継続的に増加しています

  18. 18

    ビットマップCGContext描画でメモリ使用量が増え続けている

  19. 19

    .dropna()はメモリ使用量を増やします

  20. 20

    マルチプロセッシングのメモリ使用量は着実に増加しています。Pool.imap_unordered

  21. 21

    lapplyの代わりにparLapplyを使用すると、メモリ使用量が爆発的に増加します

  22. 22

    メモリ使用量が劇的に増加します

  23. 23

    MySQLのメモリ使用量を理解するとPHP(PDO)になります

  24. 24

    アプリケーションのメモリ使用量がデバイスごとに大きく異なるのはなぜですか?

  25. 25

    Haskellを-O2でコンパイルすると、メモリ使用量が大幅に増加します

  26. 26

    UbuntuにKDEアプリケーションをインストールすると、実行されていない場合でもCPU負荷やメモリ使用量が増えることを意味しますか?

  27. 27

    プリミティブ型のキャストはメモリ使用量を増減しますか?

  28. 28

    プロセスごとのメモリ使用量

  29. 29

    ページに移動すると、メモリ使用量が増加しますWindows Universal 8.1

ホットタグ

アーカイブ