Elastic search on Windows - Error - Native memory allocation (mmap) failed - elasticsearch

We are running Elastic Search 7.13.2 on a windows server. This was running but suddenly the the ES.bat file is returning an error as below. I have verified that there is no Memory overload in the server. The system has 16 GB RAM, which is 50 percent or less occupied. The free Disk space was > 25GB. Any idea why this error comes up?
I tried to reduce the Heap memory to 4 GB, i created a file named jvm.options inside the jvm.options.d folder and added the below lines, but this doesnt seem to take effect. Any clue on whats going on?
jvm.options file content as below
-Xmx4g
-Xms4g

Related

C drive free space drops very fast with no obvious reason

My operating system is Windows 10 and I have a problem with the free space dropping for no reason.
A couple of days ago I ran a python code in jupyter notebook, and in the middle of the execution my C drive ran out of space (there was ~50 GB free space), and since then the C drive free space changes significantly (even shrinks to few MBs) without no obvious reason.
Since then I found some huge files in a pycharm temporary directory, and I freed 47GB of space, but after a short time, it runs out of space again ( I am not even running any code anymore)!
When I restart, the free space gradually starts to increase, and again after a some time, it shrinks to a few GB or even MBs.
PS. I installed WinDirStat to show me the stat of the disk space, and it shows 93 GB under this path: C:\ProgramData\Microsoft\Search\Data\Applications\Windows\Files\Windows.edb, but I can't open Data folder in the file explorer, and it shows 0 bytes when I open the folder properties.
Windows.edb is an index database of the Windows Search function. It provides data to speed up searching in the file system due to indexing of files. There are several guides in the internet about reducing it's size. The radical way would be deleting it but I do not recomment this. You had to turn Windows Search off to do so:
net stop "Windows Search"
del %PROGRAMDATA%\Microsoft\Search\Data\Applications\Windows\Windows.edb
net start "Windows Search"
You wrote in your question that the file suddenly grew while your program was running. Maybe files will be created there. These files should be set to not be indexed. You should do that for the folder where the files are created. If this all fails, you could finally turn indexing off which slows down Windows Search.

SonarQube: Unrecoverable indexation failures

I'm using SonarQube as a static code analyzer tool and it was working fine. Suddenly it started giving this error - Unrecoverable indexation failures.
I have checked the Sonar log and from es.log I can see this error -
2020.05.13 12:04:25 WARN es[][o.e.c.r.a.DiskThresholdMonitor] high disk watermark [90%] exceeded on
[tsxLSmcQQn2gUd1KfwDGmg][sonarqube][C:\sonarqube-7.8\data\es6\nodes\0]
free: 10.2gb[5.1%], shards will be relocated away from this node
It seems some space issue but since I have 10 GB space left then why it is causing an issue.
How this issue can be fixed without increasing the Hard disk space.
I also meet this error, and my disk has 10GB space left.
then I restart sonarqube, question has solved.
but es.log still has WARN log.
So I think increasing disk space is the only way...
or you can use Treesize.exe to find and delete some unusing file.

Windirstat/TreeSizeFree showing incorrect disk space compared to Windows

Windows says the disk is at 160 GB used.
WinDirStat and TreeSizeFree say 90 GB.
I have no idea where the discrepancy is from.
I've checked this thread: https://superuser.com/questions/917110/why-does-windirstat-report-less-space-used-than-windows-does?noredirect=1&lq=1&newreg=459190bfe2a3407f8010b3e5cc070fd4.
Running as admin doesn't change anything. Also I've checked my recovery/restore options, and I've only allotted 18 GB, of which only 5.5% is being used, and windirstat/treesizefree take this into account.
I ran space sniffer as admin, and it found the hidden folder windirstat could not.
40 GB of log files in c:\windows\system32\winevt\logs. Maybe I will just check archived event logs folder next time. Its huge, and its hidden.

Setting ES_HEAP_SIZE in windows

I'm using Windows 2012 R2 machine.
I have set my Heap Size in Environment variable as follows
ES_HEAP_SIZE
4g
After setting the heap size, i have installed Elasticsearch as windows service using command
service.bat install
When i started the service, Elasticsearch services has taken 4GB properly (Checked in Taskmanger.exe)
After some time, the memory used by elasticsearch service is came down to 1 GB.
Is this expected?
This is apparently an issue of ES under Windows.
Quoting from the link:
The 4gb committed heap size that you see in the node stats API is the amount of virtual memory that's reserved by setting ES_HEAP_SIZE (Xms), which is expected, even with bootstrap.mlockall disabled.
By enabling bootstrap.mlockall, we expect the call to VirtualLock() to lock the working set into physical memory, which happens initially (this is the memory you see in task manager), but eventually drops off.
I don't have a solid explanation for this yet, but I have observed that the more memory pressure the system is under (i.e. less free space available), the quicker the "drop off" occurs. It's as though Windows doesn't respect the fact that the pages in the working set are locked, and will release them when resources become low.
There's a lot of info out there that seems to indicate that VirtualLock doesn't guarantee pages won't be swapped, only reduces the odds, however the documentation says nothing about this.
1Gb is default heap size for Elasticsearch. So when you set the env.variable, you set maximum amount of memory it's allowed to use. If you don't issue any queries, the memory usage may drop to the default

Error occurred during initialization of VM Could not reserve enough space for object heap errorlevel=1

On launching Jmeter, getting below error:
Error occurred during initialization of VM Could not reserve enough space for object heap errorlevel=1.
Please help me to resolve this. I am using laptop with 4GB RAM, 64-bit OS, intel i-5 core.
There could be a lot of processes running in your laptop. That is why you get this error.
Stop all the unwanted programs.
Check the HEAP size setting in JMeter.bat file. Reduce it (128, 512, 1024..)
You need to do the following.
Go to JMETER_HOME/bin folder
Open "jmeter.bat" (assuming you are using windows)
Check "set HEAP=-Xms512m -Xmx512m" (check the heap size- change accordingly)
Update, Close and Relaunch JMeter
You might need more heap for simulating more load.

Resources