nginx、proxy_cache_path【Cannot allocate memory】のエラー

この記事は約2分で読めます。

nginx、Cannot allocate memoryのエラー

nginx 再起動時に

というエラーが出ることがありました。そして、nginxが起動されませんでした。

「nginxで、メモリを割り当てようとしたら、エラーとなった」
というものです。

nginx proxy_cache_path 設定

nginxの設定において、

と設定していました。
「keys_zone=xxx:200m」ですが、「200メガの共有メモリを設定」としていましたが・・・適当でした(汗)。
実メモリが、潤沢にあるわけではないので、エラーとなったようです。

エラー時の数字「209715200」は、
209715200 / (1024 x 1024) -> 200となり、設定通りでした(汗)

そこで

と、設定しなおしました。

nginx proxy_cache_path 設定 各種設定

proxy_cache_path,keys_zone

共有メモリ上に最大、どのくらい許可するかの設定。

In addition, all active keys and information about data are stored in a shared memory zone, whose name and size are configured by the keys_zone parameter. One megabyte zone can store about 8 thousand keys.
↑1メガ(1m)で、約8000個のキーを格納できるようで、1メガと設定。

引用元:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_path

proxy_cache_path,inactive

inactiveで、指定された、時間が経過すると、古いファイルから、削除されます。
デフォルトでは、10分(10m)。今回、「1d」(1日)に設定してみました。

proxy_cache_path,max_size

キャッシュのファイル最大容量。
ディスク容量と相談して、決めるのがいいかと思います。
上記では、「1ギガ」(1g)としました。

キャッシュの設定

nginx、キャッシュの設定は、サイトのアクセス数、サーバーのメモリ、ディスクの容量などから、最適値を探していくのがいいかと思います。

 

 

タイトルとURLをコピーしました