Maison >développement back-end >tutoriel php >Obtenez l'utilisation de la mémoire de PHP
Cet article présente principalement comment obtenir l'utilisation de la mémoire PHP, ce qui nous permet d'analyser les performances des scripts. Les amis intéressés peuvent s'y référer, j'espère que cela sera utile à tout le monde.
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();
Sortie Résultat :
Démarrer la mémoire : 147296
Après avoir exécuté la mémoire : 152456
Retour à la mémoire normale : 147296
Dans l'exemple, on utilise str_repeat () Répétez la chaîne "hello" 1000 fois, et enfin comparez 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 les octets en Mo pour une lecture plus facile :
function memory_usage() { $memory = ( ! function_exists('memory_get_usage')) ? '0' : round(memory_get_usage()/1024/1024, 2).'MB'; return $memory; }
Les méthodes couramment utilisées pour déboguer et tester 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.
Recommandations associées :
Comment calculer le temps d'exécution d'un script en php ?
Analyse et expérimentation des performances PHP : Analyse macroscopique des performances
Analyse des performances PHP et Expérience : Analyse microscopique des performances
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!