LINUX.ORG.RU

[gentoo]ускорение системы


0

0

почитал про перенос /var/tmp/portage и /tmp в оперативку для ускорения работы системы и возникла идея перенести туда каталог /var целиком

есть ли смысл? поделитесь опытом, пожалуйста

var -нельзя, т.к. оперативка очищается при выключении.Просто /tmp -никакого заметного профита./var/tmp/portage -вот тут выигрыш неиллюзорен- но надо помнить что при сборке чего-нибудь большого может банально не хватить места (хотя, смотря сколько оперативки)

anonymous ()

Лучше btrfs или reiser4 с компрессией. Можешь еще дерево портажей в сжатую ФС засунуть, у меня быстрее работало после этого.

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

>var -нельзя, т.к. оперативка очищается при выключении

а что там такого ценного? я его вообще как-то по ошибке rm -r очистил, система вроде нормально загрузилась

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

В var база установленного ПО. Это как у тебя emerge после этого работал?

linux4ever ()

Если /var будешь чистить от всяких tmp и lock файлов, то можно, но заворачивая потом его в архив а при загрузке разворачивая. Ибо там лежат базы mysql, базы установленных пакетов, логи и много что ещё.

CyberTribe ★★ ()

ещё вопрос

как правильно в fstab прописывать tmpfs

вот сейчас у меня так

tmpfs /tmp tmpfs size=256M,mode=0777 0 0

а везде говорят по-разному - кто-то утверждает, что в самом начале надо писать не tmpfs, а none, кто-то - что просто tmp

так как правильно?

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

намёк ясен

а если вынести по-отдельности /var/tmp, /var/lib, /var/run, /var/cache?

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

>но заворачивая потом его в архив а при загрузке разворачивая

как это реализовать?

кстати, ещё идея есть - переместить в tmpfs дерево портежей, чтобы поиск быстро работал

но надо как-то вынести из /usr/portage каталог /distfiles

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

Для /var нужно будет написать init-ный скрипт, который будет стартовать сразу после localmount ну, или переписать localmount.
http://forums.gentoo.org/viewtopic-t-296892-highlight-howto+root+tmpfs.html
тут частично похожее делается.

Для /usr/portage всё проще.
Для distfiles есть переменная DISTDIR (подробнее - man make.conf)

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

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

Тут один узер (вроде no_name его зовут, с Кенни без капюшона на аватрке) что-то такое мутил, ещё со squashfs.Поищи его темы.

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

>дерево -смысла нет особого, обрашение к нему происходит не столь часто

Закидывание дерева портежа в squashfs ускоряет работу emerge раза в два :) В смысле, не только его, но и /var/db/pkg

Тут один узер (вроде no_name его зовут, с Кенни без капюшона на аватрке) что-то такое мутил, ещё со squashfs.Поищи его темы.


У меня до сих пор скрипты валяются. Только отказался я от этого - каждый раз, как перезагружаешь машину (или когда свет вырубают) машина несколько минут пакует портеж в squashfs. А стоит машине зависнуть, как откат к старому значению /var/db/pkg ещё и бардак в мире устраивает.

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

>несколько минут - это на какой машине?

P4-3000.

«Несколько» - это не 5-10 минут, это что-то около полутора минут :) Но всё равно долго. И, самое неприятное, иногда создание образа почему-то обламывается с сообщением о нехватке места. (на винте, естественно, его многими гигабайтами). Вкупе с редкими, но случающимися мёртвыми зависами и периодическими отключениями света (ИБП есть, но пользы мало) это приводило к тому, что я раза три восстанавливал мир вручную, после чего забил нафиг на эту технологию :)

KRoN73 ★★★★★ ()

в общем, взвесим всё, решил не заморачиваться особо и просто перенести /var/tmp в tmpfs целиком

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

>просто перенести /var/tmp в tmpfs

Система обычно достаточно болезнено переносит потерю всех файлов из /var/tmp

Обрати внимание на наличие .keep* файлов в этом каталоге.

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

>Обрати внимание на наличие .keep* файлов в этом каталоге

у меня там ничего нет -))

впрочем, я уже сделал обратно и вынес в tmpfs лишь /var/tmp/portage, потому что кеды долго запускались

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

>Система обычно достаточно болезнено переносит потерю всех файлов из /var/tmp

