Maison  >  Article  >  développement back-end  >  Comment obtenir la méthode d'utilisation de la mémoire en PHP

Comment obtenir la méthode d'utilisation de la mémoire en PHP

小云云
小云云original
2018-02-27 09:54:392891parcourir

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 :

开始内存:147296 
运行后内存:152456 
回到正常内存:147296

Dans l'exemple, nous utilisons str_repeat() pour répéter 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 le nombre d'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 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.

Recommandations associées :

Détection PHP pour obtenir des informations sur la mémoire_Tutoriel PHP

PHP obtient l'utilisation de la mémoire via la fonction intégrée memory_get_usage()

Code de programme pour obtenir l'utilisation de la mémoire en PHP

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