Много барана. Как это использовать?

14

Мой компьютер имеет 8 Гб оперативной памяти. Есть ли способ заставить Ubuntu использовать большинство из них? Я имею в виду, что редко сбрасываю кеши и дольше сохраняю однажды открытые программы в оперативной памяти, загружаю приложения и т.д.

user73331
источник
Ubuntu сбрасывает кэши или перемещает открытые программы для обмена?
независимо от того,
У вас есть 64-битная или 32-битная версия?
Эддисон Монтгомери

Ответы:

8

Вы можете создать виртуальный диск для определенных каталогов, используяtmpfs

Например, для ~/.cache/каталога, который Google Chrome и Chromium используют для кэширования данных, запись в /etc/fstabбудет:

tmpfs /home/your_username/.cache tmpfs defaults,size=1024M 0 0

Однако следует отметить, что содержимое теряется при каждой перезагрузке.

Другие подходящие каталоги могут быть /tmp. Обратите внимание, что вы можете указать размер tmpfs в абсолютных или относительных (к вашей ОЗУ) значениях:

Используйте 1G вашей оперативной памяти:

tmpfs /tmp tmpfs nosuid,size=1G 0 0

или используйте 10% доступной оперативной памяти:

tmpfs /tmp tmpfs nosuid,size=10% 0 0
Phoibos
источник
2

Предварительная загрузка должна быть достаточно простой - поскольку linux кэширует / буферизует в максимально возможной степени, просто поместите libs / binaries, которые вы хотите «предварительно загрузить» в / dev / null - это должно согреть кеш. Запустите скрипт, как показано ниже:

#/bin/bash
PROGS=("/usr/bin/jiha" "/usr/bin/doho")
for i in "${PROGS[@]}"; do 
    cat $i > /dev/null
    for j in $(ldd "$i"); do  # this does not work -- need to filter ldd output (awk)
        cat $j > /dev/null
    done
done

Это будет тратить много времени на то, чтобы снова и снова просматривать некоторые библиотеки, немного сложнее предварительно загрузить необходимые библиотеки только один раз, но это зависит от длины массива PROGS.

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

НТН

Том Регнер
источник
Повлияет ли это на дисковый ввод-вывод? Кроме того, это значительно отличается от простой установки preload? Интересный вопрос и ответ, хотя, я нахожусь в той же ситуации, что и OP, и я просто никогда не видел> 50% использования ОЗУ.
Том Броссман
1
предварительная загрузка AFAIU будет предварительно загружаться во время работы на основе программ / файлов, открытых пользователем; этот простой подход продлит время загрузки, но ускорит время загрузки только нужных приложений, и ничего более.
Том Регнер
1
Буферизованные / кэшированные части памяти в большинстве инструментов показаны как свободные - так как они будут освобождены при необходимости; но linux будет кэшировать каждый файл, к которому вы обращаетесь, как можно дольше. Если общий объем памяти, используемой на вашей машине, включая буферы / кэши, никогда не достигает 50% - у вас слишком много оперативной памяти для того, что вы делаете :-)
Том Регнер,
Полезно знать, спасибо. Баран так дешев, что я просто получаю больше. Хороший для запуска случайных ВМ, но, вероятно, не обязательно.
Том Броссман
Да, приятно не исчерпать память - оно того стоит. Перепрыгнул на 8G на обеих машинах (работа / дом) - просто приятно.
Том Регнер