Hello, I'm suffering from similar problem with OSS cassandra version3.11.3. My cassandra cluster have been running for longer than 1 years and there was no problem until this year. The cluster is write-intensive, consists of 70 nodes, and all rows have 2 hr TTL. The only change is the read consistency from QUORUM to ONE. (I cannot revert this change because of the read latency) Below is my compaction strategy. ``` compaction = {'class': 'org.apache.cassandra.db.compaction.TimeWindowCompactionStrategy', 'compaction_window_size': '3', 'compaction_window_unit': 'MINUTES', 'enabled': 'true', 'max_threshold': '32', 'min_threshold': '4', 'tombstone_compaction_interval': '60', 'tombstone_threshold': '0.2', 'unchecked_tombstone_compaction': 'false'} ``` I've tried rolling restarting the cluster several times, but the memory usage of cassandra process always keeps going high. I also tried Native Memory Tracking, but it only measured less memory usage than the system mesaures (RSS in /proc/{cassandra-pid}/status)
Is there any way that I could figure out the cause of this problem? On 2019/01/26 20:53:26, Jeff Jirsa <jji...@gmail.com> wrote: > You’re running DSE so the OSS list may not be much help. Datastax May have > more insight > > In open source, the only things offheap that vary significantly are bloom > filters and compression offsets - both scale with disk space, and both > increase during compaction. Large STCS compaction can cause pretty meaningful > allocations for these. Also, if you have an unusually low compression chunk > size or a very low bloom filter FP ratio, those will be larger. > > > -- > Jeff Jirsa > > > > On Jan 26, 2019, at 12:11 PM, Ayub M <hia...@gmail.com> wrote: > > > > Cassandra node went down due to OOM, and checking the /var/log/message I > > see below. > > > > ``` > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: java invoked oom-killer: > > gfp_mask=0x280da, order=0, oom_score_adj=0 > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: java cpuset=/ mems_allowed=0 > > .... > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: Node 0 DMA: 1*4kB (U) 0*8kB > > 0*16kB 1*32kB (U) 2*64kB (U) 1*128kB (U) 1*256kB (U) 0*512kB 1*1024kB (U) > > 1*2048kB (M) 3*4096kB (M) = 15908kB > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: Node 0 DMA32: 1294*4kB (UM) > > 932*8kB (UEM) 897*16kB (UEM) 483*32kB (UEM) 224*64kB (UEM) 114*128kB (UEM) > > 41*256kB (UEM) 12*512kB (UEM) 7*1024kB (UE > > M) 2*2048kB (EM) 35*4096kB (UM) = 242632kB > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: Node 0 Normal: 5319*4kB (UE) > > 3233*8kB (UEM) 960*16kB (UE) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB > > 0*2048kB 0*4096kB = 62500kB > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: Node 0 hugepages_total=0 > > hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: Node 0 hugepages_total=0 > > hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: 38109 total pagecache pages > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: 0 pages in swap cache > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: Swap cache stats: add 0, delete > > 0, find 0/0 > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: Free swap = 0kB > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: Total swap = 0kB > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: 16394647 pages RAM > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: 0 pages HighMem/MovableOnly > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: 310559 pages reserved > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [ pid ] uid tgid total_vm > > rss nr_ptes swapents oom_score_adj name > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [ 2634] 0 2634 41614 > > 326 82 0 0 systemd-journal > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [ 2690] 0 2690 29793 > > 541 27 0 0 lvmetad > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [ 2710] 0 2710 11892 > > 762 25 0 -1000 systemd-udevd > > ..... > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [13774] 0 13774 459778 > > 97729 429 0 0 Scan Factory > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [14506] 0 14506 21628 > > 5340 24 0 0 macompatsvc > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [14586] 0 14586 21628 > > 5340 24 0 0 macompatsvc > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [14588] 0 14588 21628 > > 5340 24 0 0 macompatsvc > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [14589] 0 14589 21628 > > 5340 24 0 0 macompatsvc > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [14598] 0 14598 21628 > > 5340 24 0 0 macompatsvc > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [14599] 0 14599 21628 > > 5340 24 0 0 macompatsvc > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [14600] 0 14600 21628 > > 5340 24 0 0 macompatsvc > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [14601] 0 14601 21628 > > 5340 24 0 0 macompatsvc > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [19679] 0 19679 21628 > > 5340 24 0 0 macompatsvc > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [19680] 0 19680 21628 > > 5340 24 0 0 macompatsvc > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [ 9084] 1007 9084 2822449 > > 260291 810 0 0 java > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [ 8509] 1007 8509 17223585 > > 14908485 32510 0 0 java > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [21877] 0 21877 461828 > > 97716 318 0 0 ScanAction Mgr > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [21884] 0 21884 496653 > > 98605 340 0 0 OAS Manager > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [31718] 89 31718 25474 > > 486 48 0 0 pickup > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [ 4891] 1007 4891 26999 > > 191 9 0 0 iostat > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: [ 4957] 1007 4957 26999 > > 192 10 0 0 iostat > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: Out of memory: Kill process 8509 > > (java) score 928 or sacrifice child > > Jan 23 20:07:17 ip-xxx-xxx-xxx-xxx kernel: Killed process 8509 (java) > > total-vm:68894340kB, anon-rss:59496344kB, file-rss:137596kB, shmem-rss:0kB > > ``` > > > > Nothing else runs on this host except dse cassandra with search and > > monitoring agents. Max heap size is set to 31g, the cassandra java process > > seems to be using ~57gb (ram is 62gb) at the time of error. > > So I am guess the jvm started using lots of memory and triggered oom error. > > Is my understanding correct? > > That this is linux triggered jvm kill as the jvm was consuming more than > > available memory? > > > > So in this case jvm was using max of 31g and remaining 26gb its using is > > non-heap memory. Normally this process takes around 42g and the fact that > > at the time of oom moment it was consuming 57g I am suspecting the java > > process to be the culprit rather than victim. > > > > At the time of issue there was no heap dump taken, I have configured it > > now. But even if heap dump was taken would it have help figure out who is > > consuming more memory. Heapdump would only dump heap memory area, what > > should be used to dump non-heapdump? Native memory tracking is one thing I > > came across. > > Any way to have native memory dumped when oom occurs? > > Whats the best way to monitor the jvm memory to diagnose oom errors? > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org > For additional commands, e-mail: user-h...@cassandra.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org For additional commands, e-mail: user-h...@cassandra.apache.org