Sharepoint - Search processes consuming a lot of memory
There are some information about this behaviour. See here and here.
You can change e.G. the Performance Levels for your crawls.
Powershell Cmdlet:
Get-SPEnterpriseSearchService | Set-SPEnterpriseSearchService –PerformanceLevel "PartlyReduced"
For the setting to take effect do an IISReset
or restart the Search Service in Central Admin
Performance Level Explained:
Reduced:
Total number of threads = number of processors, Max Threads/host = number of processors
PartlyReduced:
Total number of threads = 4 times the number of processors , Max Threads/host = 16 times the number of processors
Maximum:
Total number of threads = 4 times the number of processors , Max Threads/host = 16 times the number of processors (threads are created at HIGH priority)
Change noderunner.exe:
You can also edit the noderunner.exe
config file located at:
C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0\noderunner.exe
And set a value for <nodeRunnerSettings memoryLimitMegabytes="0" />
The zero means "unlimited" here. The only thing to do is to set to the amount of RAM you'd like to set as a limit for each noderunner.exe
processes.
NOTE: Be aware, these settings might make your crawling processes slower.
Hope this will help a little.
8 GB is way below the minimum for a standalone SharePoint server in production.
See this Technet Article.
After you "solve" this issue you will face many more until you add RAM and resources.