🕳️

[Pi-hole]長期データクエリを実行するとエラーメッセージが表示される

2021/05/22に公開

症状

Pi-holeを数日稼働後、Query LogからLast 7 Daysを選択したところエラーメッセージが表示。クエリのログには何も表示されない。

環境

  • ハードウェア: Raspberry Pi 4 Model B
  • OS: Fedora 34 (Server Edition)
  • Pi-holeバージョン
    • Pi-hole v5.3.1
    • Web Interface v5.5
    • FTL v5.8.1
  • ソフトウェアバージョン
    • lighttpd/1.4.59 (ssl)
    • PHP 7.4.19

GitHubに報告されている同様のIssue

https://github.com/pi-hole/pi-hole/issues/4144

対処:phpのmemory_limitを増やす

#4144で解決策として提示されているページの手順を参考。
https://discourse.pi-hole.net/t/how-do-i-increase-phps-memory/37170/2

作業手順

下記は全てrootユーザーで実施した手順。一般ユーザーの場合はsudo付きで実施する。

現在の設定値を確認

php.iniのmemory_limitを確認
# grep -B 2 "memory_limit" /etc/php.ini
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M

# php-cgi -i | grep memory_limit
<tr><td class="e">memory_limit</td><td class="v">128M</td><td class="v">128M</td></tr>

memory_limitを増やし、HTTPサーバーを再起動する

php.iniを編集し、HTTPサーバーを再起動
# vi /etc/php.ini
memory_limit = 512M #← 512Mに変更

# systemctl restart lighttpd.service

変更後の設定値を確認

php.iniのmemory_limitを確認
# grep -B 2 "memory_limit" /etc/php.ini
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 512M

# php-cgi -i | grep memory_limit
<tr><td class="e">memory_limit</td><td class="v">512M</td><td class="v">512M</td></tr>

クエリログの表示を再度実施し、正常に表示されることを確認

これでしばらく運用して、またエラーが出た場合はmemory_limit値を増やして対処を行う

Discussion