Maison  >  Article  >  développement back-end  >  Explication détaillée de l'utilisation de la mémoire en PHP

Explication détaillée de l'utilisation de la mémoire en PHP

jacklove
jackloveoriginal
2018-05-22 15:25:342302parcourir

Cet article expliquera en détail comment obtenir l'utilisation de la mémoire en php.

La fonction intégrée PHP memory_get_usage() peut renvoyer la quantité de mémoire actuellement allouée au script PHP, en octets. Dans le développement WEB réel, ces fonctions sont très utiles et nous pouvons les utiliser pour déboguer les performances du code PHP.

La fonction memory_get_usage() renvoie l'utilisation de la mémoire, la fonction memory_get_peak_usage() renvoie l'utilisation maximale de la mémoire et getrusage() renvoie l'utilisation de la CUP. Mais veuillez noter que ces fonctions doivent fonctionner sous Linux.

Regardons un exemple ci-dessous :

echo'开始内存:'.memory_get_usage(),'';
$tmp=str_repeat('hello',1000);
echo'运行后内存:'.memory_get_usage(),'';
unset($tmp);
echo'回到正常内存:'.memory_get_usage();

Résultat de sortie :

Mémoire de démarrage : 147296

Après l'exécution de la mémoire : 152456

Retour à la mémoire normale : 147296

Dans l'exemple, nous utilisons str_repeat() pour répéter la chaîne "hello" 1000 fois, et enfin comparer la taille de la mémoire consommée avant et après. Comme le montre l'exemple ci-dessus, afin de réduire l'utilisation de la mémoire, vous pouvez utiliser la fonction unset() pour supprimer les variables qui ne sont plus nécessaires. Semblable à la fonction mysql_free_result(), lorsque nous n'avons plus besoin du jeu de résultats obtenu en interrogeant les données, nous pouvons l'utiliser pour libérer la mémoire occupée par la requête.

La fonction memory_get_usage() peut également avoir un paramètre, $real_usage, dont la valeur est une valeur booléenne. S'il est défini sur TRUE, obtient la taille de mémoire réelle allouée par le système. S'il n'est pas défini ou est défini sur FALSE, emalloc() signalera la quantité de mémoire utilisée.

Dans le développement WEB réel, vous pouvez utiliser PHP memory_get_usage() pour comparer la mémoire occupée par chaque méthode afin de choisir quelle méthode prend le moins de mémoire.

Le nombre d'octets renvoyés par la fonction memory_get_usage() (unité : octet(s)). La fonction personnalisée suivante convertit le nombre d'octets en Mo pour une lecture plus facile :

functionmemory_usage(){
$memory=(!function_exists('memory_get_usage'))'0':round(memory_get_usage()/1024/1024,2).'MB';
return$memory;
}

Les méthodes de débogage couramment utilisées pour détecter les performances du code PHP sont :

memory_get_usage peut analyser l'empreinte mémoire.

Utilisez la fonction microtime pour analyser le temps d'exécution du programme.

Cet article explique en détail l'utilisation de la mémoire par php. Pour plus de contenu connexe, veuillez faire attention au site Web chinois de php.

Recommandations associées :

Explication détaillée des pré-opérations dans Thinkphp5

Comment utiliser efficacement les fonctions récursives php

Fonctions PHP couramment utilisées organisées

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn