Как оценить, сколько ramfs-пространства можно использовать? - PullRequest
0 голосов
/ 29 февраля 2020

В данной системе Linux, как я могу узнать, сколько места я могу безопасно использовать для монтирования ramfs?

До сих пор я рассчитывал следующим образом:

[sum of "du" of all ramfs mounts] + [/proc/meminfo : MemFree] = total usable space

Но затем я написал программу, которая управляет моими ramfs-файлами и поддерживает использование ниже 75%. Так, например, как только файлы ramfs занимают более 85%, они перемещаются достаточно, чтобы опуститься ниже 75% используемого пространства.

Проблема в том, что в долгосрочной перспективе полезное пространство, кажется, падает почти до нуля, потому что оно выглядит так:

  • В начале есть много MemFree, поэтому я помещаю много файлов до 75%.
  • Система кэширует все больше и больше вещей, так что MemFree удаляет у моей программы создается впечатление, что в конце концов ramfs не так много общего доступного пространства, поэтому эти же файлы теперь занимают 85% используемого пространства.
  • Программа перемещает их, так что уменьшается до 75% использование.
  • И он продолжает идти тем же путем, пока на самом деле для ramfs мало что считается «пригодным для использования».

Причина, по-моему, состоит в том, что система будет кешировать данные (возможно, в основном на дисковые файлы), насколько это возможно, до тех пор, пока не будет исчерпано памяти, и даже если на самом деле не нужно так много кешировать.

Так что проблема в том, что я разрешаю системе чтобы CAC он больше, используя только 75% доступной памяти. Да, но было бы опасно использовать все это.

Мысли? Как мы можем оценить максимально допустимые значения ramfs в любое время?

...