После запуска системы через несколько минут мой кэш памяти заполняется, и он начинает использовать подкачку. Вот скриншот файла /proc/meminfo.
Однако, если я смогу отключить этот процесс / очистить кэш один раз после этого, я думаю, что моя система в некоторой степени ускорится. Поправьте меня, если я здесь ошибаюсь.
Я также пробовал очистку памяти Bleachbit, но, похоже, она не очищает кэш памяти должным образом. Кроме того, эта функция все еще находится в стадии эксперимента.
Примечание: Linux НЕ "съедает" вашу оперативную память! Пожалуйста, взгляните на Гейру отличный ответ ниже, чтобы понять, почему...
После приведенного выше примечания, если вы все еще чувствуете, что "очистка" кэша может помочь, вы, конечно, можете попробовать: это однострочное сообщение из терминала:
sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
Нет простого способа отключать кэш, но вы можете добиться того же эффекта, очищая его так часто, как каждую минуту, если ты хочешь:
Сделайте это cron-задание
Нажмите Alt-F2, тип gksudo gedit /etc/crontab, и добавьте эту строку в нижней части:
www.linuxatemyram.com прекрасно объясняет это в форме часто задаваемых вопросов, при этом основные моменты заключаются в следующем:
Что происходит?
Linux использует неиспользуемую память для кэширования на диске. Это создает впечатление, что у вас мало памяти, но это не так! Все в порядке!
Почему он это делает?
Кэширование диска делает систему намного быстрее! Здесь нет никаких недостатков, за исключением сбивающих с толку новичков. Это никоим образом не отнимает память у приложений, никогда!
Что делать, если я захочу запустить больше приложений?
Если вашим приложениям требуется больше памяти, они просто забирают часть, позаимствованную дисковым кэшем. Дисковый кэш всегда можно немедленно вернуть приложениям! У вас не мало оперативной памяти!
Как мне узнать, сколько у меня на самом деле свободной оперативной памяти?
Чтобы узнать, сколько оперативной памяти могут использовать ваши приложения без подкачки, запустите free -m и посмотрите на столбец "доступно".:
$ free -m всего использованных бесплатных общих баффов/доступных кешей: 1504 1491 13 0 855 792Обмен: 2047 6 2041
Это ваш ответ в мегабайтах.
Источник: как уже упоминалось, превосходный www.linuxatemyram.com -- пожалуйста, посетите сайт для получения дополнительной информации.
Чтобы Проверить Текущее Использование вашей Памяти
watch -n 1 free -m
или
watch -n 1 cat /proc/meminfo
Чтобы Освободить Место
sudo sysctl -w vm.drop_caches=3
записка: это действие не ускорит вашу систему и не повлияет на ее стабильность и производительность, оно просто очистит память, используемую ядром Linux в кэшах.
или
sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
записка: Вы можете использовать задания cron, чтобы запланировать выполнение приведенных выше команд через определенные промежутки времени.
Вы уверены, что это решит вашу проблему? Память не заполняется без причины. У меня также была проблема с тем, что моя память заполнялась, и я проследил ее до tracker-miner. После того, как я удалил все пакеты трекера, моя проблема исчезла. У меня также есть 4 ГБ памяти, а 2 ГБ используются кэшами, но я не испытываю никаких проблем.
@izx Да, я знаю. Возможно, он просто ищет решение неправильной проблемы. Ядро достаточно умно, чтобы не заполнять память кэшами, когда это необходимо программам. Вот почему я думаю, что его проблемы с памятью возникают из-за программы, которая использует слишком много памяти.
@danielkullmann: Мне любопытно узнать, как вы проследили это до одного процесса, который поглощает всю эту память… Есть ли для этого какой-нибудь инструмент / команда?
@danielkullmann: О, да, htop… Как удобно, что я забыл один из лучших инструментов на свете. Неважно, я думал, ты использовал какое-то инопланетное программное обеспечение, которого я не знал… ЛОЛ
На этом скриншоте у вас почти ничего нет в swap. Я видел, как небольшие объемы памяти менялись местами без видимой причины, не уверен. Но в любом случае, я не думаю, что здесь виноват дисковый кэш.
Поскольку я не могу комментировать, я отвечаю. Дисковый кэш заполняет оперативную память при выполнении операции записи на диск. Если у вас много записей, кэш вырастет до такой степени, что система начнет подкачку. Я знаю, что это правда, потому что я видел это раньше, и для меня это звучит безумно, но, по-видимому, это нормально для остального мира. Прочтите логику: вы интенсивно используете диск, и что вы получаете? Больше использования диска, потому что система начинает подкачку, потому что вы сбрасываете данные на диск. Я имею в виду… привет, кто-нибудь дома?
Мое предложение таково: используйте sync && echo 3 | sudo tee / proc / sys / vm /drop_caches как можно чаще.