溫馨提示×

php-fpm在Linux上的資源限制如何設置

小樊
111
2025-02-16 19:20:44
欄目: 編程語言

在Linux上,可以通過以下幾種方式來設置PHP-FPM的資源限制:

  1. 使用systemd服務文件設置資源限制

如果你的系統使用systemd管理服務,可以在PHP-FPM的服務文件中設置資源限制。通常,該文件位于/etc/systemd/system/php-fpm.service/lib/systemd/system/php-fpm.service。在[Service]部分添加以下內容:

LimitNOFILE=65535
LimitMEMLOCK=infinity

這將分別設置文件描述符限制為65535和內存鎖定限制為無限制。你可以根據需要調整這些值。

  1. 使用cgroups設置資源限制

cgroups(控制組)是Linux內核的一個功能,可以用來限制進程組的資源使用。要使用cgroups限制PHP-FPM的資源,請按照以下步驟操作:

  • 安裝cgroup-tools(如果尚未安裝):
sudo apt-get install cgroup-tools
  • 創建一個新的cgroup
sudo cgcreate -g memory,cpu:/php-fpm
  • 設置內存和CPU限制:
echo "1G" | sudo tee /sys/fs/cgroup/memory/php-fpm/memory.limit_in_bytes
echo "50%" | sudo tee /sys/fs/cgroup/cpu/php-fpm/cpu.cfs_quota_us

這將限制PHP-FPM進程組的內存使用為1GB,CPU使用為50%。

  • 重啟PHP-FPM服務以應用更改:
sudo systemctl restart php-fpm
  1. 使用ulimit設置資源限制

ulimit命令可以用來設置shell會話的資源限制。要使用ulimit限制PHP-FPM的資源,請按照以下步驟操作:

  • 打開PHP-FPM的啟動腳本(通常位于/etc/init.d/php-fpm/etc/init.d/php7.x-fpm,其中x是PHP版本號)。

  • start函數中添加以下內容:

ulimit -n 65535
ulimit -m unlimited

這將分別設置文件描述符限制為65535和內存鎖定限制為無限制。

  • 保存更改并重啟PHP-FPM服務以應用更改:
sudo systemctl restart php-fpm

請注意,這些方法可能會相互沖突。建議只使用一種方法來設置資源限制。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女