-
카테고리
-
세부 분야
시스템
-
해결 여부
미해결
POSIX MQ의 설정 문의
20.01.04 00:04 작성 조회수 421
1
mq_maxmsg = 10
mq_msgsize = 8192
mq_open에서 위의 설정을 변경하면 오류가 발생합니다. 해당 값을 변경해서 mq를 만들려면 어떻게해야하나요?
답변을 작성해보세요.
0
MIKE.aeon
질문자2020.01.07
빠른 답변 감사합니다.
최대값보다 크게도 설정이 가능한줄 알고 했는데,
답변주신대로, 설정값보다 작게 잘되서 root로 설정값을 크게하고 다시 설정값을 조정하니 오류없이 잘되고 있습니다.
감사합니다.
0
ProgCoach4U
지식공유자2020.01.04
어떤 에러가 왜 발생했는지 알아야 해결이 가능할 것 같습니다.
maxmsg/msgsize를 변경하여 mq_open() 시 에러가 발생하는 상황에서, errno는 어떤 값을 반환했나요?
maxmsg/msgsize를 위의 값보다 작게 변경하는 경우에도 생성이 실패하나요?
- 위의 값(10/8192)보다 작은 값으로 설정하면 성공하고, 큰 값으로 설정한 경우에만 실패한다면 시스템의 max값 초과로 인해 실패할 수 있습니다.
- maxmsg/msgsize의 최대값은 아래 명령으로 조회할 수 있습니다.
-> cat /proc/sys/fs/mqueue/msg_max
-> cat /proc/sys/fs/mqueue/msgsize_max
- maxmsg/msgsize의 최대값은 아래 명령으로 설정할 수 있습니다.(단, root 권한 필요)
-> echo 100 > /proc/sys/fs/mqueue/msg_max
-> echo 10000 > /proc/sys/fs/mqueue/msgsize_max
같은 이름의 mqueue가 이미 생성되어 있지는 않나요?
- /dev/mqueue/MQNAME 파일이 존재한다면 삭제하고 다시 시도해보세요.
답변 올려주시면 다시 검토해보겠습니다~
답변 2