I did a graceful system reboot and the issue got fixed.
I know that hsperfdata files are generated by Java but are they kinda critical for ELK stack operations? Why would it cause /tmp to go into overflow state in df command output?
Would you be able to find any answers on this? I am also facing the same issue. Because of this all the queries on elasticsearch are failing. I had to restart the elasticsearch service to fix this.
I want to understand, if I can set a cronjob to clean this file after couple of days, would that have any ill impact on cluster?
I am confused, how can df show /tmp but is not in individual partition? Are you sure you did not add /tmp as a ramdisk? If so, 1 megabyte is really small. I just checked on an old Ubuntu LTS installation and that one looks fine.
If you check the /tmp contents, then a file size of 32kb should not really be a problem compared to the initramfs size of the other file, buts lets leave it as is.
The hsperfdata file is needed for tools like jstat to do some analysis and regurlarly updated by the JVM. A couple of workarounds:
Change the java.io.tmpdir path via a system property and point it to another directory without space issues
Disable gathering those stats via a JVM option called -XX:-UsePerfData
There is another option mentioned in this lengthy but awesome blog post, how this feature turned out to be a performance issue, you should take the time to read it, it is really interesting
Have a bigger /tmp dir, as there might be a fair share of other applications trying to write into it and fail, which might lead to processes exiting, check your logfiles
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.