Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.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
Elasticsearch Java使用非常高的CPU和内存_Java_Linux_Node.js_Amazon Web Services_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Java,Linux,Node.js,Amazon Web Services,elasticsearch" /> elasticsearch,Java,Linux,Node.js,Amazon Web Services,elasticsearch" />

Elasticsearch Java使用非常高的CPU和内存

Elasticsearch Java使用非常高的CPU和内存,java,linux,node.js,amazon-web-services,elasticsearch,Java,Linux,Node.js,Amazon Web Services,elasticsearch,Elasticsearch突然停止工作,因为CPU使用率很高,现在当我重新启动它时,它继续使用大约100%的CPU和58%的内存,但不会下降。大约有1300.000个数据链接到Elasticsearch。使用Linux服务器Ubuntu 15.04 默认/弹性搜索 ES_HEAP_SIZE=2g (half of my memeory) MAX_OPEN_FILES=65535 MAX_LOCKED_MEMORY=unlimited limits.conf elasticsearch - no

Elasticsearch突然停止工作,因为CPU使用率很高,现在当我重新启动它时,它继续使用大约100%的CPU和58%的内存,但不会下降。大约有1300.000个数据链接到Elasticsearch。使用Linux服务器Ubuntu 15.04

默认/弹性搜索

ES_HEAP_SIZE=2g (half of my memeory)
MAX_OPEN_FILES=65535
MAX_LOCKED_MEMORY=unlimited
limits.conf

elasticsearch - nofile 65535
elasticsearch - memlock unlimited
elasticsearch.yml

bootstrap.mlockall: true

curl http://localhost:9200/_nodes/hot_threads?pretty=true
::: {elasticnode}{wrdxzFcXT0aTXnp4R5KFbA}{127.0.0.1}{localhost/127.0.0.1:9300} 2016-03-01T10:24:09.884Z时的热线程,间隔=500ms,最忙线程=3,ignoreIdleThreads=true: 按线程“elasticsearch[elasticnode][clusterService#updateTask][T#1]”划分的93.7%(500毫秒中有468.4毫秒)cpu使用率 10/10快照共享以下29个元素 sun.nio.fs.UnixNativeDispatcher.readdir(本机方法) UnixDirectoryStream$UnixDirectoryIterator.readNextEntry(UnixDirectoryStream.java :168) UnixDirectoryStream$UnixDirectoryIterator.hasNext(UnixDirectoryStream.java:201) org.elasticsearch.index.translog.translog$OnCloseRunnable.handle(translog.java:726) org.elasticsearch.index.translog.translog$OnCloseRunnable.handle(translog.java:713) org.elasticsearch.index.translog.ChannelReference.closeInternal(ChannelReference.java:67) org.elasticsearch.common.util.concurrent.AbstractRefCounted.decRef(AbstractRefCounted.java: 64) org.elasticsearch.index.translog.TranslogReader.close(TranslogReader.java:143) org.apache.lucene.util.IOUtils.close(IOUtils.java:97) org.elasticsearch.index.translog.translog.close(translog.java:425) org.apache.lucene.util.IOUtils.close(IOUtils.java:97) org.apache.lucene.util.IOUtils.close(IOUtils.java:84) org.elasticsearch.index.engine.InternalEngine.closeNoLock(InternalEngine.java:990) org.elasticsearch.index.engine.engine.close(engine.java:1147) org.apache.lucene.util.IOUtils.close(IOUtils.java:97) org.apache.lucene.util.IOUtils.close(IOUtils.java:84) org.elasticsearch.index.shard.IndexShard.close(IndexShard.java:837) org.elasticsearch.index.IndexService.closeShardInjector(IndexService.java:443) org.elasticsearch.index.IndexService.removeShard(IndexService.java:416) org.elasticsearch.index.cluster.indiceclusterstateservice.failAndRemoveShard(indiceclus terStateService.java:743) org.elasticsearch.index.cluster.IndicatesClusterStateService.applyMappings(IndicatesClusterST ateService.java:364) org.elasticsearch.index.cluster.indiceClusterStateService.clusterChanged(indiceClusters tateService.java:164) org.elasticsearch.cluster.service.InternalClusterService.runTasksForExecutor(InternalCluste java:600) org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterServ ice.java:762) org.elasticsearch.common.util.concurrent.PrioritydesThreadPoolExecutor$TiebrakingPriorit runAndClean(prioritizedThreadPoolExecutor.java:231) org.elasticsearch.common.util.concurrent.PrioritydesThreadPoolExecutor$TiebrakingPriorit 运行(prioritizedThreadPoolExecutor.java:194) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) run(Thread.java:745)

按线程“elasticsearch[elasticnode][transport\u clie”计算的0.1%(500毫秒中有263.4毫秒)cpu使用率
nt#u timer][T#1]{哈希轮定时器#1}' 10/10快照共享以下5个元素 java.lang.Thread.sleep(本机方法)

org.jboss.netty.util.HashedWheelTimer$Worker.waitForNextTick(HashedWheelTimer.java:445)org.jboss.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:364)org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) run(Thread.java:745)

查询示例。这是
elasticsearch.php
中的代码:

public function advancedquery($type, $query) {
    return $this->call($type . '/_search', 'POST', $query);
}

你知道这是怎么回事吗?我可以根据需要提供任何附加信息。

基于评论。每10分钟运行一次
cronjob
,node.js在
JavaScript
中运行一个文件。根据您的问题,您的
JS
文件正在同一服务器上ping一个
PHP
文件。在同一台服务器上,您有一个
Java
核心运行您的
posix
东西

CPU过载问题的答案是:

选择一个系统。您有三个环境在同一个实例上运行。Java和PHP在上运行,Node.JS在上运行。你甚至不应该跨越Java和PHP。这就是问题所在。这就像同时运行AutoCad、Final Cut Pro和虚幻游戏引擎一样。。。不是那样的


将您的系统压缩为您选择的一种语言,并由支持。当然。

您能提供用于发出请求的代码吗?尽管听起来不管发出什么请求,它都是100%的红线批注,对吗?另外,为了清楚起见,您使用的是AWS ElasticSearch?@iskore
public function advancedquery($type,$query){return$this->call($type./\u search',POST',$query);}
这是ElasticSearch.php中的代码。是的,没有任何请求,使用率始终非常高。不,我们没有使用AWS ES.Hmm。您是想在Java环境中运行PHP还是别的什么?不确定这是如何连接的。另外,您是否可以暂时阻止实例向ElasticSearch发出任何请求?这将显示实例是否导致峰值。如果实例没有导致尖峰,您可能需要放大ElasticSearch Clustern,而不是一个问题。所以,让我们开始吧