2013-06-27 71 views
0

我使用鐵軌 - 輪胎 - elasticsearch,一切主要工作得很好,但只是不時,我的服務器開始很慢。所以我必須重新啓動elasticsearch服務,然後一切再次正常。鐵軌 - 輪胎 - elasticsearch:需要重新啓動elasticsearch服務器

graph from newrelic

我的印象是,它之後的批量插入(約6000產品)發生。它可以鏈接?最後插入像2分鐘最大,但仍服務器後有問題

編輯: 最後它沒有鏈接到批量插入

我在日誌中僅此行

[2013-06-29 01:15:32,767][WARN ][monitor.jvm    ] [Jon Spectre] [gc][ParNew][26438][9941] duration [3.4s], collections [1]/[5.2s], total [3.4s]/[57.7s], memory [951.6mb]->[713.7mb]/[989.8mb], all_pools {[Code Cache] [10.6mb]->[10.6mb]/[48mb]}{[Par Eden Space] [241.1mb]->[31mb]/[273mb]}{[Par Survivor Space] [32.2mb]->[0b]/[34.1mb]}{[CMS Old Gen] [678.3mb]->[682.6mb]/[682.6mb]}{[CMS Perm Gen] [35mb]->[35mb]/[166mb]} 

有人不明白這一點?

回答

0

這只是在黑暗中刺入,但從您的報告來看,可能是您的java虛擬機的內存設置不正確。

ElasticSearch使用Java構建,因此可以在JVM上運行。每個JVM進程在啓動時都會分配一組定義的內存。當可用內存不足時,它會崩潰,因此必須進行垃圾回收以釋放空間。當你在內存限制上運行一個Java進程時,它會被很多GC運行佔用,並且會變得非常慢。

您可以查看java jmx管理控制檯瞭解進程正在執行的操作以及它擁有多少內存。