Php 监视共享主机上的脚本性能

Php 监视共享主机上的脚本性能,php,resources,monitoring,shared-hosting,Php,Resources,Monitoring,Shared Hosting,我计划通过cron在共享主机提供商上定期运行PHP脚本。基于我的localhost开发,该脚本不会占用太多CPU。但是,我希望监视脚本的运行/使用情况,以免对服务器造成过度的压力,从而可能导致帐户限制 使用电子邮件发送性能报告的附加功能来监视脚本的内存和CPU使用情况的最佳方法是什么?由于我在共享主机上,我将无法安装应用程序 谢谢您可以用下面的方式编写脚本。它们是php中检查内存使用情况的默认函数,但在少数运行windows的服务器中,如果它们被禁用,它们也是一种解决方法。分析下面的代码,并尝试

我计划通过cron在共享主机提供商上定期运行PHP脚本。基于我的localhost开发,该脚本不会占用太多CPU。但是,我希望监视脚本的运行/使用情况,以免对服务器造成过度的压力,从而可能导致帐户限制

使用电子邮件发送性能报告的附加功能来监视脚本的内存和CPU使用情况的最佳方法是什么?由于我在共享主机上,我将无法安装应用程序


谢谢

您可以用下面的方式编写脚本。它们是php中检查内存使用情况的默认函数,但在少数运行windows的服务器中,如果它们被禁用,它们也是一种解决方法。分析下面的代码,并尝试获得想法。希望能有帮助

function getMemUsage()
{

        if (function_exists('memory_get_usage'))
        {
            return memory_get_usage();
        }
        else if ( strpos( strtolower($_SERVER["OS"]), 'windows') !== false)
        {
            // Windows workaround
            $output = array();

            exec('tasklist /FI "PID eq ' . getmypid() . '" /FO LIST', $output);            
            return substr($output[5], strpos($output[5], ':') + 1);
        }
        else
        {
            return '<b style="color: red;">no value</b>';
        }
}

$message = getMemUsage();
$subject = "Memory USage";

mail("xxx@xxx.com",$message,$subject);

内存使用情况确实存在,但它返回当前分配给PHP的内存。在共享主机上,这并不能给出我的脚本单独使用的内存的准确值。首先使用phpinfo。然后您可以查看主机的所有规格,其中大部分适用。某些主机可能对单个用户帐户有一些资源限制,以确保一个用户不使用整个服务器的资源。要解决这个问题,你必须联系主机。已经这么做了。我的主机不强制执行硬约束。无论如何,我最初关于监控脚本性能的问题仍然存在。不确定我是否理解phpinfo中对phpinfo的引用,您可以获得内存限制。基于此,您可以比较您的使用情况。内存限制在共享服务器上永远无法正常工作。即使这不是你的应用程序的错误,你也会得到很大的不同。我写的脚本将告诉你内存使用情况。从php信息中,您可以了解这些限制。这会给你一个想法。