Автор Тема: Ram Linux  (Прочитано 25529 раз)

Оффлайн Yasno

  • Завсегдатай
  • *
  • Сообщений: 203
Ram Linux
« : 17.05.2019 19:12:29 »
Очень понравилась фишка с загрузкой Fedora Live CD в память, а есть ли такие дистры которые и после установки на HDD могут загружаться в память, а изменения сохранять на HDD?

Оффлайн klark973

  • Завсегдатай
  • *
  • Сообщений: 662
  • Неспящий саппорт
Re: Ram Linux
« Ответ #1 : 17.05.2019 20:01:01 »
Очень понравилась фишка с загрузкой Fedora Live CD в память
В альте так могут грузиться практически все LiveCD, инсталляторы и Rescue: достаточно убрать из параметров загрузки слово lowmem. Такой режим сходу отъедает довольно приличный кусок оперативки.

есть ли такие дистры которые и после установки на HDD могут загружаться в память, а изменения сохранять на HDD?
В этом нет никакого практического смысла. Из известных мне Puppy Linux и PuppyRus используют принцип загрузки сквоша (как на CD/DVD) и при этом позволяют сохранять изменения в процессе выключения/перезагрузки.
To moan or to solve -- that is the question!

Оффлайн kostyalamer

  • Мастер
  • ***
  • Сообщений: 432
    • Сайт клуба активных пользователей ALT Linux
Re: Ram Linux
« Ответ #2 : 17.05.2019 22:05:23 »
Как совершенно справедливо сказал klark973 -> puppy :
http://wiki.puppyrus.org/setups/full-vs-frugal  - вас интересует фругал
подробнее можно спросить у них на форуме :
http://forum.puppyrus.org/
сильно подозреваю что magos тоже это умеет, впрочем маги тоже частые гости на форуме папируса.
Archlinux  / Altlinux Free Mate p8

Оффлайн Yasno

  • Завсегдатай
  • *
  • Сообщений: 203
Re: Ram Linux
« Ответ #3 : 17.05.2019 22:12:07 »
В этом нет никакого практического смысла
как же нет, а скорость работы приложений (без лагов), износ носителей почти на нуле, может и ещё что то

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Ram Linux
« Ответ #4 : 18.05.2019 01:03:11 »
износ носителей почти на нуле,

Ага :-)
Щас:
Total DISK READ : 0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                                                   
    7 be/4 root    0.00 B     36.00 K  0.00 %  1.07 % [kworker/u8:0-events_unbound]
 2755 be/4 root          0.00 B      4.00 K  0.00 %  0.83 % [kworker/u8:2-flush-8:16]
 2548 be/4 root          0.00 B      0.00 B  0.00 %  0.58 % [kworker/2:2-events_freezable_power_]
 1271 be/4 altlinux      0.00 B      0.00 B  0.00 %  0.40 % cinnamon
   34 be/4 root          0.00 B      0.00 B  0.00 %  0.19 % [kworker/1:1-events_freezable_power_]
  266 be/4 root          0.00 B      0.00 B  0.00 %  0.19 % [kworker/1:2-events_freezable_power_]
 2415 be/4 root          0.00 B     24.00 K  0.00 %  0.10 % [kworker/u8:3-i915]
 2237 be/4 altlinux 0.00 B    560.00 K  0.00 %  0.04 % firefox [DOM Worker]
  900 be/4 root          0.00 B      0.00 B  0.00 %  0.00 % X -nolisten tcp :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt1 -novtswitch
 2675 be/4 root          0.00 B      0.00 B  0.00 %  0.00 % [kworker/2:0-events]
 2143 be/4 altlinux     52.00 K      0.00 B  0.00 %  0.00 % firefox
 2168 be/4 altlinux      0.00 B    144.00 K  0.00 %  0.00 % firefox [Cache2 I/O]
 2171 be/4 altlinux      0.00 B     20.00 K  0.00 %  0.00 % firefox [DOM Worker]
 2290 be/4 altlinux 0.00 B     72.00 K  0.00 %  0.00 % firefox [localStorage DB]
 2300 be/4 altlinux      0.00 B      4.00 K  0.00 %  0.00 % firefox [QuotaManager IO]
 2311 be/4 altlinux      0.00 B    332.00 K  0.00 %  0.00 % firefox [mozStorage #3]

За каких-нибудь 30-40 минут, полтора десятка процессов настучат не на диск так на флешку, пару десятков мегабайт.
Можно конечно было бы попросить их стучать где-нибудь на ram-диске, но для этого нужен мешок денег и резиновая память:
# du -smx /.rw/rw/*
10 /.rw/rw/etc
2043 /.rw/rw/home
18 /.rw/rw/lib
1 /.rw/rw/mnt
1 /.rw/rw/root
681 /.rw/rw/usr
674 /.rw/rw/var

Не считая фокса, один только kworker, мелкими блоками настучит на диск порядка 64 килобайт. К нему присоединятся csd-keyboard и parcellite периодически дёргая винчестер или флешку не давая им уснуть. Через полчаса, фокс с отключеным кешированием настучит на диск около 10-ти мегабайт. kworker мелкими блоками настучит на диск около 250 килобайт.

:-) Современные системы, это же не iS DOS для ZX Spectrum, который хоть и может находиться на ram-диске, но настукивать на диск будет только тогда, когда его об этом попросят.
« Последнее редактирование: 18.05.2019 01:45:39 от Speccyfighter »

