障害 … メモリ制限

レンタルサーバに関する覚え書き

カテゴリー: CORESERVER  閲覧数:781 配信日:2013-02-17 21:53


・phpMyAdmin開いただけでエラー表示されるようになってしまった
Fatal error: Allowed memory size of 104857600 bytes exhausted (tried to allocate 2996268 bytes) in /virtual/★★/public_html/log/phpmyadmin/index.php on line 16

▼/public_html/log/php.ini
memory_limit = 256M


▼/public_html/log/.htaccess
php_value memory_limit 256M


・効果なし
・相変わらず、エラー表示され続ける
Fatal error: Allowed memory size of 104857600 bytes exhausted (tried to allocate 12320806 bytes) in Unknown on line 0

管理画面 … 「/public_html/log」ディレクトリに解析済みログを保存する
・止める
・同ディレクトリ内不要ファイル削除
・サイズ … 167MB
・ファイル数 … 6119ファイル
※ドメイン変更した場合、過去のアクセスログは、手動で削除しない限りそのまま残る仕様らしい


・効果なし
・相変わらず、エラー表示され続ける
Fatal error: Allowed memory size of 104857600 bytes exhausted (tried to allocate 2528869 bytes) in Unknown on line 0
・phpMyAdminが利用できないのは痛いわ
・phpinfo確認したら、「memory_limit 90M」になっていたので、「php.ini」「.htaccess」90Mへ変更

疑問
・memory上限は、90M? それとも単に指定の仕方が悪いだけ?
・上限を超えるメモリ指定したら、どうなるの?


サーバーに負荷が掛かっていない場合は、「初期状態の制限値」以外の制限値はありません
・つまり、90MBは越えられないってこと?
・つまり、この状態では、phpMyAdmin利用不可
・理由は、テーブル数が多いからってこと?
・おいおいおいおいおいおいおいマジかよ!
・もの凄く苦労して、統合したのに、今更元に戻せってか
・何か方法ないのかよ!

MySQLの追加・編集(最大:9999 個)
・そんな数全然いってないよ
・第一、データベース作成できても、メモリ制限で呼び出し出来なかったら、意味ねーじゃんよ
・それかアレか。phpMyAdminバージョン上げたからメモリ食うようになったとか、もしかしてそういう話?



・その後、色々試して、以下のことが判明
・「php.ini」は設定しなくても、「.htaccess」だけで数値変更可
・但し、「php_value memory_limit」を、一番先頭に記述しなければいけない(少なくとも、AuthUserFile より後では不可)
・記述方法は、「php_value memory_limit 256M」「php_value memory_limit 512M」「php_value memory_limit -1」など
・「php_value memory_limit 256MB」とBを付けると変更されない
・変更値は、phpinfo内 Configurationの「PHP Core」 Directiveme「mory_limit」の「Local Value」で確認可能
・但し、ここが重要な点だが、この変更された値がそのまま適用されるわけではなく、サーバに送信された段階で恐らく上限値でリミットカットされるもの、と思われる
・つまり、実質的には、ローカルで数値が変更されただけで、サーバ側にその変更は反映されない仕様。つまり、90MB制限は越えられない
・Local数値は変更されるが、実質変更できないという状況は、ここと同じ。もの凄くがっかりしたよ
・どうしようもないから、とりあえず、サポートへ問い合わせたけど、過去の経験上、スルーされるか、無理です、て言われるかの何れかだろう
・そうすると、どうなるんだ?


残る選択肢は?
1.元に戻す
・アカウント統合する前の状態に戻す

2.phpMyAdminバージョンを下げてみる
・phpMyAdmin利用時のみ発生している
・バージョンを下げればもしかしたら利用メモリが減るかも? という何の根拠もない推測に基づく

3.phpMyAdmin以外のGUIツールを探す
・メモリを食わずに、DB操作できるツールは何か他にないの?

4.サーバ移転
・「CORESERVER」「XREA」より完全撤退
・何れは実施するつもりだけど、今すぐは無理

5.データベース削除(もしくは整理)
・削除するためにも、中身の確認は必要
・何れは実施するつもりだけど、今すぐは無理
・しかも原因が、「データベース数」にあるのか、「テーブル数」にあるのか、「データ量」にあるのか不明なため、非常に手を付けづらい

6.「config.inc.php」を整理、もしくは都度変更
・読み込み時にメモリを食うのであれば、読み込む対象を減少させれば良いのではないか
・例えば、面倒くさいけど、必要なものだけを都度読み込むよう、「config.inc.php」を操作する、とか


・結局、6.「config.inc.php」を整理、もしくは都度変更でいこうと、色々触っている内、いつの間にかエラーが表示されなくなった
・あれ? と思い、エラーが表示されていた状態に戻してみても、やっぱり何も表示されない
・いや、これで正常で状態なのだが、今度は逆に、何で急にエラーが表示されなくなったのかが解せない
・キャッシュ? メモリにキャシュとかあるの?

・結局、原因不明
・それにしても、Fatal error: Allowed memory size は昨日から出続けて、その都度処理が強制中断するからイライラさせられっぱなしで、調べること少なく見積もっても4時間強
・それなのに、挙句の果ては、何時の間にか直ってました、だァー、そんなの許されるわけがない、オレ的に
・もう、何か脱力感が凄い。色々と…