Maison php教程 php手册 获得php代码使用占用内存的情况

获得php代码使用占用内存的情况

May 25, 2016 pm 04:54 PM
explode

在php中要获取php脚本使用的内存情况我们可以使用php自带函数memory_get_usage()来实例,他可以查看当前 PHP 脚本执行占用的内存多少,下面我来来看看

 memory_get_usage()官方语法

一,函数原型
int memory_get_usage ([ bool $real_usage = false ] )

二,版本兼容
PHP 4 >= 4.3.2, PHP 5

三,基础用法与实例


我们可以直接使用 PHP函数 memory_get_usage() 查看系统分配给当前 PHP 脚本执行占用的内存多少。
 

 代码如下 复制代码

echo memory_get_usage(), '
';  // 79248
$tmp = str_repeat('http://3aj.cn/', 4000);  // 135408
echo memory_get_usage(), '
';
unset($tmp);
echo memory_get_usage();  // 79248
?> 

程序输出的数字单位为 byte(s),也就是当时 PHP 脚本使用的内存(不含 memory_get_usage() 函数本身占用的内存)。

由上面的例子可以看出,要想减少内存的占用,可以使用 PHP unset() 函数把不再需要使用的变量删除。类似的还有:PHP mysql_free_result() 函数,可以清空不再需要的查询数据库得到的结果集,这样也能得到更多可用内存。

PHP memory_get_usage() 函数还可以有个参数,$real_usage,其值为布尔值。默认为 FALSE,表示得到的内存使用量不包括该函数(PHP 内存管理器)占用的内存;当设置为 TRUE 时,得到的内存为不包括该函数(PHP 内存管理器)占用的内存。


格式化 memory_get_usage() 结果以 KB 为单位输出

 代码如下 复制代码

 function convert($size){  

    $unit=array('b','kb','mb','gb','tb','pb'); 

     return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i]; 

 } 

echo convert(memory_get_usage(true)); 

 ?>


自定义函数获取数组或变量值大小

 

 代码如下 复制代码
function array_size($arr){
 ob_start();
 print_r($arr);
 $mem=ob_get_contents();
 ob_end_clean();
 $mem=preg_replace("/n +/","",$mem);
 $mem=strlen($mem);
 return $mem;
}
$memEstimate=array_size($GLOBALS);
?>

所以在实际编程中,可以用 memory_get_usage() 函数比较各个方法占用内存的高低,来选择使用哪种占用内存小的方法。
 

附带个使用函数:

 

 代码如下 复制代码
if (!function_exists('memory_get_usage')) {
 function memory_get_usage() {
     $pid = getmypid();
      if (IS_WIN) {
         exec('tasklist /FI "PID eq ' . $pid . '" /FO LIST', $output);
         return preg_replace('/[^0-9]/', '', $output[5]) * 1024;
      } else {
         exec("ps -eo%mem,rss,pid | grep $pid", $output);
         $output = explode(" ", $output[0]);
         return $output[1] * 1024;
      }
    }
}
?> 

再来个函数使用例子:
 

 

 代码如下 复制代码

//memory_get_usage(); 
 
$m1 = memory_get_usage(); 
echo '
m1:',$m1;  // m1:80160
 
$a = 'hello'; 
$b =  str_repeat($a,1000); 
 
$m2 = memory_get_usage(); 
echo '
m2:',$m2;  // m2:85624

unset($b); 
 
$m3 = memory_get_usage(); 
echo '
m3:',$m3;  // m3:80600
?>


所以在实际编程中,可以用PHP memory_get_usage()比较各个方法占用内存的高低,来选择使用哪种占用内存小的方法。



教程网址:

欢迎收藏∩_∩但请保留本文链接。

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser la fonction d'explosion PHP et résoudre les erreurs Comment utiliser la fonction d'explosion PHP et résoudre les erreurs Mar 10, 2024 am 09:18 AM