Оффлайн klark973

  • Завсегдатай
  • *
  • Сообщений: 662
  • Неспящий саппорт
Re: Ram Linux
« Ответ #5 : 18.05.2019 01:33:22 »
В этом нет никакого практического смысла
как же нет, а скорость работы приложений (без лагов), износ носителей почти на нуле, может и ещё что то
Вы очень плохо представляете себе, насколько рационально Linux использует память. При первом обращении к диску в ней и так кэшируется всё необходимое. Нет нужды держать в памяти ещё и полный сжатый образ всей системы. Это неизбежно и рационально для таких медленных носителей, как CD/DVD/старые USB, но платой за всё будет память, навсегда отобранная у системы. Если типовой rootfs большого линукса типа Альта -- 2.5Gb (это ещё не самый большой сквош) вычесть из 4Гб, останется меньше половины ОЗУ. Почему это оправданно для Puppet -- там образ очень куцый, всего 200Мб, но в нём нет многих вещей. Никто не мешает вам сделать настройку системы с целью минимизации износа носителя. Например, используя оверлей для всего корня или только для /var.
To moan or to solve -- that is the question!

Оффлайн Yasno

  • Завсегдатай
  • *
  • Сообщений: 203
Re: Ram Linux
« Ответ #6 : 18.05.2019 13:26:54 »
За каких-нибудь 30-40 минут, полтора десятка процессов настучат не на диск так на флешку, пару десятков мегабайт
значит этот Puppy не настолько RAM,  на сколько хотелось бы, тот же Live CD полностью в памяти

Оффлайн Yasno

  • Завсегдатай
  • *
  • Сообщений: 203
Re: Ram Linux
« Ответ #7 : 18.05.2019 13:30:12 »
# du -smx /.rw/rw/*
10   /.rw/rw/etc
2043   /.rw/rw/home
18   /.rw/rw/lib
1   /.rw/rw/mnt
1   /.rw/rw/root
681   /.rw/rw/usr
674   /.rw/rw/var
что это за команды, что делают?

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Ram Linux
« Ответ #8 : 18.05.2019 14:13:07 »
# du -smx /.rw/rw/*
10   /.rw/rw/etc
2043   /.rw/rw/home
18   /.rw/rw/lib
1   /.rw/rw/mnt
1   /.rw/rw/root
681   /.rw/rw/usr
674   /.rw/rw/var
что это за команды, что делают?

Эта команда отображает, сколько в мегабайтах занимает каждый каталог расположенный в alt-live-storage, куда программы что-либо сохраняют, включая кеш и логи. Там же находится и каталог пользователя. Т.о. вы можете иметь представление, какой объём памяти заняла бы сохранёнка, если бы она находилась на RAM-диске. Не считая самой системы. Плюс дополнительно свободное пространство под ваши нужды и необходимое системе.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Ram Linux
« Ответ #9 : 18.05.2019 14:59:07 »
За каких-нибудь 30-40 минут, полтора десятка процессов настучат не на диск так на флешку, пару десятков мегабайт
значит этот Puppy не настолько RAM,  на сколько хотелось бы, тот же Live CD полностью в памяти

В IS-DOS на ZX Spectrum, 27 лет назад, это работало так:
На дискете или винчестере лежит ядро системы, драйверы, утилиты и программы.
Под каждую основную архитектуру ZX Spectrum (128K, Profi, ATM Turbo, Scorpion ZS-256, KAY-1024) имелся блочный драйвер RAM-диска. Пользователь писал простой batch-файл, который загружал в динамически выделяемую область резидентов блочный драйвер *.blk RAM-диска. Набрасывал на RAM-диск программы и утилиты первой необходимости. В тот же batch-файл, вставлял команду, которая загружала в память образ  RAM-диска с флоппи-диска или винчестера, который предварительно создавался командой подобной dd. Файлы пользователь мог хранить или на RAM-диске или на носителе, в зависимости от того что нужно ему было. Если все файлы хранились на RAM-диске, то накопители не использовались совсем. Если бы вы видели как работает ZX Spectrum с IS-DOS на RAM-диске, вы увидели бы, насколько это быстрее Линукс работающего с HDD. При этом не забывайте, что это компьютер с процессором тактовой частотой в 3.5MHz, а турбо, это 7MHz. Причина такой скорости стара как мир: Память, это самый быстрый "накопитель". Кстати: об электронном винчестере, на ZX Spectrum заговорили в 94-ом году. Пройдут годы, и появится то, что потом назовут SSD.
Теоретически, учитывая минимальные потребности среднестатистического пользователя, такое можно организовать и в Линукс. Но самый минимальный требуемый объём физической памяти, 8Gb. При этом вы должны ориентироваться не на выбросы команды free, а на то, что сообщает ядро в /proc/meminfo. Минимально комфортный объём памяти в таком режиме работы, 16Gb физической памяти. Ни о каком swap не может быть и речи, иначе теряется весь смысл идеи. А современный Линукс, память жрёт, как не в себя. При этом и Линукс-ядро не устаёт дёргать накопитель. Конечно, можно было бы сказать, это не Линукс, это приложения. Но кому нужна голая система без приложений? Пользователь работает не с операционной системой, а с приложениями.

