LINUX.ORG.RU

Полностью в RAM?

 ,


0

1

Взял SSD, но в процессе размышлений об ускорении вспомнил старенькие Slax и Knoppix, которые умели грузиться в память и работать оттуда... А что если в память грузиться всегда? Так ведь ещё быстрей должно получиться.

А винт использовать только для хранения информации и скидывания/чтения при включении/выключении.

В правильном направлении мыслю? Если да, накидайте толковых ссылок по теме, пожалуйста. Если нет, то почему? :-)

Кстати, память вообще дешёвая теперь, оказывается. 8 Гб у меня теперь, это ж завались.

UnSavant
() автор топика

вспомнил старенькие Slax и Knoppix, которые умели грузиться в память и работать оттуда...

В 1997 году, делал сборки BSD для маршрутизаторов, которые полностью грузились в 8 Мб ОЗУ, работали там, не свопили и не глючили.

King_Diamond
()

Присоединяюсь к вопрошающему. Я тоже хочу так.

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

Зачем Live? Я хочу, чтобы установлено всё было. И хочу понять, почему так почти никогда не делают. Какие подводные камни?

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

Ну ты когда компьютер отключишь рам очистится. И кстати всё что системе нужно на данный момент, загружено в РАМ. Или ты предлагаешь весь / туда каждый раз читать? Как ты думаешь сколько будет загружаться такая система? Свет отключили и прощайте все не синхронизированные данные. Это так на вскидку.

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

Если всё что нужно и так всегда в памяти, почему тогда все замечают значительный прирост производительности при переходе на SSD? Это ведь не только к запуску приложений относится.

UnSavant
() автор топика

Открой для себя дисковый кэш.

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

А точно всё что нужно в памяти всегда?

Точно. Иначе бы не работало.

tazhate ★★★★★
()

Загрузка системы будет дольше, чем нужно, потому что ему придётся грузить несколько ГБ с диска в tmpfs. А если будет некорректное отключение питания, то всё будет выглядеть так, как будто ты вообще систему не загружал и ничего не делал. Логичней было бы грузить файлы в ОЗУ по мере необходимости, тогда загрузка будет иметь приемлимую скорость. Также не плохо писать данные на диск не в момент выключения, а раньше, просто в фоновом режиме, не тормозя процесс. И что это получается? Это же и есть юзаемый по умолчанию алгоритм кэширования в Linux. Пока ОЗУ хватает все системные файлы будут браться оттуда.

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

Свет у ноута не отключится

мало-ли какой дефект

А точно всё что нужно в памяти всегда?

точно. кроме случаев когда памяти не хватает, ядро вытесняет данные, которые не нужны в данный момент в swap.

hope13 ★★★
()

То есть нет смысла и -toram использовался в Слаксе и Кноппиксе только чтобы освободить привод? И ускорение было просто субъективными ощущениями? Сломали мечту :-)

Вопрос по SSD остаётся открытым. Почему же тогда производительность выше, если всё что надо всегда в памяти? Оперативная память быстрее SSD, не так ли?

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

прежде чем «все, что надо» окажется в памяти — его надо найти и прочитать «это» с диска, а с SSD это сделать как правило быстрее

timon-ltv
()

нагуглил что можно монтировать разделы в оперативу, как то так:
tmpfs /var/run tmpfs defaults 0 0
tmpfs /var/lock tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
может поэксперементировать?

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

Ну /tmp у меня и так всегда в оперативке был, это даже умолчально сделано во многих дистрибутивах.

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

Почему же тогда производительность выше, если всё что надо всегда в памяти? Оперативная память быстрее SSD, не так ли?

Вот и настали тёмные времена, когда линуксом пользуются шко^Wлюди, не имеющие ни малейшего представления об архитектуре компьютера. Пора валить на ripBSD. :-(

geekless ★★
()

на ноутбуках теоретически можно осуществить, на других девайсах не стоит

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

эти то разделы весь мир давно в tmpfs монтирует

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

Потому что изначально все лежит на диске и в RAM читается при первом обращении. И это чтение занимает время, которое на SSD меньше.

Также когда ты смотришь 16-гиговый фильм, то все, чем ты раньше пользовался, вполне возможно будет вытеснено из файлового кеша и в следующий раз придется заново читать. Впрочем тут уже надо смотреть алгоритмы ОС.

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

Сделай например несколько раз

time cat <большой фаил> > /dev/null

И увидишь разницу. Только очень большой фаил лучше не брать, не поместится в кэш.

KillTheCat ★★★★★
()

На время проблем с HDD сделал LiveUSB с дистрибутивом Kanotix на базе Debian'а, который разделил мне память на гигабайт на память, и гигабайт на RAM-диск. Это действительно быстрее: хотя система на Flash-диске, я доустанавливаю после запуска много программ, и они всегда в RAM. А если вообще всё загрузить в RAM, то вообще реактивно будет.

Есть ещё Puppy Linux. Работает на 486-м, а на новом компьютере позволяет переписать себя в память, и вытащить компакт-диск.

У тебя SSD-диск, у него скорость обмена данными 300 Мб в секунду, плюс-минус 100 Мб. И нет проблем с маленькими файлами, как с Flash-дисками. Поэтому у тебя не будет сильного прироста в скорости работы ОС.

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

тогда это ещё более тупо: ты точно не используешь в процессе работы всё, что валяется в корне, а оно отжирает три четверти оперативки

проще и эффективнее поставить в ноут недорогой SSD и не трахать мозг

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

Но кто тебе сказал, что я буду пихать весь корень в оперативку? =)

