ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡΠ°ΡšΠ΅ ΠΎΠΏΡ†ΠΈΡ˜Π° Π›ΠΈΠ½ΡƒΠΊ ΠΊΠ΅Ρ€Π½Π΅Π»Π° Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Ρƒ ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ›-Π°

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡΠ°ΡšΠ΅ ΠΎΠΏΡ†ΠΈΡ˜Π° Π›ΠΈΠ½ΡƒΠΊ ΠΊΠ΅Ρ€Π½Π΅Π»Π° Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Ρƒ ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ›-Π° ΠžΠΏΡ‚ΠΈΠΌΠ°Π»Π½Π΅ пСрформансС ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ›-Π° зависС ΠΎΠ΄ исправно дСфинисаних ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ систСма. Π›ΠΎΡˆΠ΅ конфигурисанС поставкС Ρ˜Π΅Π·Π³Ρ€Π° ОБ-Π° ΠΌΠΎΠ³Ρƒ довСсти Π΄ΠΎ Π»ΠΎΡˆΠΈΡ… пСрформанси сСрвСра Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°. Π‘Ρ‚ΠΎΠ³Π° јС ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ² Π΄Π° сС ΠΎΠ²Π΅ поставкС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡˆΡƒ Ρƒ складу са сСрвСром Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° ΠΈ њСговим Ρ€Π°Π΄Π½ΠΈΠΌ ΠΎΠΏΡ‚Π΅Ρ€Π΅Ρ›Π΅ΡšΠ΅ΠΌ. Π£ ΠΎΠ²ΠΎΠΌ посту Ρ›Π΅ΠΌΠΎ Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€Π°Ρ‚ΠΈ ΠΎ Π½Π΅ΠΊΠΈΠΌ Π²Π°ΠΆΠ½ΠΈΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠΌΠ° Π›ΠΈΠ½ΡƒΠΊ ΠΊΠ΅Ρ€Π½Π΅Π»Π° који ΠΌΠΎΠ³Ρƒ ΡƒΡ‚ΠΈΡ†Π°Ρ‚ΠΈ Π½Π° пСрформансС сСрвСра Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° ΠΈ ΠΊΠ°ΠΊΠΎ ΠΈΡ… конфигурисати.

Π‘Π₯ММАКБ / Π‘Π₯ΠœΠΠ›Π›

Π‘Π₯ММАКБ јС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ ΠΊΠ΅Ρ€Π½Π΅Π»Π° који сС користи Π·Π° ΠΎΠ΄Ρ€Π΅Ρ’ΠΈΠ²Π°ΡšΠ΅ максималнС Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ јСдног сСгмСнта Π΄Π΅Ρ™Π΅Π½Π΅ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅ који Π›ΠΈΠ½ΡƒΠΊ процСс ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ΄Π΅Π»ΠΈ. ΠŸΡ€Π΅ Π²Π΅Ρ€Π·ΠΈΡ˜Π΅ 9.2, ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ› јС користио БистСм Π’ (БисВ), који Π·Π°Ρ…Ρ‚Π΅Π²Π° поставку Π‘Π₯ММАКБ. ПослС 9.2, ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ› јС ΠΏΡ€Π΅ΡˆΠ°ΠΎ Π½Π° ПОБИКБ Π·Π°Ρ˜Π΅Π΄Π½ΠΈΡ‡ΠΊΡƒ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Ρƒ. Π”Π°ΠΊΠ»Π΅, сада јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ мањС Π±Π°Ρ˜Ρ‚ΠΎΠ²Π° Π·Π°Ρ˜Π΅Π΄Π½ΠΈΡ‡ΠΊΠ΅ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅ систСма Π’.

ΠŸΡ€Π΅ Π²Π΅Ρ€Π·ΠΈΡ˜Π΅ 9.3, Π‘Π₯ММАКБ јС Π±ΠΈΠΎ најваТнији ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ ΠΊΠ΅Ρ€Π½Π΅Π»Π°. Π‘Π₯ММАКБ врСдност јС Π½Π°Π²Π΅Π΄Π΅Π½Π° Ρƒ Π±Π°Ρ˜Ρ‚ΠΎΠ²ΠΈΠΌΠ°.

Π‘Π»ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΠ΅, Π‘Π₯ΠœΠΠ›Π› јС још јСдан ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ ΠΊΠ΅Ρ€Π½Π΅Π»Π° који сС користи Π·Π° ΠΎΠ΄Ρ€Π΅Ρ’ΠΈΠ²Π°ΡšΠ΅
ΠΎΠ±ΠΈΠΌ страница Π΄Π΅Ρ™Π΅Π½Π΅ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅ Ρƒ Ρ†Π΅Π»ΠΎΠΌ систСму. Π”Π° бистС Π²ΠΈΠ΄Π΅Π»ΠΈ Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½Π΅ врСдности Π‘Π₯ММАКБ, Π‘Π₯ΠœΠΠ›Π› ΠΈΠ»ΠΈ Π‘Π₯ММИН, користитС Π½Π°Ρ€Π΅Π΄Π±Ρƒ ипцс.

Π‘Π₯М* Π”Π΅Ρ‚Π°Ρ™ΠΈ - Π›ΠΈΠ½ΡƒΠΊ

$ ipcs -lm

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

Π‘Π₯М* Π”Π΅Ρ‚Π°Ρ™ΠΈ - ΠœΠ°Ρ†ΠžΠ‘ Кс