Оффлайн Yasno

  • Завсегдатай
  • *
  • Сообщений: 203
Re: Ram Linux
« Ответ #10 : 18.05.2019 15:33:24 »
минимальный требуемый объём физической памяти, 8Gb
да я понимаю что тут понадобится скорее 16 или 32 гига, но ведь это полёт колибри

Оффлайн Yasno

  • Завсегдатай
  • *
  • Сообщений: 203
Re: Ram Linux
« Ответ #11 : 18.05.2019 15:35:11 »
используя оверлей для всего корня или только для /var.
а что это, как делается, как это работает? принцип

Оффлайн Yasno

  • Завсегдатай
  • *
  • Сообщений: 203
Re: Ram Linux
« Ответ #12 : 18.05.2019 15:54:07 »
программы что-либо сохраняют
а вы можете протестить Krita, помоему она при рисовании сильно зависит от скорости диска
для теста надо создать новый документ размер 4000 на 4000 лучше больше и посмотреть насколько сильно при рисовании используется диск, кисть размером 500-600 px
https://binary-factory.kde.org/job/Krita_Stable_Appimage_Build/370/artifact/krita-4.1.8-b71cb53-x86_64.appimage

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Ram Linux
« Ответ #13 : 18.05.2019 20:35:39 »
минимальный требуемый объём физической памяти, 8Gb
да я понимаю что тут понадобится скорее 16 или 32 гига, но ведь это полёт колибри

Есть два стиля программирования:
Старая школа придерживалась рационального расхода ресурсов. Новая школа, простоты программирования.
И в свою очередь оптимальность ресурсоёмкости:
Первые, это программный метод. Вторые, это аппаратный. Что в свою очередь влечёт за собой достаточно частые расходы пользователя.
Здесь нужно помнить:
Что когда MemFree по мнению ядра уменьшится до 10-ти процентов и менее, Линукс войдёт в такой жуткий ступор, которого вы никогда не видели. И этот момент нужно предусматривать вне зависимости от имеющейся физической памяти.
Мне видится здесь два взаимодополняющих друг друга метода:
В Линукс кеш может разрастаться до гигабайтов и ядро считает это занятой памятью, а дропать кеш, сам Линукс не умеет. Как только MemFree уменьшится до 30-ти процентов и меньше, сервис-скрипт отслеживающий состояние свободной памяти должен дропать кеш. И этот процесс должен иметь высший приоритет. Это будет гарантировать, что кеш не разрастётся до невероятных размеров.
Другой момент, это отслеживание свободной от приложений физической памяти. Этот процесс должен работать чуть реже чем предыдущий, но тоже должен иметь высокий приоритет:
Как только MemFree уменьшится до 15-ти - 20-ти процентов, сервис earlyoom должен немедленно убить тяжёлое приложение, предотвратив мёртвый ступор Линукс.
И следить, чтобы %iowait не был опасно высоким.
Проще говоря, предусмотреть любые моменты, которые могут привести к отказу в обслуживании. А оно может быть не только последствием DoS-атаки. А последствия исчерпания ресурсов, в Линукс, мне доводилось видеть.
Справедливости ради стоит сказать что существуют легковесные дистрибутивы, вроде IceWM или Костиного IceArch. Но по правде говоря, они для довольно узкого круга пользователей. Как подтверждение тому:
В своё время в рамках клуба разрабатывался консольный live-sysv на базе p8/branch. И если на ZX Spectrum была концепция "быстро, быстрее, ещё быстрее", то основной концепцией при разработке этого консольного дистрибутива, была концепция "проще, ещё проще". В использовании конечно. Специально для этого дистрибутива были написаны ряд программ, ряд решений и собраны пакеты, но дистрибутив не обрёл сколь-нибудь значительного интереса и его разработка заглохла с выпуском 4-той версии.
Ну вот как-то так...

Оффлайн Yasno

  • Завсегдатай
  • *
  • Сообщений: 203
Re: Ram Linux
« Ответ #14 : 18.05.2019 21:07:10 »
IceWM или Костиного IceArch
IceWM не шибко симпатичный, его ставят на слабое железо, отсюда и малая популярность