解決Zend OPcache huge_code_pages: mmap(HUGETLB) failed: Cannot allocate memory報錯


前幾日看到鳥哥介紹的 《讓你的PHP7更快之Hugepage》, 於是想試試手給服務器加上,參照格式安裝好擴展,調整好配置文件,然后重啟php-fpm,結果啟動一直報Zend OPcache huge_code_pages: mmap(HUGETLB) failed: Cannot allocate memory

 

看字面意思是無法分配內存?怎么會呢,機器內存還是很充足的,這點排查掉了。后面查找相關資料得到,是因為系統Hugepage不夠,一般系統Hugepage是沒有開啟的,可以通過下面命令查看

cat /proc/meminfo | grep Huge
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB


HugePages_Total是0,加上就可以了,加上辦法

sysctl vm.nr_hugepages=128
cat /proc/meminfo | grep Huge
HugePages_Total:     128
HugePages_Free:      123
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

已經加上了,重啟php-fpm,問題解決。

 

參考文章:

讓你的PHP7更快之Hugepage

https://www.geek-share.com/detail/2654715223.html 

讓PHP7達到最高性能的幾個Tips

http://www.laruence.com/2015/12/04/3086.html 

Linux下HugePage內存功能配置

https://www.geek-share.com/detail/2633503427.html 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM