Вопросы по теме '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 просмотров
schedule
05.12.2023
Как поделиться переменной char ** с помощью общей памяти
Я использую общую память для связи между двумя процессами. Я использую char** для подключения к общему адресному пространству. Проблема в том, что когда я заполняю данные о производителе, а затем присоединяю потребителя к адресному пространству,...
863 просмотров
schedule
16.01.2024
Как заставить копирование при записи работать с общей памятью в Linux
Я попытался написать небольшое приложение, чтобы познакомиться с концепцией копирования при записи в пользовательском пространстве. Я прочитал ответ MSalters и решил, что он будет работать, только если я начну с mmap 'ed файла, чтобы хранить мои...
1817 просмотров
schedule
05.05.2024
Зачем использовать shm_open?
В чем преимущество: shm_open следует за mmap ? Почему бы не создать обычный файл, а затем передать этот fd в mmap ? Я не вижу преимущества shm_open — это просто ссылки, они не?
Я читал человека всей семьи. Мне кажется, что секрет в...
18904 просмотров
schedule
15.12.2023
Как системы Unix отслеживают общую память при обработке fork()?
Процесс A создает общую область памяти и использует ее совместно с Процессом B . Затем Процесс A разветвляется и таким образом создается Процесс C . По определению C теперь имеет доступ к тем же областям общей памяти. Если A умирает, C...
77 просмотров
schedule
10.05.2024
Джулия выделяет огромное количество памяти по неизвестной причине
Я пытаюсь распараллелить небольшой научный код, который написал. Но когда я добавляю @parallelize , аналогичный код только на одном процессоре внезапно начинает выполняться в 10 раз дольше. Должно пройти примерно столько же времени. Первый код...
192 просмотров
schedule
19.11.2022
Избегайте дублирования переменных, используя 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 просмотров
schedule
01.11.2023
Можно ли выделить в личном пространстве памяти объект, созданный для увеличения управляемой общей памяти?
Допустим, я набрал вектор, который будет использоваться для увеличения общей памяти. При его создании я должен передать аллокатор из manage_shared_memory, что имеет смысл.
Если я хочу использовать тот же тип вектора, но размещать его не в общей...
220 просмотров
schedule
12.12.2022