Position actuelle: Accueil> Derniers articles> Explication détaillée de l'utilisation commune de la fonction Memory_get_usage

Explication détaillée de l'utilisation commune de la fonction Memory_get_usage

gitbox 2025-05-29

Dans le développement de PHP, l'optimisation des performances et la gestion des ressources sont des liens très importants. Comprendre la quantité de mémoire que le script occupe pendant l'exécution peut aider les développeurs à découvrir des fuites de mémoire ou une utilisation déraisonnable de la mémoire en temps opportun, effectuant ainsi une optimisation ciblée. La fonction MEMORY_GET_UGEDAGE INTRACTÉE de PHP est un outil puissant pour surveiller l'utilisation actuelle de la mémoire de script. Cet article expliquera en détail l'utilisation de cette fonction et vous aidera à maîtriser ses compétences d'utilisation en fonction des scénarios d'application réels.


1. Quelle est la fonction Memory_get_usage?

Memory_get_usage est une fonction intégrée fournie par PHP pour renvoyer le nombre d'octets de mémoire occupés par le script actuel. Sa syntaxe de base est la suivante:

 memory_get_usage(bool $real_usage = false): int
  • Le paramètre $ réel_usage est une valeur booléenne, défautant à false .

  • Lorsqu'il est faux , la fonction renvoie la taille de la mémoire appliquée au script par PHP, ce qui ne signifie pas nécessairement la mémoire physique qui est réellement allouée au script.

  • Lorsque cela est vrai , la taille de la mémoire allouée au script PHP est renvoyée, ce qui peut être supérieur à la valeur de retour par défaut.


2. Exemples de base de Memory_get_usage

 <?php
echo "Utilisation initiale de la mémoire: " . memory_get_usage() . " octet\n";

$array = range(1, 10000);

echo "Utilisation de la mémoire après avoir créé un tableau: " . memory_get_usage() . " octet\n";
?>

Ce code publie d'abord l'utilisation de la mémoire initiale du script, puis crée un tableau de 10 000 entiers et publie enfin l'utilisation actuelle de la mémoire.


3. Scénarios d'application pratiques

1. Surveillance de la consommation de mémoire

Dans les grandes applications, des boucles complexes peuvent être effectuées ou de grandes quantités de données sont chargées. La surveillance en temps opportun de l'utilisation de la mémoire peut empêcher les scripts de s'écraser en raison de l'épuisement de la mémoire.

 <?php
echo "Démarrer l&#39;utilisation de la mémoire des scripts: " . memory_get_usage() . " octet\n";

for ($i = 0; $i < 1000; $i++) {
    $data = str_repeat("A", 10000);
    if ($i % 100 === 0) {
        echo "1 et 1 {$i} Utilisation de la mémoire de la deuxième boucle: " . memory_get_usage() . " octet\n";
    }
}

echo "Utilisation de la mémoire finale par script: " . memory_get_usage() . " octet\n";
?>

2. Optimiser le code pour réduire la consommation de mémoire

En appelant Memory_get_Usage avant et après le segment de code clé, l'impact de différentes méthodes d'écriture ou structures de données sur la mémoire peut être comparée, effectuant ainsi une optimisation ciblée.


4. Combinez Memory_get_Usage et Memory_get_peak_usage pour surveiller les pics de mémoire

PHP possède également une fonction similaire memory_get_peak_usage , qui est utilisée pour obtenir le pic de mémoire maximum utilisé pendant l'exécution du script. Il accepte également un paramètre $ réel_usage .

 <?php
echo "Valeur de crête de mémoire: " . memory_get_peak_usage() . " octet\n";
?>

En combinant l'utilisation des deux, les développeurs peuvent mieux comprendre l'utilisation de la mémoire:

 <?php
echo "Mémoire initiale: " . memory_get_usage() . " octet\n";

$data = [];
for ($i = 0; $i < 10000; $i++) {
    $data[] = md5($i);
}

echo "Mémoire actuelle: " . memory_get_usage() . " octet\n";
echo "Valeur de crête de mémoire: " . memory_get_peak_usage() . " octet\n";
?>

5. Résumé

  • Memory_get_usage () est utilisé pour obtenir l'utilisation de la mémoire du script actuel.

  • Grâce à lui, la consommation de mémoire peut être surveillée et analysée et des problèmes de performances potentiels peuvent être localisés.

  • Avec Memory_get_peak_usage () , vous pouvez comprendre le pic de consommation de mémoire maximale.

  • Dans les projets à grande échelle et les projets sensibles aux ressources, l'utilisation rationnelle de ces deux fonctions est très importante pour l'optimisation des performances.


Reportez-vous à l'exemple de code complet

 <?php
echo "Utilisation initiale de la mémoire: " . memory_get_usage() . " octet\n";

$array = range(1, 10000);

echo "Utilisation de la mémoire après avoir créé un tableau: " . memory_get_usage() . " octet\n";

for ($i = 0; $i < 1000; $i++) {
    $data = str_repeat("A", 10000);
    if ($i % 100 === 0) {
        echo "1 et 1 {$i} Utilisation de la mémoire de la deuxième boucle: " . memory_get_usage() . " octet\n";
    }
}

echo "Valeur de crête de mémoire: " . memory_get_peak_usage() . " octet\n";
?>