@@ -188,3 +188,39 @@ POST _ml/set_upgrade_mode?enabled=false&timeout=10m
188
188
DELETE temp_ml_config
189
189
--------------------------------------------------
190
190
// TEST[skip:TBD]
191
+
192
+ [discrete]
193
+ [[ml-debian8-memory]]
194
+ == Suboptimal job assignment on Debian 8
195
+
196
+ Where possible, {ml} jobs are assigned to nodes based on the memory requirement
197
+ of the job and the memory available on the node. However, in certain cases, the
198
+ amount of memory on a node cannot be accurately determined and jobs are assigned
199
+ by balancing the number of jobs per {ml} node. It may lead to a situation where
200
+ all the jobs with high memory requirements are on one node and the less
201
+ memory-intensive jobs on another.
202
+
203
+ One particular case of this problem is that {es} fails to determine the amount
204
+ of memory on a machine that is running Debian 8 with the default Cgroups setup
205
+ and certain updates of Java versions earlier than Java 15. For example, Java
206
+ 8u271 is known to be affected while Java 8u272 is not. Java 15 was fixed from
207
+ its initial release.
208
+
209
+ If you are running {es} on Debian 8 with an old version of Java and have not
210
+ already modified the Cgroups setup then it is recommended to do one of the
211
+ following:
212
+
213
+ * Upgrade Java to version 15.
214
+ * Upgrade to the latest Java update for the version of Java you are running.
215
+ * Enable the "memory" Cgroup by editing `/etc/default/grub` and adding:
216
+ +
217
+ --
218
+ [source,sh]
219
+ --------------------------------------------------
220
+ GRUB_CMDLINE_LINUX_DEFAULT="quiet cgroup_enable=memory swapaccount=1"
221
+ --------------------------------------------------
222
+
223
+ Update your GRUB configuration by running `sudo update-grub`, then reboot the
224
+ machine.
225
+
226
+ --
0 commit comments