Unix & Linux/Command-Utility / 2008/04/03 19:54
PARAMETER
MSGMNB: Maximum number of bytes per message queue.
MSGMNI: Maximum number of message queue identifiers (system wide).
MSGSEG : Maximum number of message segments per queue.
MSGSSZ : Size of a message segment.
MSGTQL : Maximum number of messages (system wide).
MSGMAX: Maximum size of a whole message. On some systems you may need to increase this limit.
On other systems, you may not be able to change it.
- 참고 블로그 : http://elenoa.tistory.com/47
UNIX OS 에서 확인하기
- SOLARIS
sysdef -i | grep MSG
- HP-UX
kmtune | grep msg
- LINUX
cat /proc/sys/kernel/msgmax
cat /proc/sys/kernel/msgmnb
cat /proc/sys/kernel/msgmni
또는 sysctl 명령어를 사용할 수 있다.
- sysctl option
-n Use this option to disable printing of the key name when printing values.
-e Use this option to ignore errors about unknown keys.
-N Use this option to only print the names. It may be useful with shells that have pro-
grammable completion.
-q Use this option to not display the values set to stdout.
-w Use this option when you want to change a sysctl setting.
-p Load in sysctl settings from the file specified or /etc/sysctl.conf if none given. Spec-
ifying - as filename means reading data from standard input.
-a Display all values currently available.
-A Display all values currently available in table form.
EXAMPLES
/sbin/sysctl -a
/sbin/sysctl -n kernel.hostname
/sbin/sysctl -w kernel.domainname="example.com"
/sbin/sysctl -p /etc/sysctl.conf
IPC관련 Kernel Tunable Parameter 설정
Solaris
/etc/system 에 예를 들어 다음과 같이 kernel tunnable parameter를 설정하여 쓸수 있습니다.
#
#
set pt_cnt=256
set npty=256
set msgsys:msginfo_msgmap = 1000
set msgsys:msginfo_msgmax = 8192
set msgsys:msginfo_msgmnb = 1048576
set msgsys:msginfo_msgmni = 200
set msgsys:msginfo_msgssz = 400
set msgsys:msginfo_msgtql = 8192
set msgsys:msginfo_msgseg = 4096
set shmsys:shminfo_shmmax = 4294967296
set shmsys:shminfo_shmmni = 100
set shmsys:shminfo_shmseg = 32
시스템의 /etc/system을 확인해보시고, 설정이 안되어 있는 경우 설정 후 재부팅하여 장비를 재기동시켜 적용하시기 바랍니다.
참고: Solaris Kernel Tunable Parameter - IPC 관련
parameter | Default | Description
-----------------------------------------------------------------------
msginfo_msgmap | 100 | messages map안의 항들의 수
msginfo_msgmax | 2048 | 최대 message 크기
msginfo_msgmnb | 4096 | queue의 최대 bytes
msginfo_msgmni | 50 | mesaage queue identifers의 수
msginfo_msgssz | 8 | 한 messages의 segment 크기
msginfo_msgtql | 40 | system messages headers의 수
msginfo_msgseq | 1024 | messages segments의 수( ?<32768 )
-----------------------------------------------------------------------
seminfo_semmap | 10 | semphore map의 항들의 수
seminfo_semmni | 10 | semphore identiers의 수
seminfo_semmns | 60 | system상에 semphores의 수
seminfo_semmnu | 30 | system상에 undo structures의 수
seminfo_semmsl | 25 | id마다 semaphores의 최대 수
seminfo_semopm | 10 | semphore call마다 연산들의 최대 수
seminfo_semume | 10 | process당 undo entries의 최대 수
seminfo_semvmx | 32767 | semphore 최대값
seminfo_semaem | 16384 | maximum value for adjustment on exit
----------------------------------------------------------------------
shminfo_shmmax | 1048576 | maximum shared memory segment size
shminfo_shmmin | 1 | minimum shared memory segment size
shminfo_shmmni | 100 | shared memory identifiers의 수
shminfo_shmseg | 6 | process당 segments
-----------------------------------------------------------------------
HPUX(Tandem)
- NonStop-UX tandem 4.2MP C52IPM10.puma.0326.20:29 S4000 mips
- idtune 명령으로 kenerl 파라메터 조정 (root만 수행가능)
# /etc/conf/bin/idtune -g MSGMAX
16384 8192 512 131072
(cur) (def) (min) (max)
# /etc/conf/bin/idtune -g MSGMNB
16384 16384 4096 6291456
(cur) (def) (min) (max)
HPUX(C449)
- HP-UX dncp1 B.11.00 E 9000/888 2140000971 8-user license
- kmtune 명령으로 kernel 파라메터 조정
Parameter: msgmax
Value: 8192
Default: 8192
Parameter: msgmnb
Value: 65536
Default: 16384
HPUX(rp7420)
- HP-UX hahlr1 B.11.23 U 9000/800 3333801845 unlimited-user license
- kctune 명령으로 kernel 파라메터 조정
hahlr@hahlr1:/etc:232 % kctune msgmax
Tunable Value Expression Changes
msgmax 8192 Default Immed
hahlr@hahlr1:/etc:235 % kctune msgmnb
Tunable Value Expression Changes
msgmnb 1048576 1048576 Immed
Linux
현재 Message Queue 사이즈
#> sysctl -a | grep kernel.msg
kernel.msgmax = 8192
kernel.msgmni = 16
kernel.msgmnb = 16384
Message Queue 사이즈 변경
#> sysctl -w kernel.msgmni=1024
#> sysctl -w kernel.msgmnb=1048576
설정파일에 저장
vi /etc/sysctl.conf => 새 설정값 저장
kernel.msgmni=1024
kernel.msgmnb=1048576
출처
'Linux' 카테고리의 다른 글
NMS의 기본 개념 - 장애관리 (295) | 2011.08.23 |
---|---|
Unix Domain Socket UDP (304) | 2011.08.19 |
[명령어]OS 별 CPU, Memory, 커널Bit 확인방법 (475) | 2011.08.11 |
RAID (320) | 2011.08.11 |
SNMP란 무엇인가요? (308) | 2011.08.11 |