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

У меня есть 4 гибибайта RAM, и Системный монитор показывает 3,8 гибибайта. Я думаю, что 200 мебибайт для GPU. Но я никогда не видел Использование памяти больше чем 3,0 гибибайта. Если использование памяти близко к 3 гибибайтам, оно использует Подкачку, и когда оно достигает к компьютерным замораживаниям на 3 гибибайта (я использую Идею IDE).

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

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

Я использую Ubuntu 14.04. Почему Системный монитор не показывает использование памяти на 3.7 или 3,8 гибибайта? enter image description here

2
задан 20 October 2014 в 23:52

3 ответа

Если Вы отключите swappiness, Ваш Ram станет более сытым. При увеличении swappiness данные в Ram будут разбиты на страницы к разделу подкачки, когда поршень достигнет определенного уровня. Ram станет сытым, но это - не всегда проблема. Если Вы действительно хотите делать с этим что-то, можно выполнить следующую команду для очистки наличных денег:

(предупреждение: Если Вы установили синхронизирующего демона профиля, близкий Firefox и выполнили команду sudo service psd stop перед выполнением следующей команды!)

echo "3" | sudo tee /proc/sys/vm/drop_caches

Это очистит Ваши наличные деньги даже при том, что большую часть времени не необходимо особенно, если swappiness включен. Люди обычно предупреждаются, когда они видят высокое Использование оперативной памяти на рабочем столе Linux, но разработчики настаивают, что система будет на самом деле работать быстрее, потому что то, что находится в поршне, является кэшированными данными, которые могут легко и быстро быть получены системой. Когда система находится в интенсивном употреблении, те кэшируемые файлы переданы подкачке.

<час>

причина Вы не видите столько же Ram, используемого сколько прежде чем будет то, потому что Linux разработан, чтобы наиболее эффективно использовать и использовать в своих интересах доступные системные ресурсы. Так, если бы у Вас было 12 ГБ Ram, то Вы могли бы видеть 8 или даже 9 ГБ использования Ram вместо этого. Много используемого Ram используется для кэширования и не обычно необходимо для выполнения непосредственного рабочего стола.

Что касается системы, показывающей 3 ГБ используемого Ram, выполняет следующую команду, и необходимо получить более точное число:

free

системный монитор говорит, что я использую 1.4 ГБ Ram, и фактический Ram, используемый включая буферы/кэш, - 2.7 ГБ, почти дважды число, о котором сообщают. Это число часто намного выше, поскольку кэш будет иногда расти больше чем до 50% общего количества. Кроме того, системный монитор сообщает о моем общем количестве Ram в 4,7, когда фактическое число ближе к 4.9 ГБ.

<час>

, Чтобы помочь диагностировать Вашу проблему можно установить htop и iotop для получения лучшее представление о том, что продолжается, когда у Вас есть проблемы. Устанавливать:

sudo apt-get install iotop htop

Для выполнения:

sudo iotop

или

sudo htop

На основе моего собственного опыта я всегда достигал лучшей производительности системы с помощью подкачки и столкнулся с проблемами (системные замораживания), когда подкачка отключена. На самом деле это наиболее вероятно, почему Ваш компьютер замораживается. Без подкачки система не имеет никакого способа продолжить использовать Ram после становления полным. Выключение swappiness слишком низко может также вызвать чрезмерную подкачку страниц и перегрузку жесткого диска, если имеют много используемого Ram. Эта проблема будет иногда обнаруживаться как чрезмерное kworker действие с помощью iotop.

4
ответ дан 19 November 2019 в 00:52

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

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

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

Идеально, у Вас есть достаточно памяти для всех Ваших приложений, и Вам все еще уехали в несколько сотен Мбит кэш. В этой ситуации пока Ваши приложения не увеличивают свое использование памяти, и система не оказывает слишком много давления на кэш, нет никакой потребности ни в какой подкачке.

, Как только приложения требуют большего количества RAM, она просто входит в часть пространства, которое было использовано кэшем, уменьшив кэш. Освобождение кэша является дешевым и достаточно легким, что это просто сделано в режиме реального времени - все, что находится в кэше, или просто вторая копия чего-то, что это уже находится на диске, так может просто быть освобожден немедленно, или это - что-то, что мы должны были бы сбросить к диску в течение следующих нескольких секунд так или иначе, таким образом существует нулевая производительность, пораженная в перераспределении кэша к приложениям.

Так, когда кто-то обращается к "свободной" RAM, это может или не может включать кэш, так как кэш только займет "свободную" RAM. Это не ситуация, которая характерна для Linux - все современные операционные системы прокладывают себе путь. Различные операционные системы могли бы просто сообщить о свободной RAM по-другому: некоторые включают кэш как часть того, что они считают "свободными", и некоторые не могут.

, Когда Вы говорите о свободной RAM, это намного более значимо для включения кэша, потому что это практически свободно - это доступно, должен любой запрос приложения это. На Linux free команда сообщает о нем оба пути - первая строка включает кэш в используемый столбец RAM и второе

...

, Как только Вы израсходовали достаточно памяти, что существует недостаточно оставлено для кэша бесперебойной работы, Linux может перераспределить некоторую неиспользованную память приложения от RAM для свопинга для восстановления некоторой памяти для кэша.

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

Примечание: то, что я сказал выше, применяется не только к Linux, но и к фактически всем операционным системам современного компьютера, включая Windows, Mac OS, и т.д.

2
ответ дан 19 November 2019 в 00:52

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

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

можно установить маленькое значение и видеть, как оно идет.

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

1
ответ дан 19 November 2019 в 00:52

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

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