java.io.IOException: Map fail
問題
Application receives OutOfMemoryErrors and may crash. The following error appears in the logs:
Caused by: java.lang.OutOfMemoryError: Map failed
at sun.nio.ch.FileChannelImpl.map0(Native Method)
at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:846)
原因
The OS (Unix based) was preventing the application from using the amount of memory allocated for JAVA.
ソリューション
Increase the memory usage for the user running the application:
Use sudo
command, or switch user to root
, and edit /etc/security/limits.conf
Specify the new soft and hard limit for the application user. For example, to set both limits to 64K for user atlbitbucket
, you need to specify:
atlbitbucket soft nofile 65536
atlbitbucket hard nofile 65536
Another alternative is to allow unlimited memory usage for the user running the application with the following command. This will remove any limits to virtual memory for the application process.
ulimit -v unlimited
One of the ways to do this is to add the above line to the start-up script:
For instance in Fisheye, you would add it to $FishEye-installation-directory/bin/start.sh.