Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модератор: SLEDopit

Ответить
Аватара пользователя
astronom1987
Сообщения: 1145
ОС: MX Linux
Контактная информация:

Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?

Сообщение astronom1987 »

Итак, как мы знаем когда начинается процесс запуска какого-то приложения (допустим в Linux), то в оперативной памяти оказывается не все оно, а только некая его часть, которая предусмотренная программистами для нормального использования нашей программы. А когда пользователь обаращатся какой-то ее функциональности, которая ранее не была подгружена, то тогда программа эта делает автоматически загружая дополнительнные данные из жесткого диска в оперативку для продолжения нормальной ее работы. Такой подход кажется вполне приемлемым особенно, что касается программ с большой функциональностью таких как скажем libreoffice.org .
Но допустим, что у меня есть не очень большая программа, которую мне позарез нужно, чтобы она все свои компоненты функицональности выгруажала в оперативную память сразу.
Как же в Linux добиться этого? Не запускать же ради одного приложения всю систему оперативную память учитывая даже то, что такая возможность в Linux есть?
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2378
ОС: gentoo fluxbox

Re: Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?

Сообщение yoricI »

Мне кажется, что никак, как написана программа, так и будет работать по своему плану. Ну можно потыкать в неё вручную, всю функциональность возбудить. А зачем, если не секрет?
astronom1987 писал:
15.06.2021 20:04
Не запускать же ради одного приложения всю систему оперативную память учитывая даже то, что такая возможность в Linux есть?
Туманно выражаетесь. И какая такая возможность в Linux есть?
Спасибо сказали:
Аватара пользователя
astronom1987
Сообщения: 1145
ОС: MX Linux
Контактная информация:

Re: Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?

Сообщение astronom1987 »

Вот Вы мне скажете, почему в Linux можно ВСЮ СИСТЕМУ выгрузить в оперативную память, а абсолютно все файлы какого-то одного приложения нет при условии, что изначально такая система работает с HDD, а не с оперативной памяти?
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2645
ОС: Gentoo

Re: Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?

Сообщение ormorph »

Смотрите в сторону zram, её можно отформатировать как фс, а на неё уже скидывать проги...
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?

Сообщение Bizdelnick »

Кстати, я недавно выяснил, что проблему XY впервые сформулировал вовсе не ESR.
Г. С. Альтшуллер. Найти идею. 1986 писал(а): В школе и вузе будущий инженер привыкает к тому, что условиям задачи следует безоговорочно доверять. Если в условиях сказано, что даны А и Б, и надо найти X, это значит, что найти надо именно X, и что приведённые данные (А и Б) вполне достаточны. В изобретательской задаче всё иначе: в процессе решения может выясниться, что найти надо не X, а Y, и для этого нужны не А и Б, а В и Г.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
delvin-fil
Сообщения: 135
ОС: Linux → Gentoo

Re: Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?

Сообщение delvin-fil »

Пишем модульную прогу, в опциях ядра и sysctl настраиваем выгружаемость и "вуаля"

Э, нет, товарищи критики: уже испытал - модули Python вполне загружаются и выносяться.
Есть нюанс - кодом поделиться не могу, ибо NDA :(
Но все гуглиться.
import __hello__
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3667
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?

Сообщение devilr »

Интересно было бы узнать, какой в сим действии смысл? Просто так держать в памяти весь файл - достаточно просто этот файл (с библиотеками) положить в /dev/shm и запустить. Однако это не даст гарантии, что в какой то момент система не скинет часть данных такой программы в своп.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
astronom1987
Сообщения: 1145
ОС: MX Linux
Контактная информация:

Re: Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?

Сообщение astronom1987 »

Спасибо за проявленное внимание к моей просьбе, но необходимость и в ней тоже отпала. А тому кто задавал о вопрос о целеообразности данного мероприятия скажу сразу, что все это нужно для тех приложений где есть критическим скорость и расспаралелирование выполняемых процессов одним или множеством копий одной и тоже программы.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как принудительно выгрузить всю исполняемую программу в оперативную память в Linux?

Сообщение Bizdelnick »

astronom1987 писал:
17.06.2021 19:09
это нужно для тех приложений где есть критическим скорость и расспаралелирование выполняемых процессов одним или множеством копий одной и тоже программы.
Нет, не нужно. Нужно другое: разобраться, как что-то работает, прежде чем пытаться внести в эту работу изменения.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Ответить