shared memory가 잘 설정된 것인가요?

albamc의 이미지

shared memory를 잡아서 session 관리를 하려고 합니다.

처리해야할 세션의 수가 좀 많아서 3~4GB의 memory를 필요로 하네요.

관련 쓰레드가 있긴 한데 ...

http://bbs.kldp.org/viewtopic.php?t=37654&highlight=shared+memory+%C3%D6%B4%EB

이정도 크기에 대한 얘기는 없네요.

kernel의 shmmax 파라미터를 수정하고 shared memory를 잡으니까

NULL값이 아닌 포인터 값이 넘어오구요.

검색해보면 몇GB 이상의 큰 메모리를 shared memory로 잡는 예가 있어서

잘 잡힌(?) 것 같긴 한데 ...

"cat /proc/sysvipc/shm" 으로 현재 설정되어 있는 shared memory

정보를 보니 shmid가 0으로 나오네요.

shmid가 0인 경우는 한번도 보지를 못한지라...

잘 잡힌것이 맞나요?

"cat /proc/sysvipc/shm" 의 결과는 다음과 같습니다.

[CU1:/root/lm/lm-pdsn-1.0] cat /proc/sysvipc/shm
key shmid perms size cpid lpid nattch uid gid cuid cgid atime dtime ctime
1818 0 666 3221225472 709 0 0 0 0 0 0 0 0 1095662831

참 시스템은 HP Blade (P4 , 4GB ram) 에 redhat 8.0, kernel 2.4.27을
쓰고 있습니다.

서지훈의 이미지

제대로 잡혔는지의 여부는...
ipcs 이 명령어를 이용해서 확인 하시는게 맞을 듯 하네요.
여기에 잡힌 거면 확실히 있는 겁니다.
-a 옵션을 주면 모든게 나오니깐 확인 해보시길...

그리고, shmget() manual 을 보시면은...
positive 값이면 정상인 것입니다.
0을 포함...

man ipcs
man shmget

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);

albamc의 이미지

읔 죄송합니다.

man의 생활화... 를 소흘히 했군요.

답변 감사드립니다.

^^*