WordPress 4.3でメモリ消費量増大・CPU高負荷になる重大なバグあり。直し方を一応解説。

WordPress 4.3 CPU 高負荷エラー wordpress
スポンサーリンク

WordPress 4.2.4を4.3にアップグレード後、特にプラグイン等も変更していないのに、なぜか管理画面が重く、今まで経験したことのないエラー、例えば“Fatal error: Allowed memory size of …”(メモリ不足)とか、“500 Internal Server Error”が頻発。管理画面も激重で、記事の投稿→更新→エラー。プラグイン停止→エラー。という、もうどうにもならない状態に。おまけにwpXサーバーの管理パネルをのぞくと、CPUの負荷が異常な状態に。Google Analyticsのサーバー平均応答時間も、当初は0.03秒とかだったのに、今では0.90秒と大幅アップ!

まずはプラグインが原因かと思い、不要なプラグインの削除、停止、再インストールなどを試みるも改善せず。テーマの不具合も疑い、最新バージョンにするもダメ。データベースの最適化も行ったが全く改善しない。むしろ悪化の一途。ハッキング?外部サイトからの攻撃?色々検証するも問題無し。

このままじゃヤバいと、急遽XAMPPでローカル環境を再構築。そしてデータベースをインポートするとエラー!マジかよ!ガッデム!!色々試行錯誤の末、phpmyadminから“wp_options”を除いてエクスポートし、ローカルにインポートすると、一応成功。

その後さらに検証すると、なんでも“cron”がどうのこうのというエラー表示を発見。しかしデータベース管理ど素人の自分には何もできない。

