2016-11-10 93 views
-1

我在共享主机环境中,最近出现内存分配错误。然后,我检查了cPanel中的PHP,并且我看到内存限制是1024M,但是我的RAM只有512M。然后我搜索了它,我看到这个post表示RAM需要大于PHP内存限制。并且还说,我可以使用ini_set()手动设置内存限制低于RAM。共享主机环境中的PHP memory_limit

我的问题是:

  1. (对于第二个意见)我应该手动配置的内存限制?低于RAM?
  2. 什么是最好的memory_limit尺寸我应该把如果RAM是512M?
  3. 如果有的话,我配置成功,分配内存错误会消失吗?
  4. 这是否会降低我的网站的性能?
  5. 我的网站的性能会发生什么变化? [好和坏]

UPDATE

在这里,我再次得到了一个错误:

couldn't create child process: /opt/suphp/sbin/suphp for 
+0

512应该很多。我会看看你的脚本,看看为什么它需要超过512M的内存。 – bassxzero

+0

你的内存分配错误是什么?如果没有足够的RAM,PHP应该只交换到磁盘。我不认为你引用的帖子是正确的,你很可能会将它设置为比系统RAM更多。 –

+0

如果一个脚本需要多于512MB的RAM,那么你做错了什么。你有没有诊断出现这个问题的地方? – Xorifelse

回答

0

首先的(答案#1)PHP内存位于RAM,所以你不能分配超过你的RAM容量。请记住,512Mb RAM适用于现场所有用户,而不是分别为每个请求。

其次(回答所有其他问题):如果您有512MB的PHP限制并且超出了限制,那么您的脚本占用的资源太多,会减慢/停止您的网站。优化所有操作和查询。

+0

uhm,我在cPanel中看到的默认php内存限制是1024M(由主机提供商设置),RAM是512M。我得到的错误与'subphp',虚拟内存有关。 –