PHPプロセスのメモリ使用量を最適化する方法は?

リサ:

私はワードプレスのサイトを実行しており、各PHPプロセスは約200MBから250MBの常駐サイズのメモリを使用します。RAMが16GBの場合、サーバーは70プロセスしか処理できません。仮想メモリを16GBに増やすと、140を処理できます。その後、負荷は増加し続けます。10分間に200の接続がある場合、サーバーの負荷は3Ghzクアッドコアxeonプロセッサーで20に達します。

すべてのプラグインを無効にしてみましたが、これにより各プロセスのPHPメモリ使用量が10%未満しか減りません。suPHPは、どのユーザーが多くのメモリを使用しているかを教えてくれますが、wordpressコードのどの部分を教えてくれません。

メモリ使用量を減らす方法について何か提案はありますか?または、32 GBのRAMにアップグレードする唯一のオプションですか?

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
10585 nobody    16   0 2266m 237m 199m S 21.3  1.5   1:09.17 /usr/bin/php
10597 nobody    16   0 2257m 255m 226m S 15.3  1.6   0:17.56 /usr/bin/php

pmap -dからの最大の出力

000000000e8b8000   27580 rw--- 000000000e8b8000 000:00000   [ anon ]
00002b3772850000 2097152 rw-s- 0000000000000000 000:00009   [ shmid=0x2d1b803a ]
00002b37f2a62000   55108 r---- 0000000000000000 0fd:00000 locale-archive
mapped: 2320852K    writeable/private: 30012K    shared: 2097152K

ipcs出力

------ Semaphore Arrays --------

key        semid      owner      perms      nsems
0x000000a7 0          root      600        1
0x00000000 162529281  nobody    600        1
0x00000000 162562050  nobody    600        1
0x00000000 162594819  nobody    600        1
0x00000000 162627588  nobody    600        1
------ Message Queues --------

key        msqid      owner      perms      used-bytes   messages`
strkol:

リサが問題を見つけるために何をしたかを要約します。

  • を使用して、単一のPHPプロセスのメモリレイアウトを確認しますpmap -d <pid>出力は、プロセスで使用されている共有メモリが大量にあることを示しています。
00002b3772850000 2097152 rw-s- 0000000000000000 000:00009   [ shmid=0x2d1b803a ]
  • で共有メモリ領域を調べipcs -mます。ユーザーnobody(Webサーバー)によって作成された共有メモリ領域がたくさんあることがわかりました。ここにそれらの一部を示します。
0x00000000 117964807 nobody 600 2147483648 1 dest 
0x00000000 117997576 nobody 600 2147483648 1 dest 
0x00000000 118030345 nobody 600 2147483648 1 dest
0x00000000 118063114 nobody 600 2147483648 1 dest
  • php.iniでeAcceleratorを無効にし、作成された共有メモリ領域を削除します。

`ipcs -m | カット-d '' -f2 | grep '^ [0-9]' `; ipcrm -m $ iを実行します。できた

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

dplyr + purrrのメモリ使用量を最適化する方法

分類Dev

プロセスメモリ使用量を取得する方法WINAPI

分類Dev

Pythonプロセス内のメモリ使用量を制限する方法

分類Dev

OS X / macOSプロセスのメモリ使用量を取得する方法

分類Dev

単一プロセスのCPU /メモリ使用量を監視する方法は?

分類Dev

Amazon RDS(PostgreSQL):メモリ使用量を最適化する

分類Dev

子プロセスのCPUとメモリ使用量を見つける方法

分類Dev

単一のLinuxプロセスのメモリ使用量を制限する

分類Dev

C#で別のプロセスのメモリ使用量を取得する

分類Dev

これはメモリ使用量を最適化する正しい方法ですか?

分類Dev

Javaプログラムのメモリ使用量を計算する方法は?

分類Dev

Windowsで特定のプロセスのメモリ使用量を制限することは可能ですか?

分類Dev

プロセスのメモリ使用量を経時的に監視する方法-Ubuntu

分類Dev

PHPプロセスのメモリ使用量

分類Dev

Linuxの単一プロセスのCPU使用量とメモリ使用量を取得しますか?

分類Dev

アプリケーションまたはプロセスの実際のメモリ使用量を測定する方法は?

分類Dev

(プロセスではなく)コマンドのグループの要約メモリ使用量を表示する方法

分類Dev

プロセスのメモリ使用量を%で取得します

分類Dev

C#はメモリ使用量を最適化します:DataTableによって要求されたメモリを解放する方法

分類Dev

アプリのメモリ使用量を減らす方法は?

分類Dev

メモリ使用量をプロファイルする方法は?

分類Dev

98〜100%のメモリ使用量、25MBを超えるプロセスは使用されません

分類Dev

/ proc / pid / smapsからプロセスのメモリ使用量に関する情報を取得する

分類Dev

1つのプロセスのメモリ使用量を呼び出して追跡する

分類Dev

Javaアプリケーションでメモリ使用量をプロファイルする最良の方法は?

分類Dev

Cでの現在のプロセスのメモリ使用量

分類Dev

プロセスの実際のメモリ使用量

分類Dev

Cでの子プロセスのメモリ使用量

分類Dev

Linux / Unixプロセスのピークメモリ使用量

Related 関連記事

  1. 1

    dplyr + purrrのメモリ使用量を最適化する方法

  2. 2

    プロセスメモリ使用量を取得する方法WINAPI

  3. 3

    Pythonプロセス内のメモリ使用量を制限する方法

  4. 4

    OS X / macOSプロセスのメモリ使用量を取得する方法

  5. 5

    単一プロセスのCPU /メモリ使用量を監視する方法は?

  6. 6

    Amazon RDS(PostgreSQL):メモリ使用量を最適化する

  7. 7

    子プロセスのCPUとメモリ使用量を見つける方法

  8. 8

    単一のLinuxプロセスのメモリ使用量を制限する

  9. 9

    C#で別のプロセスのメモリ使用量を取得する

  10. 10

    これはメモリ使用量を最適化する正しい方法ですか?

  11. 11

    Javaプログラムのメモリ使用量を計算する方法は?

  12. 12

    Windowsで特定のプロセスのメモリ使用量を制限することは可能ですか?

  13. 13

    プロセスのメモリ使用量を経時的に監視する方法-Ubuntu

  14. 14

    PHPプロセスのメモリ使用量

  15. 15

    Linuxの単一プロセスのCPU使用量とメモリ使用量を取得しますか?

  16. 16

    アプリケーションまたはプロセスの実際のメモリ使用量を測定する方法は?

  17. 17

    (プロセスではなく)コマンドのグループの要約メモリ使用量を表示する方法

  18. 18

    プロセスのメモリ使用量を%で取得します

  19. 19

    C#はメモリ使用量を最適化します:DataTableによって要求されたメモリを解放する方法

  20. 20

    アプリのメモリ使用量を減らす方法は?

  21. 21

    メモリ使用量をプロファイルする方法は?

  22. 22

    98〜100%のメモリ使用量、25MBを超えるプロセスは使用されません

  23. 23

    / proc / pid / smapsからプロセスのメモリ使用量に関する情報を取得する

  24. 24

    1つのプロセスのメモリ使用量を呼び出して追跡する

  25. 25

    Javaアプリケーションでメモリ使用量をプロファイルする最良の方法は?

  26. 26

    Cでの現在のプロセスのメモリ使用量

  27. 27

    プロセスの実際のメモリ使用量

  28. 28

    Cでの子プロセスのメモリ使用量

  29. 29

    Linux / Unixプロセスのピークメモリ使用量

ホットタグ

アーカイブ