$ ipcs -M
IPC status from  as of Thu Aug 16 22:20:35 PKT 2018
shminfo:
	shmmax: 16777216	(max shared memory segment size)
	shmmin:       1	(min shared memory segment size)
	shmmni:      32	(max number of shared memory identifiers)
	shmseg:       8	(max shared memory segments per process)
	shmall:    1024	(max amount of shared memory in pages)

ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ› користи БистСм Π’ ИПЦ Π΄Π° Π΄ΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ Π·Π°Ρ˜Π΅Π΄Π½ΠΈΡ‡ΠΊΡƒ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Ρƒ. Овај ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ јС јСдан ΠΎΠ΄ Π½Π°Ρ˜Π²Π°ΠΆΠ½ΠΈΡ˜ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€Π° ΠΊΠ΅Ρ€Π½Π΅Π»Π°. Кад Π³ΠΎΠ΄ Π΄ΠΎΠ±ΠΈΡ˜Π΅Ρ‚Π΅ слСдСћС ΠΏΠΎΡ€ΡƒΠΊΠ΅ ΠΎ Π³Ρ€Π΅ΡˆΡ†ΠΈ, Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ ΡΡ‚Π°Ρ€ΠΈΡ˜Ρƒ Π²Π΅Ρ€Π·ΠΈΡ˜Ρƒ ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ›-Π° ΠΈ Π΄Π° јС ваша Π‘Π₯ММАКБ врСдност Π²Π΅ΠΎΠΌΠ° ниска. Од корисника сС ΠΎΡ‡Π΅ΠΊΡƒΡ˜Π΅ Π΄Π° ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄Π΅ ΠΈ ΠΏΠΎΠ²Π΅Ρ›Π°Ρ˜Ρƒ врСдност ΠΏΡ€Π΅ΠΌΠ° Π·Π°Ρ˜Π΅Π΄Π½ΠΈΡ‡ΠΊΠΎΡ˜ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜ΠΈ ΠΊΠΎΡ˜Ρƒ Π½Π°ΠΌΠ΅Ρ€Π°Π²Π°Ρ˜Ρƒ Π΄Π° користС.

ΠœΠΎΠ³ΡƒΡ›Π΅ Π³Ρ€Π΅ΡˆΠΊΠ΅ Ρƒ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡ˜ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜ΠΈ

Ако Π‘Π₯ММАКБ нијС исправно конфигурисан, ΠΌΠΎΠΆΠ΄Π° Ρ›Π΅Ρ‚Π΅ Π΄ΠΎΠ±ΠΈΡ‚ΠΈ Π³Ρ€Π΅ΡˆΠΊΡƒ ΠΊΠ°Π΄Π° ΠΏΠΎΠΊΡƒΡˆΠ°Ρ‚Π΅ Π΄Π° ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·ΡƒΡ˜Π΅Ρ‚Π΅ ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ› кластСр користСћи ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ½ΠΈΡ‚Π΄Π±.

ΠΈΠ½ΠΈΡ‚Π΄Π± Π€Π°ΠΈΠ»ΡƒΡ€Π΅
DETAIL: Failed system call was shmget(key=1, size=2072576, 03600).

HINT: This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter. 
You can either reduce the request size or reconfigure the kernel with larger SHMMAX. To reduce the request size (currently 2072576 bytes),
reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.

If the request size is already small, it's possible that it is less than your kernel's SHMMIN parameter,
in which case raising the request size or reconfiguring SHMMIN is called for.

The PostgreSQL documentation contains more information about shared memory configuration. child process exited with exit code 1

Π˜ΡΡ‚ΠΎ Ρ‚Π°ΠΊΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±ΠΈΡ‚ΠΈ Π³Ρ€Π΅ΡˆΠΊΡƒ ΠΏΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ° ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ› сСрвСра ΠΏΠΎΠΌΠΎΡ›Ρƒ Π½Π°Ρ€Π΅Π΄Π±Π΅ ΠΏΠ³_Ρ†Ρ‚Π».

ΠΏΠ³_Ρ†Ρ‚Π» Π€Π°ΠΈΠ»ΡƒΡ€Π΅
DETAIL: Failed system call was shmget(key=5432001, size=14385152, 03600).

HINT: This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter.

