Nowe posty

Autor Wątek: usuwanie pamięci współdzielonej PROŚBA O POMOC  (Przeczytany 5745 razy)

edyta

  • Gość
usuwanie pamięci współdzielonej PROŚBA O POMOC
« dnia: 2010-06-15, 20:06:21 »
Witam.

mam problem z usunięciem pamięci współdzielonej. Próbuje to wykonać poleceniem ipcrm -m id , jednak nie przynosi to pożądanego skutku. Bardzo proszę o pomoc i jakieś wskazówki.

konsola wygląda następująco:
--------------------------------------------------------------------------------
emasnik@blade3:~$ ipcs |grep emasnik
0x00000000 1320550520 emasnik   600        393216     1          dest        
0x00000000 1308393765 emasnik   600        393216     1          dest        
0x00000000 1320616235 emasnik   600        393216     1          dest        
0x00000000 1440678199 emasnik   600        393216     1          dest        
0x00000000 1150419315 emasnik   600        393216     1          dest        
0x00000000 1148584308 emasnik   600        393216     1          dest        
0x00000000 1426227573 emasnik   600        393216     1          dest        
0x00000000 1455817078 emasnik   600        393216     1          dest        
0x00000000 1661796727 emasnik   600        393216     1          dest        
0x00000000 1665663365 emasnik   600        393216     2          dest        
emasnik@blade3:~$ ipcrm -m 1320550520
emasnik@blade3:~$ ipcs |grep emasnik
0x00000000 1320550520 emasnik   600        393216     1          dest        
0x00000000 1308393765 emasnik   600        393216     1          dest        
0x00000000 1320616235 emasnik   600        393216     1          dest        
0x00000000 1440678199 emasnik   600        393216     1          dest        
0x00000000 1150419315 emasnik   600        393216     1          dest        
0x00000000 1148584308 emasnik   600        393216     1          dest        
0x00000000 1426227573 emasnik   600        393216     1          dest        
0x00000000 1455817078 emasnik   600        393216     1          dest        
0x00000000 1661796727 emasnik   600        393216     1          dest        
0x00000000 1665663365 emasnik   600        393216     2          dest  
--------------------------------------------------------------------------------

jk33

  • Gość
usuwanie pamięci współdzielonej PROŚBA O POMOC
« Odpowiedź #1 dnia: 2010-06-15, 20:55:23 »
Zwróciłaś uwagę na przedostatnią kolumnę wypisywaną przez ipcs?

edyta

  • Gość
usuwanie pamięci współdzielonej PROŚBA O POMOC
« Odpowiedź #2 dnia: 2010-06-15, 21:04:13 »
nie, a co to dokładnie oznacza? Bo ja rozumiem to tak, ze jakiś proces ma ten obiekt w wirtualnej przestrzeni adresowej. Co mam zrobić żeby w tej przedostatniej kolumnie było 0?

jk33

  • Gość
usuwanie pamięci współdzielonej PROŚBA O POMOC
« Odpowiedź #3 dnia: 2010-06-15, 21:30:16 »
Dokładnie tak:
Cytuj
-m shmid
              removes the shared memory segment identified by shmid after the last detach is performed.
Nie można zwolnic pamięci współdzielonej dopóki jest zmapowana przez przynajmniej jeden proces..

Ale nie wiem czy da się w prosty sposób zdobyć listę procesów podłączonych do danego segmentu pamięci...

----
EDIT:
W ogóle co chcesz w ten sposób osiągnąć?

edyta

  • Gość
usuwanie pamięci współdzielonej PROŚBA O POMOC
« Odpowiedź #4 dnia: 2010-06-15, 21:43:18 »
Muszę po prostu posprzątać po sobie, żeby dostać wpis do indeksu. Odpaliłam kiedyś czyjś program i mam takie śmieci.
 
A to coś pomoże ?

konsola:
--------------------------------------------------
emasnik@blade3:~$ ipcs -p |grep emasnik
559874079  emasnik    7300       7337      
560037940  emasnik    7375       7418      
emasnik@blade3:~$ ps
  PID TTY          TIME CMD
 7418 pts/15   00:00:00 bash
 7481 pts/15   00:00:00 ps
emasnik@blade3:~$
-------------------------------------------------

W ogóle to jest dziwne, że teraz (po kolejnym zalogowaniu przez NO Machine na serwer wydziału) mam tylko 2 obiekty a nie jak wcześniej 10.

jk33

  • Gość
usuwanie pamięci współdzielonej PROŚBA O POMOC
« Odpowiedź #5 dnia: 2010-06-15, 21:50:28 »
ps bez parametrów wyświetla tylko procesy podpięte do bieżącego terminala. Jeśli odpaliłaś jakiś program na innym terminalu -- ps bez parametrów ich nie pokaże.

man ps

edyta

  • Gość
usuwanie pamięci współdzielonej PROŚBA O POMOC
« Odpowiedź #6 dnia: 2010-06-15, 21:58:09 »
nic więcej nie miałam odpalone

chmooreck

  • Gość
usuwanie pamięci współdzielonej PROŚBA O POMOC
« Odpowiedź #7 dnia: 2010-06-15, 23:25:17 »
ps -A | grep 7300
ps -A | grep 7375

edyta

  • Gość
usuwanie pamięci współdzielonej PROŚBA O POMOC
« Odpowiedź #8 dnia: 2010-06-16, 11:59:22 »
Po tym poleceniu ps -A|grep nr wyświetlają się te procesy. Następnie robię coś takiego : kill  nr i odpalam znowu ipcs. Niestety rezultat jest taki , że liczba obiektów pamięci współdzielonej zwiększa się o 1 za każdym razem.

chmooreck

  • Gość
usuwanie pamięci współdzielonej PROŚBA O POMOC
« Odpowiedź #9 dnia: 2010-06-16, 14:46:04 »
a co to są za procesy ?
jeśli nie są ważne i jesteś pewna co robisz: kill -KILL nr_procesu
nie startujesz ich czasem razem ze startem powłoki (pliki sprawdź konfiguracyjne) ?