Багато барана. Як ним користуватися?


14

Мій ПК має 8 Гб оперативної пам’яті. Чи є спосіб змусити ubuntu використовувати його більшість? Я маю на увазі рідкість скидання кеш-пам'яті і довше зберігати відкриті програми в операційній програмі, попередньо завантажувати програми під час завантаження тощо.


Упускає Ubuntu кеш-пам'ять чи переміщує відкриті програми для заміни?
mikew незалежно від

У вас 64-бітна або 32-бітна версія?
Аддісон Монтгомері

Відповіді:


8

Ви можете зробити ramdisk для певних каталогів, використовуючиtmpfs

Наприклад для ~/.cache/каталогу, який Google Chrome і хром використовують для кешування даних, записом /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

2

Попередня завантаження має бути досить простою - оскільки кеши / буфери Linux є максимально можливими, просто переведіть на файли / бінарні файли, які ви хочете "попередньо завантажити" в / 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.

За рештою (рідко скидають кеші, ...) система значною мірою піклується системою за замовчуванням - вона бере те, що може використовувати, і відпускає її лише за потреби.

HTH


Чи буде це негативно впливати на введення / виведення диска? Крім того, чи це суттєво відрізняється від просто встановлення preload? Цікаве запитання та відповідь, хоча я перебуваю в тій же ситуації, що і OP, і я ніколи не бачив> 50% використання оперативної пам’яті.
Том Броссман

1
попереднє завантаження AFAIU буде передзавантажено під час роботи на основі програм / файлів, відкритих користувачем; Цей простий підхід продовжить час завантаження, але прискорить час завантаження лише потрібних додатків, не більше того.
Том Регнер

1
у більшості інструментів буферизовані / кешовані частини барана відображаються як вільні - оскільки вони будуть звільнені у разі потреби; але Linux буде кешувати кожен файл, до якого ви отримуєте доступ, доки це може. Якщо загальний обсяг пам’яті, що використовується на вашій машині, включаючи буфери / кеші, ніколи не досягає 50% - у вас занадто багато оперативної пам’яті для того, що ви робите :-)
Том Регнер

Добре знати, дякую. Баран так дешевший, що я просто зайвий. Приємно для запуску випадкових VM, але, ймовірно, не потрібно.
Том Броссман

Так, приємно не втрачати пам'ять - абсолютно того варто. Стрибав до 8G на обох машинах (робота / дім) - просто приємно.
Том Регнер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.