一応wpXさんにメールで相談。「エラー内容はメモリ不足だから、上げて対処してみて下さい」との返信。とりあえず怒られなかった。ありがとう、wpXさん、涙出そう(´;ω;`)

ただその後もメモリの異常消費は直らず、CPU負荷も上がり続け、「どうかwpXサーバーさんにbanされませんように。。。」と祈り続けるのみ。

なんとか対策をと、“.htaccess”に色々負荷対策を施したり、WordPressを再インストールするも全く改善しない。

ちなみに、自分はwpXサーバーで「enjoypclife.net」と「zurap.jp」の2つを運営しているのですが、重いのは「enjoypclife.net」だけ。「zurap.jp」は快適そのもの。まあアクセス数が全く違うので、おそらくある程度PVが多いサイトで顕著に不具合が出るのではないかと思います。
実際に日本のWordPressフォーラムでも、「1日10万PVのサイト運営しているけど、なんとなくWordPress 4.3に更新したらサイトが重いから4.2.4に戻した。」というサラッとした報告があり、実はここにヒントがあったのかと、今になって思います。

なお、当サイトは【常時アクセス:100前後 25,000~30,000PV/日】です。参考までに。

【追記】管理人は不具合を手動で修正したため、検証はできていませんが、最新のWordPress 4.3.1が現在配信開始されており、おそらくバージョンを4.3.1にすることでも不具合は解消すると思われます。追記しておきます。

スポンサーリンク
スポンサーリンク

やっと英語サイトで解決方法にたどり着く

その後、“wordpress 4.3 cpu 高負荷”で検索するも、原因不明。これを“wordpress 4.3 cpu high”と英語にすると、、、ビンゴでした。

Facing this error after updating WordPress to 4.3|Wordpress.org Forum

Fatal error: Allowed memory size of 94371840 bytes exhausted (tried to allocate 2573294 bytes) in /home/root/blog.com/wp-includes/functions.php on line 384

この記事内に以下の記事が紹介されており、結果、ここに解決策が提示されていました。

High CPU Load After Update to v4.3|WordPress.org Forum

ちなみに、途中までは当たり障りのない【プラグインをオフに】とか【memory limitを128Mに増やせ】とか書かれていますが、全く関係ありません。単なるPHPバグです。WordPress 4.3を再インストールしても、不具合は改善しません。(不具合に不具合を上書きするだけ)
自分の場合、結局この不具合時は、【memory limit : 500M】でやっとエラーが出なくなりました。参考までに、CPU負荷の最大瞬間値は、目安の100%を大きく超える27513.04%!!この設定に耐えうるwpXサーバーが今となっては逆に凄いと感心しますね。。。

なお、これはWordPress 4.3での不具合です。今後数日中にバグが改善されたバージョンがリリースされるそうなので、それまでは以下の対処方法からご検討ください。

・WordPress 4.3に更新していない方は、更新せずに、そのまま改善バージョンがリリースされるのを待つ。

・WordPress 4.3に更新しているが、特に不具合を感じていない方は、WordPress 4.3.1がリリースされるのを待つ。

・WordPress 4.3に更新していて、かつサイトが重い、管理画面が重い、管理画面に入れない、CPU負荷が異常に高い、データベースに接続できない、などで困っている方のみ、以下の対処方法を自己責任の下使用してみる。

以下、管理人の稚拙な英語翻訳による解説です。

ただし、自分はWordPressやデータベース、各種プログラミングはど素人のため、以下の内容を実行して、もしも不具合が起こっても一切対処はできません。コメントで相談されても、全く相談に乗れません。
そのため、事前にデータベースやファイルのバックアップを取り、完全自己責任の下でのみご利用ください。

できれば、この英語ページを参照して作業するのがおすすめです。

High CPU Load After Update to v4.3|WordPress.org Forum

※この件は、すでにwpXサーバーさんにも報告済みです。
※この対処法の前に、【4.3 アップグレードに伴う既知の問題とその解決方法|WordPress Forum】も参照してみてくださいね。

Step 1

今回のWordPress 4.3でCPUが高負荷になる問題となるコードは以下。

“wp-includes/taxonomy.php” file の“line 4448”に存在します。

wp_schedule_single_event( 'wp_batch_split_terms', time() + MINUTE_IN_SECONDS );

 

これを以下の内容に修正。

wp_schedule_single_event( time() + MINUTE_IN_SECONDS, 'wp_batch_split_terms' );

Step 2

次に、FTPソフト等で“/wp-content/”直下に“mu-plugins”というフォルダを作成します。すでにwpX等では存在しているかと思います。その場合はそこにアップロードしたので構いません。

/wp-content/mu-plugins

 

次に適当なコードエディタで“fix.php”を作成。

fix.php

 

次に以下の内容を“fix.php”にコピペ。

<?php
function clear_bad_cron_entries() {
	// Fix incorrect cron entries for term splitting
	$cron_array = _get_cron_array();
	if ( isset( $cron_array['wp_batch_split_terms'] ) ) {
		unset( $cron_array['wp_batch_split_terms'] );
	        _set_cron_array( $cron_array );
	}
}
clear_bad_cron_entries();

 

準備が完了したら、修正した“taxonomy.php”を元の場所にアップロードして上書き更新し、次に作成した“fix.php”を、先ほどの“mu-plugins”フォルダにアップロード。

Step 3 各種キャッシュプラグインのリセット

以上で対策は終了で、実際に管理画面も快適になってやったぜ!と思ってたら、相変わらずCPU負荷が高いんですよね。なんでだろ?まだ不具合継続中?:(;゙゚’ω゚’):と焦りましたが、冷静になると、これはおそらくキャッシュが悪さをしているのだろうと予想。

wpXの場合は、管理画面から以下のように設定しました。

1.キャッシュを一時的にオフに

2.mod_pagespeedをオフに。

3.mod_pagespeedをオンに。

4.キャッシュをオンに。

以上で対策は終了です。管理画面等でレスポンスを確認してみてください。以前の快適さが戻れば成功です。CPU負荷も一応計測してみてくださいね。

なお、WordPressでマルチサイト運営している場合は、個別に適用する必要があるようです。

WordPress 4.3でCPU高負荷になる重大なバグ

矢印のところで対策。その後5,000%を超えているあたりでキャッシュをクリア。その後は、ほぼ以前同様のCPU負荷水準に戻ったぽい。

※“mu-plugins”に入れた“fix.php”は、バグ改善後は削除しても良いようですが、自分ははっきりと分からなかったのでそのままにしています。詳しい方いらっしゃれば、コメント等でご教授いただけると幸いです。

WordPressは難しいね。

ここ数日、不安感から夜もおちおち眠れない状態でした(;´∀`)

