MSG QUEUE SIZE 확인

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.

   

   

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

   

   

   

   

   출처

<http://revoman.nudecode.org/110#comment8832056>에서 삽입

반응형

'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

+ Recent posts