You can either reduce the request size or reconfigure the kernel with larger SHMMAX.; To reduce the request size (currently 14385152 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.

If the request size is already small, it's possible that it is less than your kernel's SHMMIN parameter,
in which case raising the request size or reconfiguring SHMMIN is called for.

The PostgreSQL documentation contains more information about shared memory configuration.

Π Π°Π·ΡƒΠΌΠ΅Π²Π°ΡšΠ΅ Ρ€Π°Π·Π»ΠΈΠΊΠ° Ρƒ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°ΠΌΠ°

Π”Π΅Ρ„ΠΈΠ½ΠΈΡΠ°ΡšΠ΅ Π‘Π₯ММАКБ/Π‘Π₯ΠœΠΠ›Π› ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€Π° јС ΠΌΠ°Π»ΠΎ Π΄Ρ€ΡƒΠ³Π°Ρ‡ΠΈΡ˜Π΅ Π½Π° Π›ΠΈΠ½ΡƒΠΊ-Ρƒ ΠΈ ΠœΠ°Ρ†ΠžΠ‘-Ρƒ Кс:

  • Π›ΠΈΠ½ΡƒΠΊ: ΠΊΠ΅Ρ€Π½Π΅Π».схммак, ΠΊΠ΅Ρ€Π½Π΅Π».схмалл
  • ΠœΠ°Ρ†ΠžΠ‘ Кс: ΠΊΠ΅Ρ€Π½.сисв.схммак, ΠΊΠ΅Ρ€Π½.сисв.схмалл

Π’ΠΈΠΌ сисцтл ΠΌΠΎΠΆΠ΅ сС користити Π·Π° ΠΏΡ€ΠΈΠ²Ρ€Π΅ΠΌΠ΅Π½Ρƒ ΠΏΡ€ΠΎΠΌΠ΅Π½Ρƒ врСдности. Π”Π° бистС поставили константнС врСдности, Π΄ΠΎΠ΄Π°Ρ˜Ρ‚Π΅ унос Ρƒ /Π΅Ρ‚Ρ†/сисцтл.Ρ†ΠΎΠ½Ρ„. Π”Π΅Ρ‚Π°Ρ™ΠΈ су испод.

ΠŸΡ€ΠΎΠΌΠ΅Π½Π° поставки ΠΊΠ΅Ρ€Π½Π΅Π»Π° Π½Π° ΠœΠ°Ρ†ΠžΠ‘ Кс-Ρƒ

# Get the value of SHMMAX
sudo sysctl kern.sysv.shmmax
kern.sysv.shmmax: 4096

# Get the value of SHMALL
sudo sysctl kern.sysv.shmall 
kern.sysv.shmall: 4096

# Set the value of SHMMAX
sudo sysctl -w kern.sysv.shmmax=16777216
kern.sysv.shmmax: 4096 -> 16777216

# Set the value of SHMALL 
sudo sysctl -w kern.sysv.shmall=16777216
kern.sysv.shmall: 4096 -> 16777216

ΠŸΡ€ΠΎΠΌΠ΅Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€Π° ΠΊΠ΅Ρ€Π½Π΅Π»Π° Π½Π° Π›ΠΈΠ½ΡƒΠΊ-Ρƒ

# Get the value of SHMMAX
sudo sysctl kernel.shmmax
kernel.shmmax: 4096

# Get the value of SHMALL
sudo sysctl kernel.shmall
kernel.shmall: 4096

# Set the value of SHMMAX
sudo sysctl -w kernel.shmmax=16777216
kernel.shmmax: 4096 -> 16777216

# Set the value of SHMALL 
sudo sysctl -w kernel.shmall=16777216
kernel.shmall: 4096 -> 16777216

НС Π·Π°Π±ΠΎΡ€Π°Π²ΠΈΡ‚Π΅: Π”Π° Π±ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ Π±ΠΈΠ»Π΅ Ρ‚Ρ€Π°Ρ˜Π½Π΅, Π΄ΠΎΠ΄Π°Ρ˜Ρ‚Π΅ ΠΎΠ²Π΅ врСдности Ρƒ /Π΅Ρ‚Ρ†/сисцтл.Ρ†ΠΎΠ½Ρ„

ΠžΠ³Ρ€ΠΎΠΌΠ½Π΅ страницС

Π›ΠΈΠ½ΡƒΠΊ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½ΠΎ користи ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜ΡΠΊΠ΅ страницС ΠΎΠ΄ 4 ΠšΠ‘, Π‘Π‘Π” користи ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜ΡΠΊΠ΅ страницС ΠΎΠ΄ XNUMX ΠšΠ‘. Π‘ΡƒΠΏΠ΅Ρ€ ПагСс, Π° Π½Π° Виндовс-Ρƒ - Π’Π΅Π»ΠΈΠΊΠ΅ страницС. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° јС Π΄Π΅ΠΎ РАМ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅ Π΄ΠΎΠ΄Π΅Ρ™Π΅Π½ процСсу. ΠŸΡ€ΠΎΡ†Π΅Ρ ΠΌΠΎΠΆΠ΅ ΠΈΠΌΠ°Ρ‚ΠΈ вишС страница Ρƒ зависности ΠΎΠ΄ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜ΡΠΊΠΈΡ… Π·Π°Ρ…Ρ‚Π΅Π²Π°. Π¨Ρ‚ΠΎ вишС ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅ Π·Π°Ρ…Ρ‚Π΅Π²Π° процСс, вишС страница ΠΌΡƒ сС Π΄ΠΎΠ΄Π΅Ρ™ΡƒΡ˜Π΅. ОБ ΠΎΠ΄Ρ€ΠΆΠ°Π²Π° Ρ‚Π°Π±Π΅Π»Ρƒ Π°Π»ΠΎΠΊΠ°Ρ†ΠΈΡ˜Π΅ страница Π·Π° процСсС. Π¨Ρ‚ΠΎ јС мања Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° страницС, Π²Π΅Ρ›Π° јС Ρ‚Π°Π±Π΅Π»Π°, Π΄ΡƒΠΆΠ΅ јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π΄Π° сС страница ΠΏΡ€ΠΎΠ½Π°Ρ’Π΅ Ρƒ Ρ‚ΠΎΡ˜ Ρ‚Π°Π±Π΅Π»ΠΈ страница. Π’Π΅Π»ΠΈΠΊΠ΅ страницС стога ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π°Ρ˜Ρƒ ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ΅ Π²Π΅Π»ΠΈΠΊΠΈΡ… ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π° ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅ са смањСним Ρ‚Ρ€ΠΎΡˆΠΊΠΎΠ²ΠΈΠΌΠ°; мањС ΠΏΡ€ΠΈΠΊΠ°Π·Π° страница, мањС Π³Ρ€Π΅ΡˆΠ°ΠΊΠ° страница, Π±Ρ€ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π΅ Ρ‡ΠΈΡ‚Π°ΡšΠ°/писања ΠΏΡ€Π΅ΠΊΠΎ Π²Π΅Ρ›ΠΈΡ… Π±Π°Ρ„Π΅Ρ€Π°. Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ су ΠΏΠΎΠ±ΠΎΡ™ΡˆΠ°Π½Π΅ пСрформансС.

ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ› ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π²Π° само Π²Π΅Π»ΠΈΠΊΠ΅ страницС Π½Π° Π›ΠΈΠ½ΡƒΠΊ-Ρƒ. Π›ΠΈΠ½ΡƒΠΊ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½ΠΎ користи ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜ΡΠΊΠ΅ страницС ΠΎΠ΄ 4 ΠšΠ‘, Ρ‚Π°ΠΊΠΎ Π΄Π° јС Ρƒ ΡΠ»ΡƒΡ‡Π°Ρ˜Π΅Π²ΠΈΠΌΠ° ΠΊΠ°Π΄Π° ΠΈΠΌΠ° ΠΏΡ€Π΅Π²ΠΈΡˆΠ΅ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜ΡΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ подСсити Π²Π΅Ρ›Π΅ страницС. ΠŸΠΎΡ€Π°ΡΡ‚ пСрформанси сС ΠΏΡ€ΠΈΠΌΠ΅Ρ›ΡƒΡ˜Π΅ ΠΊΠ°Π΄Π° сС користС Π²Π΅Π»ΠΈΠΊΠ΅ страницС ΠΎΠ΄ 2 ΠœΠ‘ ΠΈ Π΄ΠΎ 1 Π“Π‘. Π’Π΅Π»ΠΈΠΊΠ° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° страницС сС ΠΌΠΎΠΆΠ΅ подСсити ΠΏΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»Π°ΠΊΠΎ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π²Π΅Π»ΠΈΠΊΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ страницС ΠΈ ΡšΠΈΡ…ΠΎΠ²Ρƒ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Ρƒ Π½Π° вашој Π›ΠΈΠ½ΡƒΠΊ машини користСћи ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΌΠ°Ρ‡ΠΊΠ° /ΠΏΡ€ΠΎΡ†/ΠΌΠ΅ΠΌΠΈΠ½Ρ„ΠΎ | Π³Ρ€Π΅ΠΏ -ΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ°Π½.

Π”ΠΎΠ±ΠΈΡ˜Π°ΡšΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π° ΠΎ Π²Π΅Π»ΠΈΠΊΠΈΠΌ страницама (само Π·Π° Π›ΠΈΠ½ΡƒΠΊ)

Note: This is only for Linux, for other OS this operation is ignored$ cat /proc/meminfo | grep -i huge
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

Π£ ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΈΠ°ΠΊΠΎ јС Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Π²Π΅Π»ΠΈΠΊΠ΅ страницС подСшСна Π½Π° 2048 (2 ΠœΠ‘), ΡƒΠΊΡƒΠΏΠ°Π½ Π±Ρ€ΠΎΡ˜ Π²Π΅Π»ΠΈΠΊΠΈΡ… страница јС подСшСн Π½Π° 0. Π’ΠΎ Π·Π½Π°Ρ‡ΠΈ Π΄Π° су Π²Π΅Π»ΠΈΠΊΠ΅ страницС ΠΎΠ½Π΅ΠΌΠΎΠ³ΡƒΡ›Π΅Π½Π΅.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Π° Π·Π° ΠΎΠ΄Ρ€Π΅Ρ’ΠΈΠ²Π°ΡšΠ΅ Π±Ρ€ΠΎΡ˜Π° Π²Π΅Π»ΠΈΠΊΠΈΡ… страница

Ова Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½Π° скрипта Π²Ρ€Π°Ρ›Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π°Π½ Π±Ρ€ΠΎΡ˜ Π²Π΅Π»ΠΈΠΊΠΈΡ… страница. ΠŸΠΎΠΊΡ€Π΅Π½ΠΈΡ‚Π΅ скрипту Π½Π° свом Π›ΠΈΠ½ΡƒΠΊ сСрвСру Π΄ΠΎΠΊ јС ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ› ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΡ‚. Π£Π²Π΅Ρ€ΠΈΡ‚Π΅ сС Π΄Π° јС Ρ‚ΠΎ Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Ρ™ΠΈΠ²Ρƒ ΠΎΠΊΡ€ΡƒΠΆΠ΅ΡšΠ° $ΠŸΠ“Π”ΠΠ’Π ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ› Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° јС Π½Π°Π²Π΅Π΄Π΅Π½.

Π”ΠΎΠ±ΠΈΡ˜Π°ΡšΠ΅ Π±Ρ€ΠΎΡ˜Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈΡ… Π²Π΅Π»ΠΈΠΊΠΈΡ… страница

#!/bin/bash
pid=`head -1 $PGDATA/postmaster.pid`
echo "Pid:            $pid"
peak=`grep ^VmPeak /proc/$pid/status | awk '{ print $2 }'`
echo "VmPeak:            $peak kB"
hps=`grep ^Hugepagesize /proc/meminfo | awk '{ print $2 }'`
echo "Hugepagesize:   $hps kB"
hp=$((peak/hps))
echo Set Huge Pages:     $hp

Излаз скриптС ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΎΠ²Π°ΠΊΠΎ:

Излаз скриптС

Pid:            12737
VmPeak:         180932 kB
Hugepagesize:   2048 kB
Set Huge Pages: 88

ΠŸΡ€Π΅ΠΏΠΎΡ€ΡƒΡ‡Π΅Π½Π° врСдност Π·Π° Π²Π΅Π»ΠΈΠΊΠ΅ страницС јС 88, ΠΏΠ° Π±ΠΈ Ρ‚Ρ€Π΅Π±Π°Π»ΠΎ Π΄Π° јС поставитС Π½Π° 88.

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΡšΠ΅ Π²Π΅Π»ΠΈΠΊΠΈΡ… страница

sysctl -w vm.nr_hugepages=88

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ сада Π²Π΅Π»ΠΈΠΊΠ΅ страницС, Π²ΠΈΠ΄Π΅Ρ›Π΅Ρ‚Π΅ Π΄Π° сС Π²Π΅Π»ΠΈΠΊΠ΅ страницС Π½Π΅ користС (Π₯ΡƒΠ³Π΅ΠŸΠ°Π³Π΅Ρ_Π€Ρ€Π΅Π΅ = Π₯ΡƒΠ³Π΅ΠŸΠ°Π³Π΅Ρ_Π’ΠΎΡ‚Π°Π»).

Поново посСћСнС Π²Π΅Π»ΠΈΠΊΠ΅ страницС (само Π·Π° Π›ΠΈΠ½ΡƒΠΊ)

$ cat /proc/meminfo | grep -i huge
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
HugePages_Total:      88
HugePages_Free:       88
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

Π‘Π°Π΄Π° поставитС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ Ρ…ΡƒΠ³Π΅_пагСс Π½Π° "ΠΎΠ½" Ρƒ $ΠŸΠ“Π”ΠΠ’Π/постгрСскл.Ρ†ΠΎΠ½Ρ„ ΠΈ ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΏΠΎΠΊΡ€Π΅Π½ΠΈΡ‚Π΅ сСрвСр.

Још јСдном, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π΅ ΠΎ Π²Π΅Π»ΠΈΠΊΠΈΠΌ страницама (само Π·Π° Π›ΠΈΠ½ΡƒΠΊ)

$ cat /proc/meminfo | grep -i huge
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
HugePages_Total:      88
HugePages_Free:       81
HugePages_Rsvd:       64
HugePages_Surp:        0
Hugepagesize:       2048 kB

Π‘Π°Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΠΈ Π΄Π° сС користи Π²Ρ€Π»ΠΎ ΠΌΠ°Π»ΠΎ Π²Π΅Π»ΠΈΠΊΠΈΡ… страница. Π₯ајдС сада Π΄Π° ΠΏΠΎΠΊΡƒΡˆΠ°ΠΌΠΎ Π΄Π° Π΄ΠΎΠ΄Π°ΠΌΠΎ Π½Π΅ΠΊΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ Ρƒ Π±Π°Π·Ρƒ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°.

НСкС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π΅ Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Π·Π° Ρ€Π΅Ρ†ΠΈΠΊΠ»ΠΈΡ€Π°ΡšΠ΅ Π²Π΅Π»ΠΈΠΊΠΈΡ… страница

postgres=# CREATE TABLE foo(a INTEGER);
CREATE TABLE
postgres=# INSERT INTO foo VALUES(generate_Series(1,10000000));
INSERT 0 10000000

Π₯ајдС Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠΎ Π΄Π° Π»ΠΈ сада користимо вишС Π²Π΅Π»ΠΈΠΊΠΈΡ… страница Π½Π΅Π³ΠΎ Ρ€Π°Π½ΠΈΡ˜Π΅.

Π’ΠΈΡˆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π° ΠΎ Π²Π΅Π»ΠΈΠΊΠΈΠΌ страницама (само Π·Π° Π›ΠΈΠ½ΡƒΠΊ)

$ cat /proc/meminfo | grep -i huge
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
HugePages_Total:      88
HugePages_Free:       18
HugePages_Rsvd:        1
HugePages_Surp:        0
Hugepagesize:       2048 kB

Π‘Π°Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΠΈ Π΄Π° сС Π²Π΅Ρ›ΠΈΠ½Π° Π²Π΅Π»ΠΈΠΊΠΈΡ… страница користи.

НапомСна: ΠŸΡ€ΠΎΡ†Π΅ΡšΠ΅Π½Π° врСдност Π·Π° Π₯ΡƒΠ³Π΅ΠŸΠ°Π³Π΅Ρ која сС ΠΎΠ²Π΄Π΅ користи јС Π²Π΅ΠΎΠΌΠ° ниска, ΡˆΡ‚ΠΎ нијС Π½ΠΎΡ€ΠΌΠ°Π»Π½Π° врСдност Π·Π° ΠΌΠ°ΡˆΠΈΠ½Ρƒ која користи ΠΎΠΊΡ€ΡƒΠΆΠ΅ΡšΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π°. ΠŸΡ€ΠΎΡ†Π΅Π½ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π°Π½ Π±Ρ€ΠΎΡ˜ страница Π·Π° ваш систСм ΠΈ подСситС ΠΈΡ… Ρƒ складу са ΠΎΠΏΡ‚Π΅Ρ€Π΅Ρ›Π΅ΡšΠ΅ΠΌ ΠΈ рСсурсима.

вм.сваппинСсс

Π²ΠΌ.сваппинСсс јС још јСдан ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ ΠΊΠ΅Ρ€Π½Π΅Π»Π° који ΠΌΠΎΠΆΠ΅ ΡƒΡ‚ΠΈΡ†Π°Ρ‚ΠΈ Π½Π° пСрформансС Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°. Ова ΠΎΠΏΡ†ΠΈΡ˜Π° сС користи Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρƒ понашања Π·Π°ΠΌΠ΅Π½Π΅ (Π·Π°ΠΌΠ΅Π½Π° страница Ρƒ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜ΠΈ ΠΈ Π²Π°Π½ њС) Ρƒ Π›ΠΈΠ½ΡƒΠΊ-Ρƒ. ВрСдност сС ΠΊΡ€Π΅Ρ›Π΅ ΠΎΠ΄ 0 Π΄ΠΎ 100. ΠžΠ΄Ρ€Π΅Ρ’ΡƒΡ˜Π΅ ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅ Ρ›Π΅ Π±ΠΈΡ‚ΠΈ достављСно ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π±Π°Ρ‡Π΅Π½ΠΎ. Нула Π·Π½Π°Ρ‡ΠΈ Π΄Π° Π½Π΅ΠΌΠ° Ρ€Π°Π·ΠΌΠ΅Π½Π΅, Π° 100 Π·Π½Π°Ρ‡ΠΈ агрСсивну Ρ€Π°Π·ΠΌΠ΅Π½Ρƒ.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ постићи Π΄ΠΎΠ±Ρ€Π΅ пСрформансС ΠΏΠΎΡΡ‚Π°Π²Ρ™Π°ΡšΠ΅ΠΌ Π½ΠΈΠΆΠΈΡ… врСдности.

ПодСшавањС ΠΎΠ²ΠΎΠ³ Π½Π° 0 Π½Π° новијим Ρ˜Π΅Π·Π³Ρ€ΠΈΠΌΠ° ΠΌΠΎΠΆΠ΅ довСсти Π΄ΠΎ Ρ‚ΠΎΠ³Π° Π΄Π° ООМ ΠšΠΈΠ»Π»Π΅Ρ€ (Линуксов процСс Ρ‡ΠΈΡˆΡ›Π΅ΡšΠ° ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅) ΠΏΡ€Π΅ΠΊΠΈΠ½Π΅ процСс. Π”Π°ΠΊΠ»Π΅, Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ јС Π΄Π° Π³Π° поставитС Π½Π° 1 Π°ΠΊΠΎ ΠΆΠ΅Π»ΠΈΡ‚Π΅ Π΄Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Π·Π°ΠΌΠ΅Π½Ρƒ. ΠŸΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½Π° врСдност Ρƒ Π›ΠΈΠ½ΡƒΠΊ-Ρƒ јС 60. Π’Π΅Ρ›Π° врСдност Π΄ΠΎΠ²ΠΎΠ΄ΠΈ Π΄ΠΎ Ρ‚ΠΎΠ³Π° Π΄Π° ММУ (Ρ˜Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Π·Π° ΡƒΠΏΡ€Π°Π²Ρ™Π°ΡšΠ΅ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜ΠΎΠΌ) користи вишС простора Π·Π° Π·Π°ΠΌΠ΅Π½Ρƒ ΠΎΠ΄ РАМ-Π°, Π΄ΠΎΠΊ Π½ΠΈΠΆΠ° врСдност Π·Π°Π΄Ρ€ΠΆΠ°Π²Π° вишС ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°/ΠΊΠΎΠ΄Π° Ρƒ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜ΠΈ.

НиТа врСдност јС Π΄ΠΎΠ±Ρ€Π° ΠΎΠΏΠΊΠ»Π°Π΄Π° Π·Π° ΠΏΠΎΠ±ΠΎΡ™ΡˆΠ°Π½Π΅ пСрформансС Ρƒ ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ›-Ρƒ.

Π²ΠΌ.ΠΎΠ²Π΅Ρ€Ρ†ΠΎΠΌΠΌΠΈΡ‚_ΠΌΠ΅ΠΌΠΎΡ€ΠΈ / Π²ΠΌ.ΠΎΠ²Π΅Ρ€Ρ†ΠΎΠΌΠΌΠΈΡ‚_Ρ€Π°Ρ‚ΠΈΠΎ

ΠΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅ ΠΏΡ€Π΅ΡƒΠ·ΠΈΠΌΠ°Ρ˜Ρƒ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Ρƒ ΠΈ ΠΎΡΠ»ΠΎΠ±Π°Ρ’Π°Ρ˜Ρƒ јС ΠΊΠ°Π΄Π° вишС нијС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π°. Али Ρƒ Π½Π΅ΠΊΠΈΠΌ ΡΠ»ΡƒΡ‡Π°Ρ˜Π΅Π²ΠΈΠΌΠ°, Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° добија ΠΏΡ€Π΅Π²ΠΈΡˆΠ΅ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅ ΠΈ Π½Π΅ ослобађа јС. Ово ΠΌΠΎΠΆΠ΅ ΠΈΠ·Π°Π·Π²Π°Ρ‚ΠΈ ООМ ΡƒΠ±ΠΈΡ†Ρƒ. Π•Π²ΠΎ ΠΌΠΎΠ³ΡƒΡ›ΠΈΡ… врСдности ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€Π° Π²ΠΌ.ΠΎΠ²Π΅Ρ€Ρ†ΠΎΠΌΠΌΠΈΡ‚_ΠΌΠ΅ΠΌΠΎΡ€ΠΈ са описом Π·Π° сваки:

  1. Π₯Суристички ΠΎΠ²Π΅Ρ€Ρ†ΠΎΠΌΠΌΠΈΡ‚ (ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½ΠΎ); хСуристика заснована Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»Ρƒ
  2. Ипак Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚Π΅ ΠΏΡ€Π΅ΠΊΠΎΠΌΠ΅Ρ€Π½ΠΎ обавСзивањС
  3. НС ΠΏΡ€Π΅Ρ‚Π΅Ρ€ΡƒΡ˜Ρ‚Π΅, Π½Π΅ΠΌΠΎΡ˜Ρ‚Π΅ ΠΏΡ€Π΅ΠΊΠΎΡ€Π°Ρ‡ΠΈΡ‚ΠΈ однос ΠΏΡ€Π΅ΠΊΠΎΠΌΠ΅Ρ€Π½Π΅ ΠΎΠ±Π°Π²Π΅Π·Π΅.

Π Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†Π°: https://www.kernel.org/doc/Documentation/vm/overcommit-accounting

Π²ΠΌ.ΠΎΠ²Π΅Ρ€Ρ†ΠΎΠΌΠΌΠΈΡ‚_Ρ€Π°Ρ‚ΠΈΠΎ β€” ΠΏΡ€ΠΎΡ†Π΅Π½Π°Ρ‚ РАМ-Π° који јС доступан Π·Π° ΠΏΡ€Π΅ΠΎΠΏΡ‚Π΅Ρ€Π΅Ρ›Π΅ΡšΠ΅. ВрСдност ΠΎΠ΄ 50% Π½Π° систСму са 2 Π“Π‘ РАМ-Π° ΠΌΠΎΠΆΠ΅ Π΄ΠΎΠ΄Π΅Π»ΠΈΡ‚ΠΈ Π΄ΠΎ 3 Π“Π‘ РАМ-Π°.

ВрСдност 2 Π·Π° Π²ΠΌ.ΠΎΠ²Π΅Ρ€Ρ†ΠΎΠΌΠΌΠΈΡ‚_ΠΌΠ΅ΠΌΠΎΡ€ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Ρ’ΡƒΡ˜Π΅ Π±ΠΎΡ™Π΅ пСрформансС Π·Π° ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ›. Ова врСдност максимизира ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Ρƒ РАМ-Π° сСрвСрског процСса Π±Π΅Π· ΠΈΠΊΠ°ΠΊΠ²ΠΎΠ³ Π·Π½Π°Ρ‡Π°Ρ˜Π½ΠΎΠ³ Ρ€ΠΈΠ·ΠΈΠΊΠ° Π΄Π° Π±ΡƒΠ΄Π΅ ΡƒΠ±ΠΈΡ˜Π΅Π½Π° ΠΎΠ΄ странС процСса ΡƒΠ±ΠΈΡ†Π΅ ООМ-Π°. ΠΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Ρ›Π΅ ΠΌΠΎΡ›ΠΈ Π΄Π° сС ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΡƒΡ‡ΠΈΡ‚Π°, Π°Π»ΠΈ само Ρƒ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠ° ΠΏΡ€Π΅ΠΊΠΎΡ€Π°Ρ‡Π΅ΡšΠ°, ΡˆΡ‚ΠΎ ΡΠΌΠ°ΡšΡƒΡ˜Π΅ Ρ€ΠΈΠ·ΠΈΠΊ Π΄Π° ООМ ΡƒΠ±ΠΈΡ†Π° ΡƒΠ±ΠΈΡ˜Π΅ процСс. ΠŸΡ€Π΅ΠΌΠ° Ρ‚ΠΎΠΌΠ΅, врСдност 2 дајС Π±ΠΎΡ™Π΅ пСрформансС ΠΎΠ΄ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½Π΅ врСдности 0. ΠœΠ΅Ρ’ΡƒΡ‚ΠΈΠΌ, поузданост сС ΠΌΠΎΠΆΠ΅ ΠΏΠΎΠ±ΠΎΡ™ΡˆΠ°Ρ‚ΠΈ Ρ‚Π°ΠΊΠΎ ΡˆΡ‚ΠΎ сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ Π΄Π° ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π° Π²Π°Π½ опсСга нијС ΠΏΡ€Π΅ΠΎΠΏΡ‚Π΅Ρ€Π΅Ρ›Π΅Π½Π°. Ово СлиминишС Ρ€ΠΈΠ·ΠΈΠΊ Π΄Π° процСс Π±ΡƒΠ΄Π΅ ΡƒΠ±ΠΈΡ˜Π΅Π½ ΠΎΠ΄ странС ООМ ΡƒΠ±ΠΈΡ†Π΅.

На систСмима Π±Π΅Π· Π·Π°ΠΌΠ΅Π½Π΅, ΠΌΠΎΠΆΠ΅ Π΄ΠΎΡ›ΠΈ Π΄ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° са Π²ΠΌ.ΠΎΠ²Π΅Ρ€Ρ†ΠΎΠΌΠΌΠΈΡ‚_ΠΌΠ΅ΠΌΠΎΡ€ΠΈ јСднаким 2.

https://www.postgresql.org/docs/current/static/kernel-resources.html#LINUX-MEMORY-OVERCOMMIT

Π²ΠΌ.Π΄ΠΈΡ€Ρ‚ΠΈ_Π±Π°Ρ†ΠΊΠ³Ρ€ΠΎΡƒΠ½Π΄_Ρ€Π°Ρ‚ΠΈΠΎ / Π²ΠΌ.Π΄ΠΈΡ€Ρ‚ΠΈ_Π±Π°Ρ†ΠΊΠ³Ρ€ΠΎΡƒΠ½Π΄_битСс

Π²ΠΌ.Π΄ΠΈΡ€Ρ‚ΠΈ_Π±Π°Ρ†ΠΊΠ³Ρ€ΠΎΡƒΠ½Π΄_Ρ€Π°Ρ‚ΠΈΠΎ јС ΠΏΡ€ΠΎΡ†Π΅Π½Π°Ρ‚ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅ ΠΈΡΠΏΡƒΡšΠ΅Π½Π΅ ΠΏΡ€Ρ™Π°Π²ΠΈΠΌ страницама којС Ρ‚Ρ€Π΅Π±Π° уписати Π½Π° диск. Π˜ΡΠΏΠΈΡ€Π°ΡšΠ΅ Π½Π° диск сС дСшава Ρƒ ΠΏΠΎΠ·Π°Π΄ΠΈΠ½ΠΈ. ВрСдност ΠΎΠ²ΠΎΠ³ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° сС ΠΊΡ€Π΅Ρ›Π΅ ΠΎΠ΄ 0 Π΄ΠΎ 100; ΠΌΠ΅Ρ’ΡƒΡ‚ΠΈΠΌ, врСдност испод 5 ΠΌΠΎΠΆΠ΅ Π±ΠΈΡ‚ΠΈ нССфикасна ΠΈ Π½Π΅ΠΊΠ° Ρ˜Π΅Π·Π³Ρ€Π° јС Π½Π΅ ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π²Π°Ρ˜Ρƒ. 10 јС ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½ΠΎ Π½Π° Π²Π΅Ρ›ΠΈΠ½ΠΈ Π›ΠΈΠ½ΡƒΠΊ систСма. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ±ΠΎΡ™ΡˆΠ°Ρ‚ΠΈ пСрформансС Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π΅ ΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΠ²Π½Π΅ писања Π·Π° мањи Ρ„Π°ΠΊΡ‚ΠΎΡ€, ΡˆΡ‚ΠΎ Ρ›Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚ΠΈ Π΄Π° Ρ›Π΅ Π›ΠΈΠ½ΡƒΠΊ испирати ΠΏΡ€Ρ™Π°Π²Π΅ страницС Ρƒ ΠΏΠΎΠ·Π°Π΄ΠΈΠ½ΠΈ.

ΠœΠΎΡ€Π°Ρ‚Π΅ Π΄Π° подСситС врСдност Π²ΠΌ.Π΄ΠΈΡ€Ρ‚ΠΈ_Π±Π°Ρ†ΠΊΠ³Ρ€ΠΎΡƒΠ½Π΄_битСс Ρƒ зависности ΠΎΠ΄ Π±Ρ€Π·ΠΈΠ½Π΅ воТњС.

НС ΠΏΠΎΡΡ‚ΠΎΡ˜Π΅ β€žΠ΄ΠΎΠ±Ρ€Π΅β€œ врСдности Π·Π° ΠΎΠ²Π° Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ˜Π΅Ρ€ ΠΎΠ±Π° зависС ΠΎΠ΄ Ρ…Π°Ρ€Π΄Π²Π΅Ρ€Π°. ΠœΠ΅Ρ’ΡƒΡ‚ΠΈΠΌ, ΠΏΠΎΡΡ‚Π°Π²Ρ™Π°ΡšΠ΅ Π²ΠΌ.Π΄ΠΈΡ€Ρ‚ΠΈ_Π±Π°Ρ†ΠΊΠ³Ρ€ΠΎΡƒΠ½Π΄_Ρ€Π°Ρ‚ΠΈΠΎ Π½Π° 5 ΠΈ Π²ΠΌ.Π΄ΠΈΡ€Ρ‚ΠΈ_Π±Π°Ρ†ΠΊΠ³Ρ€ΠΎΡƒΠ½Π΄_битСс Π½Π° 25% Π±Ρ€Π·ΠΈΠ½Π΅ диска ΠΏΠΎΠ±ΠΎΡ™ΡˆΠ°Π²Π° пСрформансС Π½Π° ~25% Ρƒ Π²Π΅Ρ›ΠΈΠ½ΠΈ ΡΠ»ΡƒΡ‡Π°Ρ˜Π΅Π²Π°.

Π²ΠΌ.Π΄ΠΈΡ€Ρ‚ΠΈ_Ρ€Π°Ρ‚ΠΈΠΎ/Π΄ΠΈΡ€Ρ‚ΠΈ_битСс

Ово јС исто ΠΊΠ°ΠΎ Π²ΠΌ.Π΄ΠΈΡ€Ρ‚ΠΈ_Π±Π°Ρ†ΠΊΠ³Ρ€ΠΎΡƒΠ½Π΄_Ρ€Π°Ρ‚ΠΈΠΎ/Π΄ΠΈΡ€Ρ‚ΠΈ_Π±Π°Ρ†ΠΊΠ³Ρ€ΠΎΡƒΠ½Π΄_битСс, осим ΡˆΡ‚ΠΎ сС Ρ€Π΅ΡΠ΅Ρ‚ΠΎΠ²Π°ΡšΠ΅ Π²Ρ€ΡˆΠΈ Ρƒ Ρ€Π°Π΄Π½ΠΎΡ˜ сСсији, Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ˜ΡƒΡ›ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Ρƒ. Π‘Ρ‚ΠΎΠ³Π° Π²ΠΌ.Π΄ΠΈΡ€Ρ‚ΠΈ_Ρ€Π°Ρ‚ΠΈΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π±ΡƒΠ΄Π΅ Π²Π΅Ρ›ΠΈ ΠΎΠ΄ Π²ΠΌ.Π΄ΠΈΡ€Ρ‚ΠΈ_Π±Π°Ρ†ΠΊΠ³Ρ€ΠΎΡƒΠ½Π΄_Ρ€Π°Ρ‚ΠΈΠΎ. Ово осигурава Π΄Π° позадински процСси ΠΏΠΎΡ‡Π½Ρƒ Ρ€Π°Π½ΠΈΡ˜Π΅ ΠΊΠ°ΠΊΠΎ Π±ΠΈ сС ΠΈΠ·Π±Π΅Π³Π»ΠΎ Π±Π»ΠΎΠΊΠΈΡ€Π°ΡšΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅ ΠΊΠΎΠ»ΠΈΠΊΠΎ Π³ΠΎΠ΄ јС Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ›Π΅. ΠœΠΎΠΆΠ΅Ρ‚Π΅ подСсити Ρ€Π°Π·Π»ΠΈΠΊΡƒ ΠΈΠ·ΠΌΠ΅Ρ’Ρƒ ΠΎΠ²Π° Π΄Π²Π° односа Ρƒ зависности ΠΎΠ΄ Π£/И ΠΎΠΏΡ‚Π΅Ρ€Π΅Ρ›Π΅ΡšΠ° диска.

Π£ΠΊΡƒΠΏΠ°Π½

ΠœΠΎΠΆΠ΅Ρ‚Π΅ подСсити Π΄Ρ€ΡƒΠ³Π° подСшавања Π΄Π° бистС ΠΏΠΎΠ±ΠΎΡ™ΡˆΠ°Π»ΠΈ пСрформансС, Π°Π»ΠΈ ΠΏΠΎΠ±ΠΎΡ™ΡˆΠ°ΡšΠ° Ρ›Π΅ Π±ΠΈΡ‚ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° ΠΈ Π½Π΅Ρ›Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ користи. ΠœΠΎΡ€Π°ΠΌΠΎ Π·Π°ΠΏΠ°ΠΌΡ‚ΠΈΡ‚ΠΈ Π΄Π° сС свС ΠΎΠΏΡ†ΠΈΡ˜Π΅ Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅ΡšΡƒΡ˜Ρƒ Π½Π° свС врстС Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°. НСкС Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅ Ρ€Π°Π΄Π΅ Π±ΠΎΡ™Π΅ ΠΊΠ°Π΄Π° ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄ΠΈΠΌΠΎ Π½Π΅ΠΊΠ° подСшавања, Π° Π½Π΅ΠΊΠ΅ Π½Π΅. ΠœΠΎΡ€Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ½Π°Ρ›ΠΈ ΠΏΡ€Π°Π²ΠΈ баланс ΠΈΠ·ΠΌΠ΅Ρ’Ρƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡΠ°ΡšΠ° ΠΎΠ²ΠΈΡ… подСшавања Π·Π° ΠΎΡ‡Π΅ΠΊΠΈΠ²Π°Π½ΠΎ Ρ€Π°Π΄Π½ΠΎ ΠΎΠΏΡ‚Π΅Ρ€Π΅Ρ›Π΅ΡšΠ΅ ΠΈ Ρ‚ΠΈΠΏ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅, Π° Ρ‚Π°ΠΊΠΎΡ’Π΅ ΠΌΠΎΡ€Π°Ρ‚Π΅ ΡƒΠ·Π΅Ρ‚ΠΈ Ρƒ ΠΎΠ±Π·ΠΈΡ€ понашањС ОБ-Π° ΠΏΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ подСшавања. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡΠ°ΡšΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€Π° ΠΊΠ΅Ρ€Π½Π΅Π»Π° нијС Ρ‚Π°ΠΊΠΎ Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ ΠΊΠ°ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡΠ°ΡšΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€Π° Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°; Ρ‚Π΅ΠΆΠ΅ јС Π΄Π°Ρ‚ΠΈ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡƒΠΊΠ΅.

Π˜Π·Π²ΠΎΡ€: Π²Π²Π².Ρ…Π°Π±Ρ€.Ρ†ΠΎΠΌ

Π”ΠΎΠ΄Π°Ρ˜ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€