ちなみに、WordPressの該当フォーラムでは阿鼻叫喚の事態。サイトが落ちまくる人続出だったみたいです。

自分も当初は、単なるwpXサーバーが貧弱なのかと疑いの目を向けていたのですが、結果としてこれだけのエラーがありながら落ちない・動作し続けるというのは、逆に素晴らしいサーバーなのだと改めて気付かされた気がします。wpXさん、勝手に疑ってすみません(´;ω;`)

確かに、これだけ高機能なWordPressプログラムを無料で利用できるのは素晴らしいのですが、それと共に不具合時の対応は基本自己責任という事を痛感させられた次第です。

結果的に、色々とWordPressの高速化の勉強になったし、エラーも改善したのでその点は良かったのですが、本当に原因を見つけるまでは、死ぬかと思いました。土日丸々潰れたし。。。

今後はWordPressアップデート前に、英語フォーラムをのぞき、不具合がないか確認したうえでアップデートしようかと思います。皆さんもお気を付けくださいね。

スポンサーリンク
スポンサーリンク
wordpress
シェアする
enjoypclifeをフォローする
enjoypclife.net

コメント

  1. 古井英次 より:

    ありがとうございます!大変参考になりました!!
    ぼくも、wpXサーバーでまったく同じ現象で『地獄の2日間』でしたが、今は改善したっぽいです。
    初心者のぼくにも、大変わかりやすい記事で本当に助かりました!
    感謝、感謝です!!

    • よっしー より:

      お役に立てて何よりです!自分も本当に数日間、生きた心地がしませんでした。結果的に解決できたんですけど、WordPressを使い始めて一番困ったかもしれません。今回のバグはかなり深刻ですね(;´Д`)

  2. しゃん より:

    数秒間で何十GBにも膨れ上がるエラーログに悩まされていました。
    ログ内容を確認しようにも重すぎて開けず…やっとの思いで拾い集めたキーワードで
    検索してもなかなか解決に至る参考がなく、藁にもすがる状態でたどり着いたこちらの記事を
    参考にさせていただいたら、嘘のように解決しました。
    きっと他にも同じ問題を抱えている人がいるかもしれませんが、早くこの記事にたどり着くことを願います。
    本当にありがとうございました。

    • よっしー より:

      本当にお疲れ様でした。今回のWordPress 4.3のバグはかなり深刻だと思うのですが、あまり記事にならないのが逆に不思議です。大手サイトさんは独自に対策されているのでしょうかね。。。いずれにしても、少しでもお役に立てて本当に何よりです。

  3. 匿名 より:

    かなり参考になる記事をありがとうございます!
    わたしも、Fatal error: Allowed memory size of〜のエラーがーsixcoreで連発して、本当に困っていましたが、この記事通りにすると快適になりました。私も数日間徹夜で直し続けて…テーマ、プラグイン、データベースなどを見なおしても直らず、死にかけでした…w
    感謝です!!!!

    • よっしー より:

      本当にお疲れ様でした!自分も同じような状況だったので、直ったときはしばらく茫然としていた記憶があります(*´ω`)お役に立てて何よりです!

  4. howatarou より:

    参考になりました。ありがとうございます!m(__)m

  5. qzx02361 より:

    とても参考になり、関連するWordPressのフォーラム関係にも情報を流しました。

  6. ほりく より:

    本当に本当に助かりました!
    本バグにずっと気づくことが出来ず、1ヶ月近く苦しんでいました。
    今日からスッキリ眠れそうです!!

    • よっしー より:

      お役に立てて何よりです!現在は最新のWordPress 4.3.1がリリースされており、不具合は解消しているはずです。とにかく、お疲れ様でした(*´ω`)

  7. susumu0607 より:

    こんにちわ。はじめまして。
    負担でいろいろ悩まされてこのサイトにたどり着きました^^
    このページの上段で使用されてる画像のCPU使用率などのソフトはなんていうソフトなのでしょうか?

    • よっしー より:

      はじめまして!
      CPU使用率のグラフはソフトではなく、WPXサーバーのコントロールパネルから見れるものです。WordPressだけの運営ならなかなか使いやすいのでおすすめですよ(^ω^)