Я лишь говорил, что такой трюк можно провернуть.

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

у меня, например, система занимает около 11 гб

что ж там у тебя? по моему 2-3 гигов хватает на любой дистр со всеи нуждами

по теме: полностью поддерживаю! сам хочу сделать чтоб корень в память уходил

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

Если всё что нужно и так всегда в памяти, почему тогда все замечают значительный прирост производительности при переходе на SSD?

один раз загрузить файл в память всё-же необходимо. Причём файлов много, и лежат они в разных местах диска. А головка у диска двигается ооочееень мееедлееенноооо... Потому иногда даже мелкий файл в 1К приходится «грузить» аж 100мс на HDD. А в SSD никаких головок нет. Но «всё в память» будет медленнее - ведь придётся грузить не только нужное, но и то, что никогда не понадобится.

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

2-3 гигабайта, говорите...

du -hs /usr/* /bin /sbin /lib /opt
600M	/usr/bin
8,0K	/usr/etc
208M	/usr/include
2,1G	/usr/lib
36K	/usr/libexec
315M	/usr/local
12K	/usr/man
49M	/usr/sbin
2,6G	/usr/share
20M	/usr/src
8,7M	/bin
9,5M	/sbin
142M	/lib
133M	/opt

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

бред какой-то. не может столько система весить - этож не свиста или серёмка

Свиста пустая столько весит. Вброс не засчитан.

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

rm -rf /tmp/* /var/tmp* не?

это у меня вообще в tmpfs

бред какой-то. не может столько система весить

может

этож не свиста или серёмка

пф

fragment
()
Ответ на: комментарий от anonymous
localhost / # df -h
Файловая система Размер Использовано  Дост Использовано% Cмонтировано в
rootfs              23G         8,5G   13G           41% /
fragment
()
Ответ на: комментарий от anonymous
8       /sbin/
9       /bin/
10      /etc/
42      /boot/
116     /lib/
164     /root/
493     /tmp/
9356    /var/
11294   /usr/

13      /usr/sbin
36      /usr/libexec
110     /usr/local
225     /usr/bin
311     /usr/include
1432    /usr/src
1901    /usr/lib
1977    /usr/share
5300    /usr/portage
4057    /usr/portage/distfiles/

151     /var/db
165     /var/log
271     /var/cache
317     /var/www
1080    /var/lib
7373    /var/tmp

Ну окей, удалить дистфайл, /var/tmp и сорцы ядра, уже будет место, но все равно 12гб остается.

anonymous
()

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

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

Семерка со всеми обновлениями.

du -hs /media/5CF29D2DF29D0D00/Windows/
14G     /media/5CF29D2DF29D0D00/Windows/
KillTheCat ★★★★★
()
Ответ на: комментарий от King_Diamond

В 1997 году, делал сборки BSD для маршрутизаторов, которые полностью грузились в 8 Мб ОЗУ, работали там, не свопили и не глючили.

Аналогично в 1996-97гг. делал загрузку DOS 6.22 на i286 с 5,25" дискеты в HIGH-память; на RAM-диск копировал часто запускаемые программы, использовал для временных файлов и результирующих бинарников при компиляции. Размер RAM-диска соотносил с количеством буферов и открытых файлов, чтобы оставалось достаточно оперативки для работы TurboPascal 5.5. Винчестера не было. Ничего не глючило и не обращалось к дискете лишний раз.

Сейчас похожую задачу решает ARC-кэш ZFS без какой-либо настройки. Автоматически.

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

Сейчас похожую задачу решает ARC-кэш ZFS без какой-либо настройки

Хочу ZFS в линуксе, нативно, без fuse. Чёртовы лицензии, чёртовы борцы за свободу, чёртовы упёртые бараны.

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

В 1997 году, делал сборки BSD для маршрутизаторов, которые полностью грузились в 8 Мб ОЗУ, работали там, не свопили и не глючили.

А есть еще образы/копии дискет?

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

А есть еще образы/копии дискет?

Надо порыться на работе в архивах. А зачем тебе эти каки мамонта? Оно на железе, выпущенном менее чем 12-15 лет назад, не взлетит.

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