Cassandra节点由于OOM而关闭,并检查我在下面看到的 /var/log/message。
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
除了带有搜索和监视代理的dse cassandra之外,此主机上没有其他运行程序。最大堆大小设置为31g,出错时cassandra java进程似乎使用了约57gb(ram为62gb)。所以我猜想jvm开始使用大量内存并触发oom错误。我的理解正确吗?这是linux触发的jvm杀死,因为jvm消耗的内存超过了可用内存?
所以在这种情况下,jvm最大使用31g,剩下26gb它使用的是非堆内存。通常这个过程需要大约42g,而且在oom时刻它消耗57g的事实我怀疑java进程是罪魁祸首而不是受害者。
在问题出现时,没有进行堆转储,我现在已经对其进行了配置。但即使采取堆转储,也有助于确定谁消耗了更多内存。Heapdump只会转储堆内存区域,应该使用什么来转储非Heapdump?本机内存跟踪是我遇到的一件事。当oom发生时,有没有办法转储本机内存?监视jvm内存以诊断oom错误的最佳方法是什么?
这可能没有帮助。。
您可能无法获得heapDum,因为oom-杀手是内核特性。Jvm没有机会编写heapDum。并且SIGKILL不能被捕获,也不会生成核心转储。(unix默认操作)
http://programmergamer.blogspot.com/2013/05/clarification-on-sigint-sigterm-sigkill.html
WARN[scheduled tasks:1]2013-11-04 22:51:06,619 GCInspector.java(第142行)堆已满0.892615008651467。您可能需要减小内存表和/或缓存的大小。Cassandra现在将刷新两个最大的memtables来释放内存。如果不希望cassandra自动执行此操作,请在cassandra.yaml中调整flush _ largest
我使用的是Cassnadra 2.1.13单节点集群和数据库运行良好,没有任何问题。 在单个节点集群中,出现这些异常的原因是什么,特别是同步失败,有什么提示或指针可以找到这个问题的根本原因吗? 错误[MemtableFlushWriter:21]StorageService.java:453-停止gossiper警告[MemtableFlushWriter:21]StorageService.ja
我正在尝试安装Vercel软件包: 它声称我的节点版本不高于v10,但当我执行以下操作时,它会显示: 和npm: 那么谁在撒谎呢?;)有什么问题?
我一直试图在我的本地机器上构建一个nodejs项目,当我从终端构建它时,它会抛出一串文本,其中的最后一点是下面的错误消息: 如果你能提供一些见解,我将非常感激!
我在express+Socket.io中使用了以下代码 我使用了以下代码: var express=require('express.io'); var app=require('express.io')(); var server=require('http').server(app); var io=require('socket.io')(server); 有没有人知道如何解决这个错误?
Python 3.5。2. Ubuntu 16.04 LTS 尝试使用pip3安装某些软件包时,无论参数如何,它都会返回以下结果: 我试图通过以下方式重新安装python3 pip来修复它: 但那没有帮助。 我发现它与我安装的软件包有关,这些软件包是用