Итак, как мы знаем когда начинается процесс запуска какого-то приложения (допустим в Linux), то в оперативной памяти оказывается не все оно, а только некая его часть, которая предусмотренная программистами для нормального использования нашей программы. А когда пользователь обаращатся какой-то ее функциональности, которая ранее не была подгружена, то тогда программа эта делает автоматически загружая дополнительнные данные из жесткого диска в оперативку для продолжения нормальной ее работы. Такой подход кажется вполне приемлемым особенно, что касается программ с большой функциональностью таких как скажем libreoffice.org .
Но допустим, что у меня есть не очень большая программа, которую мне позарез нужно, чтобы она все свои компоненты функицональности выгруажала в оперативную память сразу.
Как же в Linux добиться этого? Не запускать же ради одного приложения всю систему оперативную память учитывая даже то, что такая возможность в Linux есть?
Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?
Модераторы: SLEDopit, Модераторы разделов
-
- Сообщения: 1145
- ОС: MX Linux
-
- Сообщения: 2622
- ОС: gentoo fluxbox
Re: Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?
Мне кажется, что никак, как написана программа, так и будет работать по своему плану. Ну можно потыкать в неё вручную, всю функциональность возбудить. А зачем, если не секрет?
Туманно выражаетесь. И какая такая возможность в Linux есть?astronom1987 писал: ↑15.06.2021 20:04Не запускать же ради одного приложения всю систему оперативную память учитывая даже то, что такая возможность в Linux есть?
Спасибо сказали:
-
- Сообщения: 1145
- ОС: MX Linux
Re: Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?
Вот Вы мне скажете, почему в Linux можно ВСЮ СИСТЕМУ выгрузить в оперативную память, а абсолютно все файлы какого-то одного приложения нет при условии, что изначально такая система работает с HDD, а не с оперативной памяти?
-
- Сообщения: 2913
- ОС: Gentoo
Re: Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?
Смотрите в сторону zram, её можно отформатировать как фс, а на неё уже скидывать проги...
-
- Модератор
- Сообщения: 21033
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?
Кстати, я недавно выяснил, что проблему XY впервые сформулировал вовсе не ESR.
Г. С. Альтшуллер. Найти идею. 1986 писал(а): В школе и вузе будущий инженер привыкает к тому, что условиям задачи следует безоговорочно доверять. Если в условиях сказано, что даны А и Б, и надо найти X, это значит, что найти надо именно X, и что приведённые данные (А и Б) вполне достаточны. В изобретательской задаче всё иначе: в процессе решения может выясниться, что найти надо не X, а Y, и для этого нужны не А и Б, а В и Г.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 135
- ОС: Linux → Gentoo
Re: Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?
Пишем модульную прогу, в опциях ядра и sysctl настраиваем выгружаемость и "вуаля"
Э, нет, товарищи критики: уже испытал - модули Python вполне загружаются и выносяться.
Есть нюанс - кодом поделиться не могу, ибо NDA![:(](./images/smilies/sad.gif)
Но все гуглиться.
Э, нет, товарищи критики: уже испытал - модули Python вполне загружаются и выносяться.
Есть нюанс - кодом поделиться не могу, ибо NDA
![:(](./images/smilies/sad.gif)
Но все гуглиться.
import __hello__
-
- Сообщения: 3689
- ОС: Mandriva => Gentoo (~amd64)
Re: Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?
Интересно было бы узнать, какой в сим действии смысл? Просто так держать в памяти весь файл - достаточно просто этот файл (с библиотеками) положить в /dev/shm и запустить. Однако это не даст гарантии, что в какой то момент система не скинет часть данных такой программы в своп.
-
- Сообщения: 1145
- ОС: MX Linux
Re: Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?
Спасибо за проявленное внимание к моей просьбе, но необходимость и в ней тоже отпала. А тому кто задавал о вопрос о целеообразности данного мероприятия скажу сразу, что все это нужно для тех приложений где есть критическим скорость и расспаралелирование выполняемых процессов одним или множеством копий одной и тоже программы.
-
- Модератор
- Сообщения: 21033
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?
Нет, не нужно. Нужно другое: разобраться, как что-то работает, прежде чем пытаться внести в эту работу изменения.astronom1987 писал: ↑17.06.2021 19:09это нужно для тех приложений где есть критическим скорость и расспаралелирование выполняемых процессов одним или множеством копий одной и тоже программы.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали: