Zend OPcache huge_code_pages: madvise (HUGEPAGE) falhou

0

Eu recebi este erro ao executar um script de linha de comando PHP em um servidor recém-instalado:

PHP Warning: Zend OPcache huge_code_pages: madvise(HUGEPAGE) failed: Invalid argument

O servidor está executando o CentOS 7.3, com o PHP 7.1.4 do repositório remi .

De acordo com esta discussão no fórum remi , e esta discussão sobre plesk.com , a solução é desabilitar huge_code_pages in php-opcache.ini:

opcache.huge_code_pages=0

No entanto, Remi disse que este problema só deve ocorrer no CentOS 6, não no CentOS 7 .

Antes de desativar o huge_code_pages , existe uma solução para que ele funcione?

    
por Benjamin 05.05.2017 / 17:27

1 resposta

2

O kernel do OVH que você está usando, de acordo com um arquivo de configuração da OVH , não define CONFIG_TRANSPARENT_HUGEPAGE=y . Seu kernel, portanto, não suporta páginas enormes e transparentes e, portanto, madvise(HUGEPAGE) falha com um erro de argumento inválido.

Se você quiser usar páginas enormes e transparentes, você precisará usar um kernel que as suporte - seja alternando para o kernel do CentOS 7.3 ou construindo o seu próprio baseado no kernel da OVH.

Eu sugiro um benchmarking para ver se páginas enormes transparentes trazem qualquer benefício de desempenho sob sua carga de trabalho.

Como observação, você precisa garantir que seus kernels sejam atualizados - as atualizações geralmente contêm importantes correções de segurança. Não instalá-los (e reinicializar) geralmente deixará seu sistema sujeito a exploração de raiz local (e às vezes até remota).

    
por 05.05.2017 / 20:50