рд▓рд┐рдирдХреНрд╕рдордзреАрд▓ рд╕реЗрдорд╛рдлреЛрд░реНрд╕рдЪрд╛ рдкрд░рд┐рдЪрдп

рд▓реЗрдЦрд╛рдЪрд╛ рдЕрдиреБрд╡рд╛рдж рдЕрднреНрдпрд╛рд╕рдХреНрд░рдо рд╕реБрд░реВ рд╣реЛрдгреНрдпрд╛рдЪреНрдпрд╛ рдЖрджрд▓реНрдпрд╛ рджрд┐рд╡рд╢реА рддрдпрд╛рд░ рдХреЗрд▓рд╛ рд╣реЛрддрд╛ "рдкреНрд░рд╢рд╛рд╕рдХ рд▓рд┐рдирдХреНрд╕. рдмреЗрд╕рд┐рдХ".

рд▓рд┐рдирдХреНрд╕рдордзреАрд▓ рд╕реЗрдорд╛рдлреЛрд░реНрд╕рдЪрд╛ рдкрд░рд┐рдЪрдп

рд╕реЗрдорд╛рдлреЛрд░ рд╣реА рдПрдХ рдпрдВрддреНрд░рдгрд╛ рдЖрд╣реЗ рдЬреА рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдгрд┐ рдереНрд░реЗрдбреНрд╕рдирд╛ рд╕рдВрд╕рд╛рдзрдиреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ рдЖрдгрд┐ рд░реЗрд╕, рдбреЗрдбрд▓реЙрдХ (рдореНрдпреБрдЪреНрдпреБрдЕрд▓ рд▓реЙрдХ) рдЖрдгрд┐ рдЧреИрд░рд╡рд░реНрддрди рдХрд░рдгрд╛рд░реЗ рдереНрд░реЗрдб рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рд╡рд┐рд╡рд┐рдз рд╕рдордХреНрд░рдордг рд╕рдорд╕реНрдпрд╛рдВрдордзреНрдпреЗ рдорджрдд рдХрд░рддреЗ.

рдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдХрд░реНрдирд▓ рдореНрдпреВрдЯреЗрдХреНрд╕, рд╕реЗрдорд╛рдлреЛрд░реНрд╕, рд╕рд┐рдЧреНрдирд▓ рдЖрдгрд┐ рдЕрдбрдерд│реЗ рдпрд╛рд╕рд╛рд░рдЦреА рд╕рд╛рдзрдиреЗ рдкреНрд░рджрд╛рди рдХрд░рддреЗ.

рд╕реЗрдорд╛рдлреЛрд░реНрд╕рдЪреЗ рддреАрди рдкреНрд░рдХрд╛рд░ рдЖрд╣реЗрдд:

  1. рдмрд╛рдпрдирд░реА рд╕реЗрдорд╛рдлреЛрд░реНрд╕
  2. рд╕реЗрдорд╛рдлреЛрд░реНрд╕-рдХрд╛рдЙрдВрдЯрд░ (рд╕реЗрдорд╛рдлреЛрд░ рдореЛрдЬрдгреЗ)
  3. рд╕реЗрдорд╛рдлреЛрд░реНрд╕рдЪреЗ рдЕреЕрд░реЗ (рд╕реЗрдорд╛рдлреЛрд░ рд╕реЗрдЯ)

IPC рд╕реНрдерд┐рддреА рдкрд╣рд╛

рдЦрд╛рд▓реАрд▓ рдХрдорд╛рдВрдб рдЗрдВрдЯрд░-рдкреНрд░реЛрд╕реЗрд╕ рдХрдореНрдпреБрдирд┐рдХреЗрд╢рди (IPC) рдЪреНрдпрд╛ рд╕рджреНрдп рд╕реНрдерд┐рддреАрдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рджреЗрддрд╛рдд.

# ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 65536 root 600 393216 2 dest
0x00000000 98305 root 600 393216 2 dest
0x00000000 131074 root 600 393216 2 dest
0x00000000 163843 root 600 393216 2 dest
0x00000000 196612 root 600 393216 2 dest
0x00000000 229381 root 600 393216 2 dest
0x00000000 262150 root 600 393216 2 dest
0x00000000 294919 root 600 393216 2 dest
0x00000000 327688 root 600 393216 2 dest
------ Semaphore Arrays --------

key semid owner perms nsems

------ Message Queues --------
key msqid owner perms used-bytes messages

рд╕реЗрдорд╛рдлреЛрд░реНрд╕рдЪреЗ рд╕рдХреНрд░рд┐рдп рдЕреЕрд░реЗ

рд╕рдХреНрд░рд┐рдп рд╕реЗрдорд╛рдлреЛрд░ рдЕреЕрд░реЗрдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рд╛.

# ipcs -s
------ Semaphore Arrays --------
key semid owner perms nsems

рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реА рд╡рд┐рднрд╛рдЧ

рд╕рдХреНрд░рд┐рдп рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реА рд╡рд┐рднрд╛рдЧрд╛рдВрдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдкрд╣рд╛.

# ipcs -m
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 65536 root 600 393216 2 dest
0x00000000 98305 root 600 393216 2 dest

рдорд░реНрдпрд╛рджрд╛

рд╕рдВрдШ ipcs -l рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реА, рд╕реЗрдорд╛рдлреЛрд░ рдЖрдгрд┐ рд╕рдВрджреЗрд╢ рдорд░реНрдпрд╛рджрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ.

# ipcs -l
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 4194303
max total shared memory (kbytes) = 1073741824
min seg size (bytes) = 1

------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 32
semaphore max value = 32767

------ Messages: Limits --------
max queues system wide = 16
max size of message (bytes) = 65536
default max size of queue (bytes) = 65536

рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реА

рдЦрд╛рд▓реАрд▓ рдХрдорд╛рдВрдб рд╢реЗрдЕрд░ рдХреЗрд▓реЗрд▓реА рдореЗрдорд░реА рджрд╛рдЦрд╡рддреЗ.

# ipcs -m
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 65536 root 600 393216 2 dest
0x00000000 98305 root 600 393216 2 dest
0x00000000 131074 root 600 393216 2 dest
0x00000000 163843 root 600 393216 2 dest
0x00000000 196612 root 600 393216 2 dest
0x00000000 229381 root 600 393216 2 dest
0x00000000 262150 root 600 393216 2 dest
0x00000000 294919 root 600 393216 2 dest
0x00000000 327688 root 600 393216 2 dest

рд╕рдВрд╕рд╛рдзрди рдирд┐рд░реНрдорд╛рддреЗ

рдХрдорд╛рдВрдб рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЖрдгрд┐ рд╕реНрддреНрд░реЛрддрд╛рдЪрд╛ рдорд╛рд▓рдХ рдЖрдгрд┐ рдирд┐рд░реНрдорд╛рддреНрдпрд╛рдЪрд╛ рдЧрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ.

# ipcs -m -c

------ Shared Memory Segment Creators/Owners --------
shmid perms cuid cgid uid gid
65536 600 root root root root
98305 600 root root root root
131074 600 root root root root
163843 600 root root root root
196612 600 root root root root
229381 600 root root root root
262150 600 root root root root
294919 600 root root root root
327688 600 root root root root

IPC рд╕рд╛рдзрдиреЗ рд╡рд╛рдкрд░рдгреЗ

рдЦрд╛рд▓реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рдордзреНрдпреЗ, рдкреЕрд░рд╛рдореАрдЯрд░ -u рд╕рд░реНрд╡ IPC рд╕рд╛рдзрдирд╛рдВрдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдЪрд╛ рд╕рд╛рд░рд╛рдВрд╢ рджрд╛рдЦрд╡рддреЛ.

# ipcs -u

------ Shared Memory Status --------
segments allocated 9
pages allocated 864
pages resident 477
pages swapped 0
Swap performance: 0 attempts 0 successes

------ Semaphore Status --------
used arrays = 0
allocated semaphores = 0

------ Messages: Status --------
allocated queues = 0
used headers = 0
used space = 0 bytes

рдЬреЗрд╡реНрд╣рд╛ рд╕реЗрд╡рд╛ рдерд╛рдВрдмрд╡рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд, рддреЗрд╡реНрд╣рд╛ рд╕реЗрдордлреЛрд░ рдЖрдгрд┐ рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реА рд╡рд┐рднрд╛рдЧ рджреЗрдЦреАрд▓ рд╣рдЯрд╡рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЬрд░ рддреЗ рдХрд╛рдврд▓реЗ рдЧреЗрд▓реЗ рдирд╛рд╣реАрдд, рддрд░ рд╣реЗ ipcrm рдХрдорд╛рдВрдб рд╡рд╛рдкрд░реВрди, IPC рдСрдмреНрдЬреЗрдХреНрдЯрдЪрд╛ рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ рдкрд╛рд╕ рдХрд░реВрди рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

# ipcs -a
# ipcrm -s < sem id>

рддреБрдореНрд╣реА рд╡рд╛рдкрд░реВрди рд╕реЗрдорд╛рдлреЛрд░ рдорд░реНрдпрд╛рджрд╛ рджреЗрдЦреАрд▓ рдмрджрд▓реВ рд╢рдХрддрд╛ sysctl.

# /sbin/sysctl -w kernel.sem=250

рд▓рд┐рдирдХреНрд╕рдордзреАрд▓ рд╕реЗрдорд╛рдлреЛрд░реНрд╕рдЪрд╛ рдкрд░рд┐рдЪрдп

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