LINUX.ORG.RU

/var/cache в TMPFS

 


0

1

Минт 22.1

Хочу ускорить быстродействие системы и запихнуть /var/cache в ОЗУ. Ну и как бонус помогу своему ССД.

У меня сейчас 16 гб ОЗУ (стандарт). Сколько вы порекомендуете выделить? Какие подводные камни могут возникнуть?

Ответ на: комментарий от watchcat382

У меня в Дебиане 11 такой переменной вообще нет.

По умолчанию её ни у кого нет, но это более корректный способ сослаться на каталог, который по умолчанию в ~/.cache У меня она задана везде, хотя и имеет это самое значение по умолчанию.

Вероятно она образуется при использовании всяких «сред» и «окружений»,а у меня просто icevm

IceWM. Это переменные для приложений, они работают хоть в tty.

https://specifications.freedesktop.org/basedir-spec/latest/

anonymous
()
Ответ на: комментарий от watchcat382

Шифрование постоянно тратит ресурсы процессора

Даже когда у меня был дохлый AMD A8-6500, это не было хоть сколько-то заметно. Сейчас и вовсе:

#     Algorithm |       Key |      Encryption |      Decryption
<...>
        aes-xts        512b     13470,3 MiB/s     13506,9 MiB/s

Добро пожаловать в 21 век :)

Могу понять шифрование диска,но RAM в этом случае явно уже перебор.

Это аппаратная фича, она встречается обычно в серверных и «про»-сериях процессоров.

anonymous
()
Ответ на: комментарий от yandrey

сейчас всё QLC, работающая как TLC до некоторого заполнения в лучшем случае)

I call bullshit. QLC как была сравнительной редкостью, так и остаётся. SLC-режим ей помогает, но дальше там днище по скорости, да и с гарантийным ресурсом беда, обычно он в 2+ раз ниже, да и по сроку редко больше трёх лет. Возможно, ты путаешь с MLC (2 bit) vs TLC (3 bit).

anonymous
()
Ответ на: комментарий от anonymous

Возможно, ты путаешь с MLC (2 bit) vs TLC (3 bit).

Нет, для примера линейка Patriot P210 P210S*25, изначально, когда были металлические корпуса, было прямо заявлено TLC, в реальности QLC, и такая ерунда со многими производителями SSD.

yandrey ★★
()
Ответ на: комментарий от anonymous

встречается обычно в серверных и «про»-сериях процессоров.

Так я не спорю что на важных серверах шифрование RAM может быть нужно. А на домашнем десктопе на мой взгляд оно излишне. И тем более на ноутбуке (лишний расход энергии).

watchcat382
()
Ответ на: комментарий от anonymous

Это переменные для приложений

За ссылку на описание какие они вообще бывают - спасибо. Интересно - многие ли программы ими пользуются?

Кстати, когда-то очень давно (лет 20 назад), разбираясь кто что и куда пишет я нашел и адаптировал вот такой скрипт:

dmesg -c
/etc/init.d/klogd stop
echo 1 > /proc/sys/vm/block_dump
rm /tmp/disklog
watch "dmesg -c >> /tmp/disklog"
   CTRL-C when you're done collecting data
echo 0 > /proc/sys/vm/block_dump
/etc/init.d/klogd start
cat /tmp/disklog | awk -F"[() \t]" '/(READ|WRITE|dirtied)/ {activity[$1]++} END {for (x in activity) print x, activity[x]}'| sort -nr -k2

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

watchcat382
()
Последнее исправление: watchcat382 (всего исправлений: 3)
Ответ на: комментарий от yandrey

Я бы не стал связываться с «производителями» типа Patriot, ADATA и прочими KingSpec. У них никогда заранее не угадаешь, что там будет распаяно.

anonymous
()
Ответ на: комментарий от watchcat382

За ссылку на описание какие они вообще бывают - спасибо. Интересно - многие ли программы ими пользуются?

Довольно многие: https://wiki.archlinux.org/title/XDG_Base_Directory К сожалению, не все. В Firefox ожидается с версии 143, в bash ожидается когда-нибудь.

anonymous
()
Ответ на: комментарий от watchcat382

Там лежат данные, которые понадобятся. Кэш иконок, например. И данные оттуда читаются больше.

При таком подходе, помещать кэш в ОЗУ не очень решение, поскольку после перезагрузки данные пропадают и при просмотре, например, в файловом менеджере иконки заново генерируются. А если периодически сохранять кэш на диск (также и перед выключением компа), то выключение будет происходить долго, особенно если у тебя медленный диск. Короче, плюсов меньше, чем минусов.

Jeronimo ★★★
()

Не знаю. А не проще ли симлинком в /tmp? Оно же по идее уже в RAM.

Хотя можно и fstab закрасноглазить

tmpfs  /home/ВАШ_ЛОГИН/.cache  tmpfs  defaults,noatime,mode=700,size=1G  0 0

Больше 1 Гб не рекомендую если только 16 гб оперативной памяти

Если планируете долго использовать компьютер то добавьте в /etc/systemd/system/cache-clean.service

[Unit]
Description=cleaner

[Service]
Type=oneshot
ExecStart=/bin/bash -lc 'for dir in /home/*/.cache; do
    if [ -d "$dir" ]; then
        rm -rf "$dir"/* || true
    fi
done'

А потом в /etc/systemd/system/cache-clean.timer

[Unit]
Description=Del_timer

[Timer]
OnUnitActiveSec=3h
AccuracySec=5min

[Install]
WantedBy=timers.target

anonymous
()
Ответ на: комментарий от anonymous

Какое извращение.

Особенно про таймер.

/etc/fstab как и писали выше ТС добавляет:

tmpfs /tmp       tmpfs defaults,noatime,mode=1777,size=2G 0 0
tmpfs /var/tmp   tmpfs defaults,noatime,mode=1777,size=1G 0 0
tmpfs /var/log   tmpfs defaults,noatime,mode=0755,size=50M  0 0
tmpfs  /home/ВАШ_ЛОГИН/.cache  tmpfs  defaults,noatime,mode=700,size=1G  0 0

Эта штука с твоего примера правильная:

tmpfs  /home/ВАШ_ЛОГИН/.cache  tmpfs  defaults,noatime,mode=700,size=1G  0 0

И никаких таймеров. Незачем.

Идём по пути /etc/tmpfiles.d/ram_fix.conf и добавляем:

z    /tmp                1777   root     root    0     5%
z    /var/tmp            1777   root     root    0     5%
z    /var/log            0755   root     root    0     5%
z    /home/*/.cache      0700   %u       %u      0     5%

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

anonymous
()
Ответ на: комментарий от firkax

Вредительство. Верно подмечено. Потом чинить что-то без логов будет ой как весело. Но на некоторых забугорных ресурсах именно это и рекомендуют

А вот то, что говорят про кеш пакетов (apt), я наоборот его себе в RAM примонтировал (64 гига). Но только папку с кешем APT. Всю /var/cache ломает систему, проверил на виртуалке (система PopOS)

anonymous
()