Php function memory_get_usage () view the memory currently allocated to the PHP script-php Tutorial

Source: Internet
Author: User
Php function memory_get_usage () to view the memory currently allocated to the PHP script

  1. Echo memory_get_usage (),'
    '; // 313864
  2. $ Tmp = str_repeat ('http: // www.nowamagic.net/", 4000 );
  3. Echo memory_get_usage (),'
    '; // 406048
  4. Unset ($ tmp );
  5. Echo memory_get_usage (); // 313952
  6. ?>

The comments behind the above program represent their output (in bytes (s), that is, the memory used by the PHP script at that time (excluding the memory occupied by the memory_get_usage () function itself ).

The preceding example shows that to reduce memory usage, you can use the PHP unset () function to delete unnecessary variables. Similarly, the PHP mysql_free_result () function can be used to clear the result set of a database query that is no longer needed, so that more available memory can be obtained.

The PHP memory_get_usage () function can also have a parameter $ real_usage with a Boolean value. The default value is FALSE, indicating that the obtained memory usage does not include the memory occupied by this function (PHP memory manager). if it is set to TRUE, the resulting memory does not include the memory occupied by this function (PHP memory manager.

In actual programming, you can use the memory_get_usage () function to compare the memory usage of each method and select the method that occupies a small amount of memory.

Paste a practical function:

  1. If (! Function_exists ('memory _ get_usage '))
  2. {
  3. /**
  4. + ----------------------------------------------------------
  5. * Obtain memory usage
  6. + ----------------------------------------------------------
  7. * @ Return integer
  8. + ----------------------------------------------------------
  9. */
  10. Function memory_get_usage ()
  11. {
  12. $ Pid = getmypid ();
  13. If (IS_WIN)
  14. {
  15. Exec ('tasklist/FI "PID eq '. $ pid.'"/FO list', $ output );
  16. Return preg_replace ('/[^ 0-9]/', ', $ output [5]) * 1024;
  17. }
  18. Else
  19. {
  20. Exec ("ps-eo % mem, rss, pid | grep $ pid", $ output );
  21. $ Output = explode ("", $ output [0]);
  22. Return $ output [1] * 1024;
  23. }
  24. }
  25. }

Another example of using a function:

  1. // Memory_get_usage ();
  2. $ M1 = memory_get_usage ();
  3. Echo'
    M1: ', $ m1; // 58096
  4. $ A = 'hello ';
  5. $ B = str_repeat ($ a, 1000 );
  6. $ M2 = memory_get_usage ();
  7. Echo'
    M2: ', $ m2; // 63424
  8. Unset ($ B );
  9. $ M3 = memory_get_usage ();
  10. Echo'
    M3: ', $ m3; // 58456
  11. ?>

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.