Нет использования 100% памяти

У меня 4 гигабайта RAM, а System Monitor - 3,8 гигабайта. Я думаю, что 200 MiB для GPU. Но я никогда не видел использования памяти более чем на 3,0 ГБ. Если использование памяти близка к 3 GiB, она использует Swap, и когда она достигает 3 GiB, зависает компьютер (я использую Idea IDE).

Я отключил vm.swappiness (с swapoff -a). Не помогло. Затем попытался swappiness = 0, swappiness = 1, swappiness = 20.

Когда я добавил дополнительные 4 гигабайта, я увидел использование памяти 5 ГБ. Теперь у меня всего 4 гигабайта.

Я использую Ubuntu 14.04. Почему System Monitor не показывает 3,7 или 3,8 ГБ памяти?

1
задан 21 October 2014 в 11:52

2 ответа

Этот инструмент не включает дисковый кеш в том, что он сообщает как «свободный». Ваша система меняет местами, чтобы поддерживать кеш с разумным размером.

Для получения дополнительной информации см. Мой ответ на этот вопрос. Вот выдержка:

Каждое приложение может использовать часть вашей памяти. Linux использует все остальную незанятую память (за исключением последних нескольких мегабайт) как «кеш». Это включает кеш страниц, тайники inode и т. Д. Это хорошо - это помогает ускорить работу. Как запись на диск, так и чтение с диска могут быть значительно ускорены кешем. В идеале у вас достаточно памяти для всех ваших приложений, и у вас все еще осталось несколько сотен Mb для кеша. В этой ситуации, пока ваши приложения не увеличивают использование своей памяти, и система не оказывает чрезмерного давления на кеш, нет необходимости в обмене. Когда приложения требуют больше оперативной памяти, он просто переходит в пространство, которое было использовано кешем, и уменьшало кеш. Децентрализация кэша дешева и достаточно проста, что просто делается в режиме реального времени - все, что находится в кеше, - это либо просто вторая копия того, что уже есть на диске, поэтому ее можно просто освободить мгновенно, или это то, в любом случае, нужно было сбросить на диск в течение следующих нескольких секунд, таким образом, при перераспределении кеша к приложениям происходит нулевая производительность. Итак, когда кто-то ссылается на «свободную» оперативную память, это может включать или не включать кеш, поскольку кеш будет занимать только «свободную» ОЗУ. Это не та ситуация, которая характерна для Linux - все современные операционные системы работают таким образом. Различные операционные системы могут просто сообщать о бесплатной ОЗУ по-разному: некоторые из них включают кеш как часть того, что они считают «свободным», а некоторые - нет. Когда вы говорите о бесплатной ОЗУ, гораздо более важно включать кеш, поскольку он практически свободен - он доступен, если любое приложение запросит его. В Linux команда free сообщает об этом в обоих направлениях: первая строка включает кеш в используемом столбце ОЗУ, а второй

...

Каждое приложение может используйте часть своей памяти. Linux использует все остальную незанятую память (за исключением последних нескольких мегабайт) как «кеш». Это включает кеш страниц, тайники inode и т. Д. Это хорошо - это помогает ускорить работу. Как запись на диск, так и чтение с диска могут быть значительно ускорены кешем.

Однако это не выполняется в соответствии с определенным обрезанием. Это не похоже на то, что вы достигли определенного процента распределения, тогда Linux начинает замену. Он имеет довольно «нечеткий» алгоритм. Это учитывает много вещей, которые лучше всего можно описать словами «сколько давления для распределения памяти». Если есть много «давления», чтобы выделить новую память, это увеличит шансы, что некоторые будут заменены, чтобы сделать больше места. Если будет меньше «давления», это уменьшит эти шансы.

После того, как вы исчерпали достаточное количество памяти, оставшегося для бесперебойного кеша, Linux может перераспределить некоторую неиспользуемую память приложения из ОЗУ для замены, чтобы восстановить некоторую память для кеша. [ ! d11]

1
ответ дан 24 May 2018 в 02:40

Вы можете изменить или изменить значение параметра vm.min_free_kbyte в /etc/sysctl.conf

. Это контролирует объем свободной памяти для использования специальными резервами, включая «атомные» распределения (те, которые не могу дождаться возврата).

Вы можете установить небольшое значение и посмотреть, как оно идет.

Вы можете увидеть дополнительную информацию в этом сообщении.

0
ответ дан 24 May 2018 в 02:40

Другие вопросы по тегам:

Похожие вопросы: