私はワードプレスのサイトを実行しており、各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`
リサが問題を見つけるために何をしたかを要約します。
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
`ipcs -m | カット-d '' -f2 | grep '^ [0-9]' `; ipcrm -m $ iを実行します。できた
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加