KYな雑記帳

個人的なメモ帳

Allowed memory size of xxx の対応でつまずいた箇所と対応

概要

EC2インスタンスで動かしている管理ツールでエラーが出たとのことでエラーログを見てみるとメモリサイズのエラーがあったので、メモリサイズを増やしたい。

ERROR - 2021-06-16 15:31:48 --> Fatal Error - Allowed memory size of 268435456 bytes exhausted (tried to allocate 16777224 bytes) in

やったこと

メモリ設定の確認

$ php -i | grep memory_limit
memory_limit => 128M => 128M

メモリ設定の修正

/etc/php.ini を修正する。
memory_limitの値を増やす。

$ sudo vi /etc/php.ini
$ cat /etc/php.ini | grep memory_limit
;memory_limit = 128M
memory_limit = 512M

phpを再起動するとエラー

別のインスタンスも読み込んでいるため再起動できないようだ。

$ sudo service php-fpm restart
Stopping php-fpm: [FAILED]
Starting php-fpm: [16-Jun-2021 07:48:42] ERROR: An another FPM instance seems to already listen on /var/run/php-fpm/php-fpm.sock
[16-Jun-2021 07:48:42] ERROR: FPM initialization failed
[FAILED]

killしてから再起動

$ sudo kill `ps aux | grep php-[f]pm | grep root | awk '{print $2}'`
$ sudo service php-fpm start
Starting php-fpm: [  OK  ]
[bull_ms@twn-bms ~]$ sudo service nginx restart
Stopping nginx: [  OK  ]
Starting nginx: [  OK  ]
$ php -i | grep memory_limit
memory_limit => 512M => 512M

コマンドを見てみる

  • ps aux : 現在実行されているプロセスの一覧を取得
  • grep php-[f]pm : プロセスの中で「php-[f]pm」を含むプロセス
  • grep root : phpのプロセスの中でrootユーザーが起動したプロセス
  • awk '{print $2}' : 表示されたプロセス情報のテキストの処理、2番目のもの、つまりプロセスのidを取得
  • kill : 取得したidのプロセスを停止する