问题标签 [memory-limit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 如何将 PHP 的内存限制增加到 2GB 以上?
我在增加 PHP 作为 Apache 模块的内存限制时遇到问题。
如果我将以下指令放入 Apache 配置中,则可以正常工作:
但是超过 2GB 不起作用,它会将这个值恢复到 128MB。
这里有什么问题?我需要更多内存来处理一些与 PDF 相关的任务。
服务器是 Debian 2.6.32-5-amd64 #1 SMP,PHP 5.3.3-7+squeeze13,具有 12GB 物理 RAM。
drupal - DRUPAL 和内存限制
Drupal 上的某些页面比其他页面使用更多的内存。我认为在 Drupal 中为所有页面保留 64M 或更多是浪费服务器资源,只是因为模块的页面(或带有图形的部分)达到了这个峰值,并且我想在进行更改时避免出现白页。
所以,我的问题是:根据部分或页面以编程方式管理不同的内存限制是一种好习惯吗?有些页面使用 32M 或更少,所以我认为最好使用特定限制来优化 Web 应用程序的特定部分。
我已经阅读了很多关于优化实践的内容,但我还没有发现动态处理内存限制或处理这类问题或应用这种方法的 Drupal 模块。
php - memory_limit:它是如何工作的?
我有一个运行大约 2 小时的 php 脚本。这是一项 cron 工作。cron 作业每 4 小时运行一次。
在脚本的最后,我显示了一些内存值。
php.ini 中的 memory_limit 是 128M,但它不起作用。我将它提高到 256M,现在它可以工作了。
但是由于脚本的内存峰值不到2M....
那么 memory_limit 参数是如何工作的呢?
它是脚本使用的总内存吗?如果是这样,我该如何计算?
是脚本的内存峰值吗?如果是这样,我计算对了吗?
我正在使用 php 5.3.16。
编辑
我没有任何错误消息。当限制为 128M 时脚本执行,但从未完成。
php - Laravel DB 插入错误:允许的内存大小已用尽
尝试将 ~20K 记录插入我的数据库时遇到问题。我注意到,即使我在我的 foreach 循环中回显,我也没有在命令行中输出任何内容。相反,在插入与...相关的 ~9440 条记录后出现错误
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 91 bytes) in /Users/me/Sites/Laravel/database/connection.php on line 293
这是我的代码(尝试使用 Eloquent 和 Fluent):
php - memory_limit 不起作用
致命错误:允许的内存大小为 104857600 字节已用尽(尝试分配 32345609 字节)
这意味着我需要 137203209 字节的内存限制来运行我的 php 脚本。
尽管脚本中有以下代码,但我收到了此错误。
该脚本位于我的共享托管服务器上。我无权访问php.ini。memory_limit
确实适用于同一托管服务器中的其他脚本。
当我检查我的服务器的 phpinfo() 时,我看到了这些
suhosin.memory_limit - 128
memory_limit - 100M
我的脚本肯定需要超过 128M,因为它是一个带有大文件附件的邮件发送脚本。
c++ - 无限大小的整数?
在 Python 中,我可以编写一个程序来计算无限大小的整数。就在前几天,我做了百万分之一的斐波那契数,它太大了,无法放入控制台。如果可以在 Python 中做到这一点,据我所知,它是用 C 编写的,那么如何在 C++ 中做同样的事情呢?它必须是可能的,否则我看不出它是如何在 Python 中完成的。我也相信在 Java/C# 中有类似的东西叫做 Biginteger,但我找不到任何说明它如何在 C++ 中实现的东西。
php - PHP memory_limit 越多越好吗?
在 PHP 中,我经常面临内存限制问题。尤其是像 Drupal 等高度资源集成的系统。
我想在这里知道的是:
- 有非常高的 php 内存限制(如 2GB)是否很好?
- 有什么大缺点吗?
编辑:
作为一个场景,例如在 Drupal 中,当我们通过 Web 面板(不是通过 Drush 或任何脚本)清除缓存时,它需要大量内存。因此,即使仅在这种情况下,我目前肯定需要大约 512MB 的上限。
php - 从 csv 或逗号分隔的文件中读取数据
可能重复:
将 CSV 文件直接导入 MySQL
我尝试使用不同的方法(其中一种方法如下)从 csv 文件或逗号分隔的大文件大小(超过 250MB)的文件中读取数据,因此我可以将所需的数据从它插入到 mysql 数据库但程序每次在完成文件读取之前崩溃。我还尝试增加 php.ini 中的内存限制。面临以下错误:-
1.----------------------------------------------------------
memory_limit = 128M 致命错误:第 19 行 C:\wamp\www\site\files\plugin\agoda\agoda.plugin.php 中允许的内存大小为 134217728 字节已用尽(尝试分配 63 字节)
2.----------------------------------------------------------
memory_limit = 1000M 致命错误:第 19 行 C:\wamp\www\site\files\plugin\agoda\agoda.plugin.php 中允许的内存大小为 1048576000 字节已用尽(试图分配 1299 字节)
3.----------------------------------------------------------
memory_limit = 2000M
无效的
我需要一种在 php 中读取此类文件而不会导致程序崩溃的方法。
php - 无休止地加载具有高 memory_limit 的巨大 php 文件
介绍
目前我正在处理 XML 文件。使用 PHP,我结合了几个 XML 文件。这是一个超出 PHP 默认 memory_limit 的大操作。
当我用致命错误扩展限制时ini_set('memory_limit', '1024M');
,脚本不再超过限制。
我现在遇到的问题是,在组合 XML 文件后,我的脚本有问题。浏览器加载无穷无尽,我仍然能够在服务器端做所有事情。就像我自己发电子邮件一样,向数据库中添加行。但是所有客户端都不起作用。像一个简单的echo 'Hello World';
或header('location: http://www.google.com');
在合并文件时,我记录了这些步骤。
奇怪的是我的脚本确实记录了最后一个日志Done with processing
。我在服务器端所做的任何事情都有效。
但是标题(重定向)却没有。我的浏览器只是无休止的加载。
问题
- 出了什么问题?
- 浏览器是否会在一段时间后禁用与服务器的通信?
php - PHP memory_get_peak_usage 和 ini_set('memory_limit', '-1')
我最近遇到了内存分配问题,所以我开始ini_set('memory_limit', value);
尝试尝试增量输入值的指令。现在,通过网络(和 SO)搜索,我发现我可以-1
将value
. 所以,我做到了,现在脚本完全运行到最后而没有中断(在我曾经得到内存分配错误之前)。
但是,我不明白的是,鉴于脚本文件末尾的这两行:
产生大约10.8MB,当我查看时,/var/log/messages
我可以看到这条线:
这意味着脚本试图分配4096MB!
怎么会这样?而且,我最感兴趣的是为什么在这种情况下脚本执行没有停止?ini_set('memory_limit', '-1');
是不是因为 我的意思是,我确实读过,-1
因为value
不推荐,我知道问题出在脚本中(在内存中一次读取过多的数据),我会通过顺序读取来修复它,但我我只是对这些数据差异感到困惑,所以如果有人能对此有所了解,我将不胜感激。