目录

Elasticsearch磁盘空间爆满及-java_pid.hprof-处理

Elasticsearch磁盘空间爆满及 java_pid*.hprof 处理

一、问题描述

今天Elasticsearch

服务突然出现问题,发现服务器的磁盘空间满了。同时在es的data目录下发现了大量的java_pid*.hprof 文件占用很大的磁盘空间。

二、问题排查

在服务器上检查发现elasticsearch/data目录下产生类似如下文件:

[es@elastic-master elasticsearch]$ cd data
[es@elastic-master data]$ ls -lh
total 318G
-rw-------. 1 es es 3.9G Nov 10 20:06 java_pid10017.hprof
-rw-------. 1 es es 4.0G Aug 17  2022 java_pid12411.hprof
-rw-------. 1 es es 1.9G Feb 15 13:45 java_pid12598.hprof
-rw-------. 1 es es 3.9G Aug 30 17:04 java_pid12607.hprof
-rw-------. 1 es es 4.0G Dec 19 22:00 java_pid1270.hprof
-rw-------. 1 es es 3.9G Dec 15  2021 java_pid12811.hprof
-rw-------. 1 es es 5.1M Feb 17 15:49 java_pid13116.hprof
-rw-------. 1 es es 3.9G Oct  9  2021 java_pid1347.hprof
-rw-------. 1 es es 3.9G Sep 30 16:00 java_pid13911.hprof
-rw-------. 1 es es 3.9G Nov 24 10:21 java_pid14061.hprof
-rw-------. 1 es es 4.0G Jun 30  2022 java_pid14193.hprof
-rw-------. 1 es es 3.9G Apr  1  2022 java_pid14643.hprof
-rw-------. 1 es es 3.9G Dec  9  2021 java_pid15058.hprof
-rw-------. 1 es es 4.0G Jan 12  2022 java_pid15155.hprof
-rw-------. 1 es es 4.0G Aug 19  2022 java_pid15331.hprof
-rw-------. 1 es es 3.9G Dec 23 15:14 java_pid15822.hprof
-rw-------. 1 es es  54M Feb 21 18:57 java_pid1615.hprof
-rw-------. 1 es es 2.1G Sep  5 13:41 java_pid16539.hprof
-rw-------. 1 es es 3.9G Jul 22  2022 java_pid16754.hprof
-rw-------. 1 es es 8.1M Feb 20 10:10 java_pid17264.hprof
-rw-------. 1 es es 4.0G Jun 23  2022 java_pid17592.hprof
-rw-------. 1 es es 3.9G Nov 16 15:27 java_pid18394.hprof
-rw-------. 1 es es 3.9G Dec  7 10:46 java_pid18482.hprof
-rw-------. 1 es es 4.0G Dec 31  2021 java_pid18666.hprof
-rw-------. 1 es es 4.0G Feb 15 10:05 java_pid1868.hprof
-rw-------. 1 es es 3.9G Jul  5  2022 java_pid18761.hprof
-rw-------. 1 es es 3.9G Feb  4 15:35 java_pid1888.hprof
-rw-------. 1 es es 3.9G Jan 30 15:22 java_pid19434.hprof
-rw-------. 1 es es 3.9G Feb  6 10:03 java_pid19650.hprof
-rw-------. 1 es es 4.0G Dec 15 17:15 java_pid2013.hprof
-rw-------. 1 es es 3.9G Jan 24  2022 java_pid20173.hprof
-rw-------. 1 es es 4.0G Nov 29 22:12 java_pid20249.hprof
-rw-------. 1 es es 4.0G Dec 13  2021 java_pid20582.hprof
-rw-------. 1 es es 3.9G Oct 17 14:49 java_pid20638.hprof
-rw-------. 1 es es 3.9G Jul  6  2022 java_pid21832.hprof
-rw-------. 1 es es 3.9G Aug 19  2022 java_pid22318.hprof
-rw-------. 1 es es 4.0G Jan 20 15:02 java_pid2324.hprof
-rw-------. 1 es es 3.9G Aug  1  2022 java_pid23394.hprof
-rw-------. 1 es es 3.9G Aug 20  2022 java_pid23524.hprof
-rw-------. 1 es es 3.9G Oct 14 15:23 java_pid24154.hprof
-rw-------. 1 es es 4.0G Jun 10  2022 java_pid24265.hprof
-rw-------. 1 es es 3.9G Aug 15  2022 java_pid24483.hprof
-rw-------. 1 es es 3.9G Feb  7 10:23 java_pid24621.hprof
-rw-------. 1 es es 3.9G Mar 29  2022 java_pid24899.hprof
-rw-------. 1 es es 4.0G Jul 12  2022 java_pid24945.hprof
-rw-------. 1 es es 3.9G Oct  8 13:59 java_pid25223.hprof
-rw-------. 1 es es 4.0G Nov 22 19:17 java_pid25385.hprof
-rw-------. 1 es es 4.0G Jul  5  2022 java_pid25422.hprof
-rw-------. 1 es es 3.9G Apr 29  2022 java_pid25820.hprof
-rw-------. 1 es es 3.9G Oct 14 18:44 java_pid26020.hprof
-rw-------. 1 es es 3.7G Apr 20  2022 java_pid26216.hprof
-rw-------. 1 es es 4.0G Jan 20  2022 java_pid26618.hprof
-rw-------. 1 es es 4.0G Feb  7 18:22 java_pid27124.hprof
-rw-------. 1 es es 3.9G Aug 25  2022 java_pid27695.hprof
-rw-------. 1 es es 3.9G Jan 18 11:11 java_pid27752.hprof
-rw-------. 1 es es 3.8G Jan 13  2022 java_pid27831.hprof
-rw-------. 1 es es 3.9G Feb  9 11:59 java_pid28103.hprof
-rw-------. 1 es es 3.9G Jan 19 18:16 java_pid28145.hprof
-rw-------. 1 es es 3.9G Sep  6 15:34 java_pid28562.hprof
-rw-------. 1 es es 3.8G Jun  8  2022 java_pid29431.hprof
-rw-------. 1 es es 3.9G Nov  3 11:33 java_pid29869.hprof
-rw-------. 1 es es 4.0G Jan  2 13:58 java_pid30481.hprof
-rw-------. 1 es es 4.0G Dec 17  2021 java_pid30717.hprof
-rw-------. 1 es es 3.9G Dec  2  2021 java_pid3095.hprof
-rw-------. 1 es es 3.8G Jun  9  2022 java_pid31005.hprof
-rw-------. 1 es es 3.9G Aug 31 17:41 java_pid31053.hprof
-rw-------. 1 es es 3.9G Oct 21 12:39 java_pid31236.hprof
-rw-------. 1 es es 3.8G Dec 14  2021 java_pid31468.hprof
-rw-------. 1 es es 3.9G Feb 10 09:54 java_pid31967.hprof
-rw-------. 1 es es 4.0G Jan  4 14:34 java_pid32297.hprof
-rw-------. 1 es es 3.9G Feb  3  2022 java_pid32318.hprof
-rw-------. 1 es es 3.9G Feb 14  2022 java_pid32713.hprof
-rw-------. 1 es es 3.8G Jul 13  2022 java_pid3394.hprof
-rw-------. 1 es es 4.0G Nov 14 22:17 java_pid4066.hprof
-rw-------. 1 es es 3.9G Sep  7 11:16 java_pid5163.hprof
-rw-------. 1 es es 3.9G Jan 25 14:42 java_pid5494.hprof
-rw-------. 1 es es 3.8G Oct 31 17:14 java_pid5735.hprof
-rw-------. 1 es es 4.0G Sep  7 14:18 java_pid6559.hprof
-rw-------. 1 es es 3.9G Oct  9 23:55 java_pid6784.hprof
-rw-------. 1 es es 3.9G Aug 16  2022 java_pid6824.hprof
-rw-------. 1 es es 3.8G Jun 20  2022 java_pid7281.hprof
-rw-------. 1 es es 4.0G Apr  5  2022 java_pid7315.hprof
-rw-------. 1 es es 3.9G Dec 30  2021 java_pid7649.hprof
-rw-------. 1 es es 4.0G Jan 18 10:45 java_pid7655.hprof
-rw-------. 1 es es 3.9G Dec  2 16:19 java_pid8121.hprof
-rw-------. 1 es es 3.9G Nov  3 15:35 java_pid8212.hprof
-rw-------. 1 es es  11M Jun 29  2022 java_pid8948.hprof
drwxrwxr--. 3 es es   15 Sep 15  2021 nodes
[es@elastic-master data]$ 

查阅资料发现产生类似如下文件的原因是:内存溢出的典型特征。hprof文件是java进程的内存镜像文件,里面包含了内存堆泄露的详细使用信息。该文件是日志文件,是可以删除的。

三、解决问题

将hprof文件删除文件然后重启该服务,Elasticsearch随即恢复正常。


# 查询elastic进程

ps aux |grep elastic

# 强制结束

kill -9 6059

# 删掉溢出错误文件

rm -rf java_pid*

# 启动elastic服务

/home/elasticsearch/bin/elasticsearch -d

到此结束!