Почему? Темп же. Имеется ввиду, если перед выключением каждый раз чистить его.

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

>Система обычно достаточно болезнено переносит потерю всех файлов из /var/tmp

абсолютно безболезненно, хотя все же зависит от того что там лежит, хотя по спецификациям /var/tmp в отличие от /tmp должна переживать перезагрузку

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

для KDE /var/tmp используется как кеш, перестраивается он при запуске достаточно долго, но можно сделать

~/.kde4/cache-HOSTNAME
не символической ссылкой, а реальным каталогом, только не забывайте его очищать иногда, при обновлениях Qt или KDE

Sylvia ★★★★★ ()
Ответ на: ещё вопрос от FractalL

> tmpfs /tmp tmpfs size=256M,mode=0777 0 0

ну вот стоит ли заморачиваться ради 256M ?

tmpfs /tmp tmpfs size=1g,mode=1777 0 0
tmpfs /var/tmp tmpfs size=3500m,mode=1777 0 0


если свап большой, то можно выставлять размер превышающий реальный размер физ. памяти

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

ps: обратите внимание на mode (!)
не 777 , а 1777 (!) т.е. sticky

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

777 - проходной двор и дыра в безопасности
1777 - только владелец может изменять или удалять свои файлы и каталоги
для /tmp и /var/tmp нужно именно 1777

drwxrwxrwt 5 root root 140 Mar 16 17:14 tmp

обратите внимание на t в конце

Sylvia ★★★★★ ()
Ответ на: ещё вопрос от FractalL

>как правильно в fstab прописывать tmpfs

вот сейчас у меня так

tmpfs /tmp tmpfs size=256M,mode=0777 0 0


а везде говорят по-разному - кто-то утверждает, что в самом >начале надо писать не tmpfs, а none, кто-то - что просто tmp


так как правильно?


можешь туда чего угодно написать. для некоторых файловых систем типо proc, sysfs и т.д. этот аргумент игнорируется. (но он должен присутствовать дабы не нарушать синтаксис fstab)

Nao ★★★★★ ()

А сколько места посоветуете отвести под /var/tmp/portage? Думаю использовать там reiser4 с сжатием. И не скажется ли сжатие на скорости?

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

Ну опеноффис у меня бинарный, хромиум тоже, больше таких монстров не знаю. Firefox собирается очень быстро (я аж офигел) и места немного вроде. Разве что для гимпа надо поболее. Думаю 5Гб хватит...

Deleted ()

где-то год юзал отакэ (где нарыл не помню) но при 3Гб оперативки
сейчас пока 2Гб, а оставлять свободными меньше 1.5Гб на моей системе смысла нет (съедает сама система, запущенные плееры и браузер, компил в 4 потока...)
ткчто пока отказался от этой фишки
$ cat /usr/local/bin/temerge

 
#!/bin/bash

MEMSIZE=1500M
MOUNT_OPTS="-o size=$MEMSIZE,nr_inodes=1M"
mounted=false
 
. /etc/init.d/functions.sh
 
mounttmpfs() {
     mount -t tmpfs tmpfs $MOUNT_OPTS /var/tmp/portage
     mounted="true"
}

compile() {
     einfo "emerging ${*}"
          emerge ${*}
}

unmount() {
     ebegin "unmounting tmpfs"
          umount -f /var/tmp/portage
     eend $?
}

ebegin "Mounting $MEMSIZE of memory to /var/tmp/portage"
if [ -z "$(mount | grep /var/tmp/portage)" ]
then
     mounttmpfs
else
     eerror "tmpfs already mounted!"
     exit 0
fi
eend $?

compile ${*}
 
if [ -n "$mounted" ]
then
     unmount
fi

еще наделал вариаций (типо safe emerge) где в начале скрипта добавлял

export FEATURES="-ccache -distcc"
export MAKEOPTS="-j1"

anTaRes ★★★★ ()

>/var/tmp/portage

Давно уже

$ grep TMP /etc/make.conf
PORTAGE_TMPDIR="/tmp"

Но это все детский лепет против

$ mount | grep -F /usr/portage
/dev/loop0 on /usr/portage type squashfs (rw,noatime)

Это дает дичайшее ускорение работы портежа.

linuxfan ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.