Вопросы по теме 'shared-memory'

Как изменить общую память (shmget/shmat) в C?
У меня есть структура: struct sdata { int x; int y; time_t time; }; Я создаю общую память для структуры следующим образом: size_t shmsize = sizeof(struct sdata); shmid = shmget(IPC_PRIVATE, shmsize, IPC_CREAT | 0666);...
8329 просмотров
schedule 26.12.2023

Как я могу разделить dict между двумя разными http-запросами
Приложение Django загружает данные из файла в словарь Python, обрабатывает их и отправляет в виде http-ответа. Теперь скажем, что на веб-сервер получено n запросов, тогда это приложение Django будет запускаться n раз и загружать данные из файла в...
1176 просмотров
schedule 26.10.2023

Дочерний процесс ждет родителя, затем он выполняется, а затем наоборот в C linux
I'm creating a parent-child process in C and these processes are using an array of characters as a shared memory and I want the execution to be in this sequence родитель->дочерний->родитель->дочерний->родитель->дочерний .... and so on, i am using...
288 просмотров
schedule 18.02.2024

Ссылка на идентификатор PHP shmop и размер массива
Я пытаюсь упростить вызовы функций кэширования, написав функции для обработки массивов и автоматического именования. Это должно работать в большинстве случаев, когда данные обновляются нечасто. Вот что я получил до сих пор: function...
1109 просмотров
schedule 15.02.2024

Обеспечивает ли NIO преимущества даже при использовании небольшого сериализованного потока из / dev / shm?
Например. Есть какое-то приложение (вне моего контроля src), которое производит тысячи и тысячи сериализованных экземпляров Map, хранящихся как / dev / shm / {some Map-ID} .ser. Они сериализуются с использованием простого старого пакета java.io. *....
58 просмотров
schedule 22.09.2022

Совместное использование разреженного массива SciPy между объектами процесса
Недавно я изучал многопроцессорную обработку Python и столкнулся с препятствием. У меня есть большой разреженный массив SciPy (формат CSC), который мне нужно разделить в формате только для чтения между 5 рабочими процессами. Я прочитал это и...
1070 просмотров

Как поделиться переменной char ** с помощью общей памяти
Я использую общую память для связи между двумя процессами. Я использую char** для подключения к общему адресному пространству. Проблема в том, что когда я заполняю данные о производителе, а затем присоединяю потребителя к адресному пространству,...
863 просмотров
schedule 16.01.2024

Как заставить копирование при записи работать с общей памятью в Linux
Я попытался написать небольшое приложение, чтобы познакомиться с концепцией копирования при записи в пользовательском пространстве. Я прочитал ответ MSalters и решил, что он будет работать, только если я начну с mmap 'ed файла, чтобы хранить мои...
1817 просмотров

Зачем использовать shm_open?
В чем преимущество: shm_open следует за mmap ? Почему бы не создать обычный файл, а затем передать этот fd в mmap ? Я не вижу преимущества shm_open — это просто ссылки, они не? Я читал человека всей семьи. Мне кажется, что секрет в...
18904 просмотров
schedule 15.12.2023

Как системы Unix отслеживают общую память при обработке fork()?
Процесс A создает общую область памяти и использует ее совместно с Процессом B . Затем Процесс A разветвляется и таким образом создается Процесс C . По определению C теперь имеет доступ к тем же областям общей памяти. Если A умирает, C...
77 просмотров

Джулия выделяет огромное количество памяти по неизвестной причине
Я пытаюсь распараллелить небольшой научный код, который написал. Но когда я добавляю @parallelize , аналогичный код только на одном процессоре внезапно начинает выполняться в 10 раз дольше. Должно пройти примерно столько же времени. Первый код...
192 просмотров

Избегайте дублирования переменных, используя fork() в C
Я реализую сервер, который обслуживает несколько клиентов, и мне нужно, чтобы какая-то переменная сервера находилась в общей памяти, чтобы клиент действительно видел, что в конечном итоге отредактировал другой клиент. Я попытался осмотреться, но я...
149 просмотров
schedule 03.03.2024

Получение (удаление) страниц при использовании shmget и shmat
Я написал следующие 2 тестовые программы, одна из которых использует shmat , а другая использует shmget и первый двоичный файл execve. Код выглядит следующим образом: - int main(int argc, char **argv) { void *retval; long shmid =...
129 просмотров
schedule 06.02.2024

производительность разделяемой памяти и защита от других процессов
Я пытаюсь реализовать JIT-компилятор (у меня очень гиковское хобби). Я хотел бы иметь один основной процесс, который хранит некоторые постоянные переменные, и второй процесс (который был скомпилирован как раз вовремя), который выполняет некоторые...
948 просмотров
schedule 12.12.2022

Общая память с массивом структур
Я использую массив структур для обмена данными между двумя процессами. Программа через 3 секунды выдает ошибку Segmentation fault , когда я пытаюсь получить доступ к общей памяти в родительский процесс. Почему данные не распределяются корректно?...
4284 просмотров
schedule 01.05.2024

Собрать дамп ядра с общей памятью запущенного процесса
Дамп ядра собирает только пространство процесса, но не общую память, которая создается для межпроцессного взаимодействия. Как я могу сделать дамп ядра, чтобы он также включал общую память запущенного процесса?
3306 просмотров
schedule 08.12.2022

шмгет не работает
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/wait.h> #include <sys/shm.h> int main() { int i=0; int shmid; int...
3342 просмотров
schedule 19.05.2024

Хранение многих переменных в общей памяти
Я работаю с многопоточностью и общей памятью, и мне просто интересно, как лучше всего настроить общую память. Пока что сделал так, все ключи разные: if ((shmid1 = shmget(key1, 1024, IPC_CREAT)) == -1) error("ERROR on shmget1"); if ((shmid2 =...
684 просмотров
schedule 25.10.2023

Копирование данных из объекта, отображаемого в общую память, с помощью sendfile()/fcopyfile()
Возможно ли — и если это так разумно — использовать sendfile() (или его двоюродного брата Darwin/BSD fcopyfile() ) для передачи данных непосредственно между объектом общей памяти и файлом? Такие функции, как sendfile() и fcopyfile() , могут...
830 просмотров

Можно ли выделить в личном пространстве памяти объект, созданный для увеличения управляемой общей памяти?
Допустим, я набрал вектор, который будет использоваться для увеличения общей памяти. При его создании я должен передать аллокатор из manage_shared_memory, что имеет смысл. Если я хочу использовать тот же тип вектора, но размещать его не в общей...
220 просмотров
schedule 12.12.2022