首页 > 解决方案 > 共享主机 OutOfMemoryError 中的 Magento 2.4 Elasticsearch 问题

问题描述

我正在尝试为 Magento 2.4 运行 elasticsearch 节点,我有一个权限非常有限的共享主机,我不能使用任何 sudo 或 git 或任何命令,只有低用户级别我必须解决这个问题。

这是错误:java.lang.OutOfMemoryError:无法创建本机线程:可能内存不足或达到进程/资源限制

全输出

-bash-4.2$ cd elasticsearch-7.9.2 -bash-4.2$ ./bin/elasticsearch -d -bash-4.2$ [29.133s][warning][os,thread] 无法启动线程 - pthread_create 失败(EAGAIN)对于属性:stacksize:1024k,guardsize:0k,分离。[29.133s][warning][os,thread] 无法启动线程 - 属性的 pthread_create 失败(EAGAIN):stacksize:1024k,guardsize:0k,已分离。线程 [elasticsearch[nl-srv-web333.main-hosting.eu][clusterApplierService#updateTask][T#1]] 中的致命错误,退出 java.lang.OutOfMemoryError:无法创建本机线程:可能内存或进程不足/resource 限制在 java.base/java.lang.Thread.start(Thread.java:801) 的 java.base/java.util.concurrent 的 java.base/java.lang.Thread.start0(Native Method) 达到。 ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:939) 在 java.base/java.util.concurrent.ThreadPoolExecutor。

-bash-4.2$

我需要在没有任何 root 或 sudo 命令的情况下解决这个问题,因为我已经尝试了互联网上的所有东西,但没有任何效果。谢谢

标签: elasticsearchmagentomagento2

解决方案


经过多次尝试并搜索了这个问题后,我发现我的 Elastic Standalone 的配置(因为我没有 root 访问权限,所以我刚刚下载并运行它)是错误的堆大小(OutOfMemory)问题是由于默认设置文件 /elasticsearch/config/jvm.options 中的以下参数

-Xms1g

-Xmx1g

这意味着 1 Giga 的最小尺寸。

哪里超出了我的内存限制我已将值更改为

-Xms500m

-Xmx500m

这意味着 500 兆而不是 1 Giga 然后保存文件并再次运行 elasticsearch 作为守护程序并且工作正常!

cd Elasticsearch-7.9.2

./bin/elasticsearch -d

希望这可以帮助那些在 sudo、apt、yum 安装中遇到很多错误引导的人,这些安装对于共享主机中的非用户访问是不可用的。


推荐阅读