|
1 |
| -<!-- $PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.392 2007/12/17 14:00:52 momjian Exp $ --> |
| 1 | +<!-- $PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.393 2007/12/22 05:13:03 momjian Exp $ --> |
2 | 2 |
|
3 | 3 | <chapter Id="runtime">
|
4 | 4 | <title>Operating System Environment</title>
|
@@ -1256,14 +1256,11 @@ Out of Memory: Killed process 12345 (postgres).
|
1256 | 1256 | <para>
|
1257 | 1257 | On Linux 2.6 and later, an additional measure is to modify the
|
1258 | 1258 | kernel's behavior so that it will not <quote>overcommit</> memory.
|
1259 |
| - Although this setting will not prevent the OOM killer from |
1260 |
| - being invoked altogether, it will lower the chances significantly and |
1261 |
| - will therefore lead to more robust system behavior. (It might also |
1262 |
| - cause <function>fork()</> to fail when the machine appears to have |
1263 |
| - available memory but it is actually reserved |
1264 |
| - to other applications with careless memory allocation.) This |
1265 |
| - is done by selecting strict overcommit mode via |
1266 |
| - <command>sysctl</command>: |
| 1259 | + Although this setting will not prevent the <ulink |
| 1260 | + url="http://lwn.net/Articles/104179/">OOM killer</> from being invoked |
| 1261 | + altogether, it will lower the chances significantly and will therefore |
| 1262 | + lead to more robust system behavior. This is done by selecting strict |
| 1263 | + overcommit mode via <command>sysctl</command>: |
1267 | 1264 | <programlisting>
|
1268 | 1265 | sysctl -w vm.overcommit_memory=2
|
1269 | 1266 | </programlisting>
|
|