apache - Linux循环脚本: Cannot allocate memory

标签 apache loops memory fork

我在 Linux 上遇到了一个脚本的大问题。 我在 apache2 服务器上工作,我必须每秒执行一个 php 脚本来更新数据库(是的,每秒,我确定)。 为此,我创建了这个脚本:

#!/bin/bash

while [ -f "MONFICHIER" ]
do
        php fichier.php >> log.txt
        sleep 1
done

exit 0

此脚本运行一段时间后停止,我收到此错误消息:“fork:无法分配内存”

实际上一切正常,但过了一段时间,会生成大量失效的进程,正是因为这些进程,内存已满。

关于 php 文件,它是 CodeIgniter 框架的一个 index.php 文件,其中包含要调用的函数的参数。最后通过检查数据更新数据库。

很抱歉,我无法提供源代码( secret ),但功能很快(不到一秒)

有人有这个问题吗? 谢谢!

最佳答案

要么您的 PHP 脚本执行时间超过一秒,并且有大量并行 php 调用,要么需要大量内存。无论哪种方式,没有人可以仅通过 shell 脚本的源代码来帮助您。

关于apache - Linux循环脚本: Cannot allocate memory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16668528/

相关文章:

iphone - Objective-C 内存管理、xml 解析器和其他重要示例

php - 在命令行 PHP 脚本中找不到“Memcache”

python - Apache 说打开文件读取 : Permission Denied 时出错

python - 为什么 python 在此处使用嵌套循环时会打印奇怪的结果?

python - 使用 while 循环重复生成随机数的函数

loops - Emacs : cl-loop and repeatedly calculated values

android - 可以分配给 Android 应用程序的最大 native 内存

python - 类成员函数

java - 使用 Apache Commons CompareToBuilder 降序排序

wordpress - 使用 ProxyPass 在负载均衡器后面将 Wordpress http 更改为 https