Я заметил, что отчеты о командах free
изменились где-то между Trusty и Xenial. Вот то, что `free -m 'показывает на одном из моих компьютеров Trusty:
$ free -m
total used free shared buffers cached
Mem: 7916 7645 271 99 455 1764
-/+ buffers/cache: 5426 2490
Swap: 24999 805 24194
Вот эквивалент для (другой) системы Xenial:
$ free -m
total used free shared buff/cache available
Mem: 3553 1192 857 16 1504 2277
Swap: 3689 0 3689
+/- Строка буферов / кеша, на которую я в основном смотрел, пропала. Как мне следует интерпретировать новые числа?
Рассмотрите демонстрационный вывод, который я получил от free
команда в моем Ubuntu 12.04
:
total used free shared buffers cached
Mem: 8074640 6187480 1887160 377056 365128 2113156
-/+ buffers/cache: 3709196 4365444
Swap: 15998972 82120 15916852
Мадам used
(kb_main_used) значение поля теперь вычисляется как это:
used = total - free - cached - buffers
Ранее, это раньше было:
used = total - free
Это изменение было представлено в следующей фиксации https://gitlab.com/procps-ng/procps/commit/6cb75efef85f735b72e6c96f197f358f511f8ed9
Промежуточное значение:
buffers_plus_cached = buffers (kb_main_buffers) + cached (kb_main_cached) = 365128 + 2113156 = 2478284
+ значение буферов/кэша/-вычисляется как это:
buffers = kb_main_used - buffers_plus_cached = 6187480 - 2478284 = 3709196
/
cache = kb_main_free + buffers_plus_cached = 1887160 + 2478284 = 4365444
Новое значение любителя/кэша, вычисляет как это:
buff/cache = kb_main_buffers+kb_main_cached = 365128 + 2113156 = 2478284
Это совпадает с buffers_plus_cached
, используемый в предыдущих версиях, различие - то, что ранее это использовалось внутренне, и теперь ее отображенный непосредственно и далее расчетная строка, -/+ buffers/cache
был удален
Для большего количества информации проверьте эти фиксации, где эти изменения были представлены: https://gitlab.com/procps-ng/procps/commit/f47001c9e91a1e9b12db4497051a212cf49a87b1 https://gitlab.com/procps-ng/procps/commit/c9908b59712d1afd6b9bf7971ba1d8900ae5adb8
С нового available
поле, для ядер Linux, более старых, чем 2.6.27, его значение совпадает с free
значение, но для более поздних версий Ядра, это несколько отличается:
Estimation of how much memory is available for starting new
applications, without swapping. Unlike the data provided by the
cache or free fields, this field takes into account page cache
and also that not all reclaimable memory slabs will be reclaimed
due to items being in use (MemAvailable in /proc/meminfo,
available on kernels 3.14, emulated on kernels 2.6.27+,
otherwise the same as free)
Любезность: http://manpages.ubuntu.com/manpages/xenial/en/man1/free.1.html
Так, определенный ответ на Ваши вопросы был бы:
free
включает буферы/кэш в вычисления Mem used/free
значения.+/- buffers/cache
значение, которое раньше было там в предыдущих версиях free
теперь доступно как: used
= Текущий Mem used
столбец (Его вычисление детализировано выше),free
доступно как более точное значение в текущем новом столбце available
N.B: kb_*
имена переменной являются внутренними именами, используемыми в исходном коде.
lightdm
вместоgdm3
, видеть askubuntu.com/a/65867/422690 – crypdick 4 July 2018 в 12:06