Estou trabalhando com o apache2 + php e outros aplicativos de servidor da web.
Eu tenho monitor como sessão conectando a um servidor web. A memória RAM está cheia.
Mas, ao desconectar uma sessão, ela não libera a memória RAM.
Eu tenho monitor via free -m
, e mostra memória não liberada, mesmo com nenhuma sessão agora conectada.
Há uma solução?
ram
memory-usage
Tejaskumar Tank
fonte
fonte
htop
para fins de monitoramento. É muito mais intuitivo e disponível nos repositórios oficiais. Se você realmente estiver com falta de memória, forneça mais informações, como o tipo de aplicativo Web em execução, a quantidade de RAM que você possui, o que é usado e tudo. Cole a saída do free -m e coisas assim.Respostas:
Você pode liberar memória não utilizada usando este comando:
Este comando sincroniza dados em cache e grava um parâmetro do SO em tempo de execução, localizado em / proc / sys / vm / drop_caches . Este parâmetro é lido pelo kernel uma vez e libera a memória não utilizada.
Basicamente, o kernel reserva três seções no cache, que podem aumentar o uso de memória:
A gravação desse parâmetro fará com que o kernel libere caches de página, dentries e inodes limpos da RAM, fazendo com que a memória fique livre. Existem três valores que podem ser atribuídos:
Importante: Após a execução, isso retornará ao estado normal, o que significa iniciar novamente o cache de pagecaches, dentries e inodes. Use-o dependendo da configuração e do aplicativo do servidor.
fonte
sudo sync & sudo sysctl -w vm.drop_caches=3
sudo
uma segunda vez. Caso contrário, recebo o errosysctl: permission denied on key 'vm.drop_caches'