Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Apache内存问题_Php_Linux_Apache - Fatal编程技术网

Php Apache内存问题

Php Apache内存问题,php,linux,apache,Php,Linux,Apache,我对apache上的许多sleeps脚本有问题。当我启动apache并将缓存内存清除为13GB空闲时,空闲内存仍将落入ap。100MB免费。许多php进程将进入休眠状态,并保持缓存内存的ap。一个脚本上有19 MB 有时,睡眠脚本甚至可以保留700MB的内存。是一些设置,如何告诉apache脚本何时结束,然后进程何时结束?在apache中运行的PHP的资源和时间限制由PHP.ini控制 这两种设置是自我解释的 max_execution_time = 30 memory_limit = 12

我对apache上的许多sleeps脚本有问题。当我启动apache并将缓存内存清除为13GB空闲时,空闲内存仍将落入ap。100MB免费。许多php进程将进入休眠状态,并保持缓存内存的ap。一个脚本上有19 MB


有时,睡眠脚本甚至可以保留700MB的内存。是一些设置,如何告诉apache脚本何时结束,然后进程何时结束?

在apache中运行的PHP的资源和时间限制由PHP.ini控制
这两种设置是自我解释的

max_execution_time = 30  
memory_limit = 128M
因此,我认为剧本不会永远沉睡,也不会耗尽你的记忆。

请先检查这些设置。

在Apache中运行的PHP的资源和时间限制由PHP.ini控制
这两种设置是自我解释的

max_execution_time = 30  
memory_limit = 128M
因此,我认为剧本不会永远沉睡,也不会耗尽你的记忆。
请先检查这些设置。

不,您的问题不是“apache上有许多睡眠脚本”,而是您正在使用apache上的睡眠脚本。对于大多数web服务器来说,睡眠是一种诅咒,它们的设计目的只有一个:接收和响应基于HTTP的无状态web请求

睡眠本身并不是绝对的罪恶,但如果总的延迟时间超过几秒钟,那么你就犯了大错,你需要探索其他的方法

例如,phpBB实现了一个伪cron类型的函数,其中web请求通过使用排队请求表和公共检查函数来安排未来的工作活动(例如,每小时维护一次与应用程序相关的表)。如果计划任务到期,则使用一个像素图像请求生成异步回调以执行该活动。(通过执行图像加载,该请求与意外触发它的URI分离

另一种方法是一种变体,它使用独立的守护进程或cron作业来服务这个排队的请求表

另一种方法是简单地执行一个子进程,该子进程随后派生到daemonise本身并与Apache worker进程分离

另一种方法是……

不,你的问题不是“在apache上有许多睡眠脚本”,而是你正在apache上使用睡眠脚本。睡眠对于大多数web服务器来说是一种诅咒,它们的设计目的只有一个:接收和响应基于HTTP的无状态web请求

睡眠本身并不是绝对的罪恶,但如果总的延迟时间超过几秒钟,那么你就犯了大错,你需要探索其他的方法

例如,phpBB实现了一个伪cron类型的函数,其中web请求计划未来的工作活动(例如,每小时维护一次与应用程序相关的表)通过使用排队请求表和公共检查功能。如果计划任务到期,则使用一个像素图像请求生成异步回调操作活动。(通过执行图像加载,此请求与意外触发它的URI解耦。)

另一种方法是一种变体,它使用独立的守护进程或cron作业来服务这个排队的请求表

另一种方法是简单地执行一个子进程,该子进程随后派生到daemonise本身并与Apache worker进程分离


还有另一种方法…

释放内存(如
Free
所述)是未使用和丢失的内存。内核使用RAM进行文件系统缓存…问题是,休眠进程仍在增长,ap.1/60,当可用内存降至100 MB时,系统将从磁盘交换,即使实际未使用的内存很多。php不太适合长时间使用的应用程序,但这是可能的。所以这是ce的更多问题l内存泄漏php代码。Apache/php应该在脚本结束时释放所有使用的内存。释放内存(如
free
所述)是未使用和丢失的内存。内核使用RAM进行文件系统缓存…问题是,休眠进程仍在增长,ap.1/60,当可用内存降至100 MB时,系统将从磁盘交换,即使实际未使用的内存很多。php不太适合长时间使用的应用程序,但这是可能的。所以这是ce的更多问题保留内存泄漏PHP代码。当脚本结束时,Apache/PHP应该释放所有已使用的内存。因为MySuxLyPixOnLimeTimes有很多脚本运行2048,所以MyMyLyMyLimb设置为1000000,因为很多脚本都运行了很长时间,有些是永久性的。那么,Apache运行的PHP不适合您的需要。OryLyLimb设置为2048,因为许多脚本都是硬操作的,Max执行时间为1000000,因为很多脚本都运行了很长时间,有些是永久的。那么,Apache运行的PHP不适合您的需要。您应该考虑其他方法。