share memory

Diskutiere share memory im C/C++ Forum im Bereich Programmieren unter Linux/Unix; Hey Leute, ich habe zwei unterschiedliche Prozesse, die Daten austauschen müssen. einer schreibend und der andere lesend. Habe mir gedacht 1000x...

  1. #1 davidwal, 13.09.2007
    Zuletzt von einem Moderator bearbeitet: 13.09.2007
    davidwal

    davidwal Gast

    Hey Leute,
    ich habe zwei unterschiedliche Prozesse, die Daten austauschen müssen. einer schreibend und der andere lesend. Habe mir gedacht 1000x 5byte Sgemente als ShareM anzulegen und die daten dort abzulegen.
    Also ArraySize = 1000 und SegmentSize =5
    Code:
    int shmid[iArraySize];
    	key_t key[iArraySize];
    	void *shm[iArraySize];
    	int iSKey = iStartKey;
    	/*
    	 * distribute keys
    	 */
    	
    	
    	for (int i=0; i<iArraySize; i++) {
    		key[i] = iSKey;	
    		if ( (shmid[i] = shmget( key[i], iSegSize, IPC_CREAT | 0666)) < 0 ) {
    			cout<<i<< " SK: "<< key[i] << endl;
    			perror("error: shmget");
    		} 
    		iSKey++;
    	}
    gibt aber immer nur das zurück
    ....
    38 SK: 1440038
    error: shmget: No space left on device
    39 SK: 1440039
    error: shmget: No space left on device
    40 SK: 1440040
    error: shmget: No space left on device
    41 SK: 1440041
    error: shmget: No space left on device
    42 SK: 1440042
    error: shmget: No space left on device
    43 SK: 1440043
    error: shmget: No space left on device
    44 SK: 1440044
    error: shmget: No space left on device
    45 SK: 1440045
    error: shmget: No space left on device
    46 SK: 1440046
    ....
    Was bedeutet das? Der StartKey ist in einer Headerdatei für Schreibe/Leseprozess erreichtbar.

    Wo liegt das Problem
    ????
    Gruss David

    ADD: Da ist mir gerade noch etwas aufgefallen. Was haben die Key mit dem Speicherbereich zu tun?? wenn mich 1000 mal 5byte grosse segmente erstellen möchte - das es sein das beim 2333 schluss ist - siehe oben??

    GIBT ES BEFEHLE UNTER LINUX WOMIT MAN SICH DENN AKTUELLEN VERBRAUCHTEN SM ANSCHAUEN KANN??
     
  2. Anzeige

    Anzeige

    Wenn du mehr über Linux erfahren möchtest, dann solltest du dir mal folgende Shellkommandos anschauen.


    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

share memory

Die Seite wird geladen...

share memory - Ähnliche Themen

  1. Shared Memory Nutzung mit Pointer?

    Shared Memory Nutzung mit Pointer?: Hi, ich versuche gerade zwischen zwei Programmen Datenobjekte auszutauschen. Ein Datenobjekt hat ne variable Grösse - ist aber beiden Apps...
  2. Shared Memory Server Self-Made

    Shared Memory Server Self-Made: Hallo Leute! Für CAE Anwendungen brauchen wir einen neuen Computing-Server mit anständig Rechenleistung und Arbeitsspeicher. Dieser Server...
  3. SMB Zugriff auf Homeshare

    SMB Zugriff auf Homeshare: Hallo zusammen, Ich habe aktuell ein Problem beim erstellen einer Samba Freigabe und den Zugriff von einem Windows Client. Auf meinem Server...
  4. Pi zu einem Netshare service einrichten (SMB + Web)

    Pi zu einem Netshare service einrichten (SMB + Web): Hi, Ich habe in meinem Netzwerk zuhause einen Raspberry Pi stehen, den ich zu einem Kleinen lokalen net share service erweitern würde. Dabei soll...
  5. Win 10 1803 und alte Samba Versionen: EXE von Share startet, aber keine Netzwerkverbindungen

    Win 10 1803 und alte Samba Versionen: EXE von Share startet, aber keine Netzwerkverbindungen: Seit Windows 10 1803 habe ich folgenden Effekt auf mehreren PCs beobachtet: EXE Dateien lassen sich wie gewohnt von den Shares starten (am besten...
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden