uname -a
Linux Laptop 2.6.24-19-generic #1 SMP Wed Aug 20 22:56:21 UTC 2008 i686 GNU/Linux
java -version
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Server VM (build 10.0-b22, mixed mode)
sysctl vm.overcommit_memory=2
(if you're unlucky fork will fail right from there on! so don't try this when you got importand files open)
then start java (or anything else..)
java
Error occurred during initialization of VM
Could not reserve enough space for object heap
#
# An unexpected error has been detected by Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0xb7dee4da, pid=7477, tid=3084225424
#
# Java VM: Java HotSpot(TM) Server VM (10.0-b22 mixed mode linux-x86)
# Problematic frame:
# C [libc.so.6+0x6f4da] cfree+0x7a
#
# An error report file with more information is saved as:
# /home/john/hs_err_pid7477.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
Aborted
This is just a java example. Other applications segfault. The problem itself is the kernel memory overcommitment and the resulting oom. To disable it or to trying out a workaround.. just makes things worse. Maybe the vm.overcommit_memory was a bad advice i read somewhere.
There is a lot of memory free. So this error is just.. i see no reason for this. Is the kernel memory management so dependent on the bad behavior of overcommiting memory?
uname -a
Linux Laptop 2.6.24-19-generic #1 SMP Wed Aug 20 22:56:21 UTC 2008 i686 GNU/Linux
java -version
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Server VM (build 10.0-b22, mixed mode)
sysctl vm.overcommit_ memory= 2
(if you're unlucky fork will fail right from there on! so don't try this when you got importand files open)
then start java (or anything else..)
java hs_err_ pid7477. log java.sun. com/webapps/ bugreport/ crash.jsp
Error occurred during initialization of VM
Could not reserve enough space for object heap
#
# An unexpected error has been detected by Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0xb7dee4da, pid=7477, tid=3084225424
#
# Java VM: Java HotSpot(TM) Server VM (10.0-b22 mixed mode linux-x86)
# Problematic frame:
# C [libc.so.6+0x6f4da] cfree+0x7a
#
# An error report file with more information is saved as:
# /home/john/
#
# If you would like to submit a bug report, please visit:
# http://
#
Aborted
This is just a java example. Other applications segfault. The problem itself is the kernel memory overcommitment and the resulting oom. To disable it or to trying out a workaround.. just makes things worse. Maybe the vm.overcommit_ memory was a bad advice i read somewhere.
There is a lot of memory free. So this error is just.. i see no reason for this. Is the kernel memory management so dependent on the bad behavior of overcommiting memory?
To return to the default:
sysctl vm.overcommit_ memory= 0
and java works again.