La fonction d'explosion en PHP est une fonction utilisée pour diviser une chaîne en un tableau. Elle est très courante et flexible. Lors du processus d'utilisation de la fonction d'éclatement, nous rencontrons souvent des erreurs et des problèmes. Cet article présentera l'utilisation de base de la fonction d'éclatement et fournira quelques méthodes pour résoudre les rapports d'erreurs. 1. Utilisation de base de la fonction exploser En PHP, la syntaxe de base de la fonction exploser est la suivante : éclater(string$separator,string$stri

Erreurs courantes et solutions lors de l'utilisation de la fonction d'explosion en PHP Erreurs courantes et solutions lors de l'utilisation de la fonction d'explosion en PHP Mar 11, 2024 am 08:33 AM

Titre : Erreurs courantes et solutions lors de l'utilisation de la fonction exploser en PHP En PHP, la fonction exploser est une fonction courante utilisée pour diviser une chaîne en un tableau. Cependant, certaines erreurs courantes peuvent survenir en raison d'une mauvaise utilisation ou d'un format de données incorrect. Cet article analysera les problèmes que vous pouvez rencontrer lors de l'utilisation de la fonction d'éclatement et fournira des solutions et des exemples de code spécifiques. Erreur 1 : le paramètre délimiteur n'est pas transmis. Lors de l'utilisation de la fonction d'éclatement, l'une des erreurs les plus courantes est que le paramètre délimiteur n'est pas transmis.

Divisez et fusionnez des chaînes à l'aide des fonctions d'explosion et d'implosion Divisez et fusionnez des chaînes à l'aide des fonctions d'explosion et d'implosion Jun 15, 2023 pm 08:42 PM

En programmation PHP, le traitement des chaînes est une opération fréquemment requise. Parmi eux, le fractionnement et la fusion de chaînes sont deux exigences courantes. Afin d'effectuer ces opérations plus facilement, PHP propose deux fonctions très pratiques, à savoir les fonctions d'explosion et d'implosion. Cet article présentera l'utilisation de ces deux fonctions, ainsi que quelques compétences pratiques. 1. La fonction exploser La fonction exploser est utilisée pour diviser une chaîne selon le délimiteur spécifié et renvoyer un tableau. Son prototype de fonction est le suivant : arra

Diviser la chaîne en tableau à l'aide de la fonction PHP 'exploser' Diviser la chaîne en tableau à l'aide de la fonction PHP 'exploser' Jul 24, 2023 pm 11:09 PM

Utilisez la fonction PHP "exploser" pour diviser une chaîne en un tableau. Dans le développement PHP, vous rencontrez souvent des situations où vous devez diviser une chaîne selon un délimiteur spécifié. À l'heure actuelle, nous pouvons utiliser la fonction "explose" intégrée de PHP pour convertir une chaîne en tableau. Cet article explique comment utiliser la fonction « exploser » pour diviser une chaîne et donne des exemples de code pertinents. La syntaxe de base de la fonction "exploser" est la suivante : arrayexplode(

Utilisez la fonction PHP 'exploser' pour diviser une chaîne en plusieurs sous-chaînes Utilisez la fonction PHP 'exploser' pour diviser une chaîne en plusieurs sous-chaînes Jul 25, 2023 pm 06:29 PM

Utilisez la fonction PHP "exploser" pour diviser une chaîne en plusieurs sous-chaînes. En programmation PHP, nous rencontrons souvent des situations où nous devons diviser une chaîne en plusieurs sous-chaînes. À l'heure actuelle, PHP fournit une fonction "exploser" très pratique qui peut nous aider à implémenter facilement cette fonction. La syntaxe de la fonction "exploser" est la suivante : arrayexplode(string$delimiter,string$string[,in

Que dois-je faire si php explosive signale une erreur ? Que dois-je faire si php explosive signale une erreur ? Jan 18, 2023 am 10:13 AM

Solution à l'erreur d'explosion de php : 1. Recherchez et ouvrez le code PHP erroné ; 2. Recherchez la partie de la fonction d'explosion ; 3. Modifiez le code en "dump(explode(',',$str));die;", c'est-à-dire , utilisez simplement une virgule pour séparer le tableau.

Comment utiliser la fonction exploser pour diviser une chaîne en PHP Comment utiliser la fonction exploser pour diviser une chaîne en PHP Jun 26, 2023 pm 12:03 PM

Dans le langage PHP, il existe de nombreuses fonctions de base qui peuvent nous aider à traiter les chaînes rapidement et efficacement. Parmi elles, la fonction d'explosion est une fonction de fractionnement de chaînes très pratique. Il peut diviser une chaîne en tableaux selon le délimiteur spécifié, puis effectuer des opérations de chaîne plus flexibles. Dans cet article, nous présenterons comment utiliser la fonction d'explosion pour diviser des chaînes en PHP. 1. Le format de la fonction éclater Le format de la fonction éclater dans le langage PHP est le suivant : éclater(sépara

Qu'est-ce que la fonction exploser() en PHP ? Qu'est-ce que la fonction exploser() en PHP ? Sep 04, 2023 pm 01:01 PM

Dans cet article, découvrez comment utiliser la fonction PHPExplode(), qui est une fonction PHP intégrée prédéfinie. La fonction exploser est utilisée pour "diviser une chaîne en contenus plus petits. La fonction exploser en PHP nous permet de diviser une chaîne en contenus plus petits en la cassant. Ce délimiteur est appelé délimiteur. Syntaxe éclater(délimiteur, chaîne, nombre d'éléments) Paramètre La fonction explosion accepte trois paramètres, dont deux sont obligatoires et un est facultatif. Discutons de ces trois paramètres. Délimiteur Ce caractère spécifie le point critique ou le point où la chaîne sera divisée, c'est-à-dire que chaque fois que ce caractère est trouvé dans une chaîne, il symbolise la fin d'un élément du tableau et le début d'un autre élément dans la chaîne d'entrée String.

See all articles