Usługa Elasticsearch działa na moim słabo skonfigurowanym systemie z pamięcią 4G i procesorami 4-rdzeniowymi. Mam problem z używaniem wysokiego cpu w ES. Nawet po zamknięciu analizatora (-ów), zmniejsz rozmiar wątków itp.Wątki funkcji elastycznego wyszukiwania zachowują się różnie od siebie
Podczas sprawdzania sytuacji dostałem ślad stosu dla Elasticsearch i widzę setki wątków, jest on określony przez config NP, ale tylko niektóre z nich działają i tylko jeden wątek ma duży procent czasu procesora.
Oto ślad stosu:
top - 09:51:44 up 1 day, 1:46, 2 users, load average: 4.94, 5.35, 5.29
Tasks: 684 total, 2 running, 682 sleeping, 0 stopped, 0 zombie
Cpu(s): 7.2%us, 1.1%sy, 0.8%ni, 83.7%id, 6.7%wa, 0.1%hi, 0.4%si, 0.0%st
Mem: 4043340k total, 3466748k used, 576592k free, 30272k buffers
Swap: 4192960k total, 410704k used, 3782256k free, 465868k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
25134 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.00 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25136 root 20 0 1086m 978m 14m S 0.0 24.8 0:03.34 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25137 root 20 0 1086m 978m 14m S 0.0 24.8 6:43.82 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25138 root 20 0 1086m 978m 14m S 0.0 24.8 6:43.17 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25139 root 20 0 1086m 978m 14m S 0.0 24.8 6:43.05 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25140 root 20 0 1086m 978m 14m S 0.0 24.8 6:40.66 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25141 root 20 0 1086m 978m 14m S 15.3 24.8 204:53.20 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25143 root 20 0 1086m 978m 14m S 0.0 24.8 10:47.46 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25144 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.37 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25145 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.04 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25146 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.20 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25147 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.00 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25148 root 20 0 1086m 978m 14m S 0.0 24.8 0:19.46 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25149 root 20 0 1086m 978m 14m S 0.0 24.8 0:24.54 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25150 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.00 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25151 root 20 0 1086m 978m 14m S 0.0 24.8 0:16.63 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25156 root 20 0 1086m 978m 14m S 0.0 24.8 0:03.07 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25159 root 20 0 1086m 978m 14m S 0.3 24.8 3:46.78 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25201 root 20 0 1086m 978m 14m S 0.0 24.8 0:01.07 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25202 root 20 0 1086m 978m 14m S 0.0 24.8 0:01.16 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25205 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.00 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25206 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.54 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25207 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.54 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25208 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.52 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25209 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.56 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25210 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.54 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25211 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.55 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25212 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.53 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25213 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.55 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25214 root 20 0 1086m 978m 14m S 0.0 24.8 0:02.74 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25215 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.55 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25216 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.54 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25217 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.55 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25218 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.54 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25219 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.55 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25220 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.54 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25221 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.52 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25222 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.55 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25223 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.00 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25233 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.00 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25241 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.00 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25245 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.00 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25249 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.00 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25252 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.00 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25259 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.00 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25264 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.24 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25266 root 20 0 1086m 978m 14m S 0.7 24.8 0:40.80 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25269 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.44 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25276 root 20 0 1086m 978m 14m S 0.0 24.8 0:37.28 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25278 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.80 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25280 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.04 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25318 root 20 0 1086m 978m 14m S 0.0 24.8 0:15.87 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25329 root 20 0 1086m 978m 14m S 0.0 24.8 0:09.73 /usr/bin/java -Xms808m -Xmx808m -Xss256k
25333 root 20 0 1086m 978m 14m S 0.0 24.8 0:00.01 /usr/bin/java -Xms808m -Xmx808m -Xss256k
Jak to wydawać na bloku kodu, wątek o identyfikatorze ma o wiele więcej niż inne, a niektóre z nich nie zostały wykorzystane co najmniej raz.
Dlaczego to się pojawia i co należy zrobić, aby zapobiec nadmiernemu obciążeniu procesora.