| @@ -1213,23 +1213,25 @@ PAGE_SIZE multiple when read back. · 1212 unmodified lines |
| 1213 | A read-write single value file which exists on non-root | 1213 | A read-write single value file which exists on non-root |
| 1214 | cgroups. The default is "max". | 1214 | cgroups. The default is "max". |
| 1215 | | 1215 | |
| 1216 | Memory usage throttle limit. This is the main mechanism to | 1216 | Memory usage throttle limit. If a cgroup's usage goes |
| 1217 | control memory usage of a cgroup. If a cgroup's usage goes | | |
| 1218 | over the high boundary, the processes of the cgroup are | 1217 | over the high boundary, the processes of the cgroup are |
| 1219 | throttled and put under heavy reclaim pressure. | 1218 | throttled and put under heavy reclaim pressure. |
| 1220 | | 1219 | |
| 1221 | Going over the high limit never invokes the OOM killer and | 1220 | Going over the high limit never invokes the OOM killer and |
| 1222 | under extreme conditions the limit may be breached. | 1221 | under extreme conditions the limit may be breached. The high |
| | 1222 | limit should be used in scenarios where an external process |
| | 1223 | monitors the limited cgroup to alleviate heavy reclaim |
| | 1224 | pressure. |
| 1223 | | 1225 | |
| 1224 | memory.max | 1226 | memory.max |
| 1225 | A read-write single value file which exists on non-root | 1227 | A read-write single value file which exists on non-root |
| 1226 | cgroups. The default is "max". | 1228 | cgroups. The default is "max". |
| 1227 | | 1229 | |
| 1228 | Memory usage hard limit. This is the final protection | 1230 | Memory usage hard limit. This is the main mechanism to limit |
| 1229 | mechanism. If a cgroup's memory usage reaches this limit and | 1231 | memory usage of a cgroup. If a cgroup's memory usage reaches |
| 1230 | can't be reduced, the OOM killer is invoked in the cgroup. | 1232 | this limit and can't be reduced, the OOM killer is invoked in |
| 1231 | Under certain circumstances, the usage may go over the limit | 1233 | the cgroup. Under certain circumstances, the usage may go |
| 1232 | temporarily. | 1234 | over the limit temporarily. |
| 1233 | | 1235 | |
| 1234 | In default configuration regular 0-order allocations always | 1236 | In default configuration regular 0-order allocations always |
| 1235 | succeed unless OOM killer chooses current task as a victim. | 1237 | succeed unless OOM killer chooses current task as a victim. |
| @@ -1238,10 +1240,6 @@ PAGE_SIZE multiple when read back. · 2 unmodified lines |
| 1238 | Caller could retry them differently, return into userspace | 1240 | Caller could retry them differently, return into userspace |
| 1239 | as -ENOMEM or silently ignore in cases like disk readahead. | 1241 | as -ENOMEM or silently ignore in cases like disk readahead. |
| 1240 | | 1242 | |
| 1241 | This is the ultimate protection mechanism. As long as the | | |
| 1242 | high limit is used and monitored properly, this limit's | | |
| 1243 | utility is limited to providing the final safety net. | | |
| 1244 | | | |
| 1245 | memory.reclaim | 1243 | memory.reclaim |
| 1246 | A write-only nested-keyed file which exists for all cgroups. | 1244 | A write-only nested-keyed file which exists for all cgroups. |
| 1247 | | 1245 | |