
PostgreSQL рдХрд╛ рдЗрд╖реНрдЯрддрдо рдкреНрд░рджрд░реНрд╢рди рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЦрд░рд╛рдм рдЯреНрдпреВрди рдХрд┐рдП рдЧрдП OS рдХрд░реНрдиреЗрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдиреАрдЪрд╛ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрднрд╛рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рд╣рдо рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдЯреНрдпреВрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
SHMMAX / SHMALL
SHMMAX рдПрдХ рдХрд░реНрдиреЗрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХрд▓ рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рд╕реЗрдЧрдореЗрдВрдЯ рдХреЗ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд▓рд┐рдирдХреНрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИред рд╕рдВрд╕реНрдХрд░рдг 9.2 рд╕реЗ рдкрд╣рд▓реЗ, PostgreSQL рдиреЗ рд╕рд┐рд╕реНрдЯрдо V (SysV) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП SHMMAX рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред 9.2 рдХреЗ рдмрд╛рдж, PostgreSQL рдиреЗ POSIX рд╕рд╛рдЭрд╛ рдХреА рдЧрдИ рдореЗрдореЛрд░реА рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рджрд┐рдпрд╛ред рддреЛ рдЕрдм рд╕рд┐рд╕реНрдЯрдо рд╡реА рд╢реЗрдпрд░реНрдб рдореЗрдореЛрд░реА рдХреЗ рдХрдо рдмрд╛рдЗрдЯреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕рдВрд╕реНрдХрд░рдг 9.3 рд╕реЗ рдкрд╣рд▓реЗ, SHMMAX рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд░реНрдиреЗрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдерд╛ред SHMMAX рдорд╛рди рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИред
рдЗрд╕реА рддрд░рд╣,
SHMALL рдПрдХ рдФрд░ рдХрд░реНрдиреЗрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ
рдЬрд┐рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╕рд┐рд╕реНрдЯрдо-рд╡рд╛рдЗрдб рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдкреЗрдЬред рд╡рд░реНрддрдорд╛рди SHMMAX, SHMALL рдпрд╛ SHMMIN
рдорд╛рди рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП
ipcs рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
SHM * рд╡рд┐рд╡рд░рдг - рд▓рд┐рдирдХреНрд╕$ 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
SHM * рд╡рд┐рд╡рд░рдг - MacOS X $ 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)
рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PostgreSQL
рд╕рд┐рд╕реНрдЯрдо V IPC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд░реНрдиреЗрд▓ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЬрдм рднреА рдЖрдкрдХреЛ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ PostgreSQL рдХрд╛ рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ SHMAXAX рдХрд╛ рдореВрд▓реНрдп рдмрд╣реБрдд рдХрдо рд╣реИред рдпрд╣ рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЭрд╛ рдХреА рдЧрдИ рдореЗрдореЛрд░реА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореВрд▓реНрдп рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдФрд░ рдмрдврд╝рд╛рдПрдВрдЧреЗ рдЬреЛ рд╡реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред
рд╕рдВрднрд╡ рдЧрд╝рд▓рддрдлрд╝рд╣рдореА рддреНрд░реБрдЯрд┐рдпреЛрдВ
рдпрджрд┐ SHMMAX рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдк
рдЗрдирдмрд┐рд▓рдЯ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
initdb рдХреА рд╡рд┐рдлрд▓рддрд╛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
рдЗрд╕реА рддрд░рд╣, рдЖрдкрдХреЛ
pg_ctl рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ PostgreSQL рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛ рд╕рдХрддреА рд╣реИред
pg_ctl рд╡рд┐рдлрд▓рддрд╛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.
рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЕрдВрддрд░ рд╕рдордЭрдирд╛
SHMMAX / SHMALL рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд▓рд┐рдирдХреНрд╕ рдФрд░ MacOS X рдкрд░ рдереЛрдбрд╝реА рдЕрд▓рдЧ рд╣реИ:
- рд▓рд┐рдирдХреНрд╕: рдХрд░реНрдиреЗрд▓редрд╢рдореНрдореИрдХреНрд╕, рдХрд░реНрдиреЗрд▓редрд╢рдореЙрд▓
- MacOS X: kern.sysv.shmmax, kern.sysv.shmall
Sysctl рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдорд╛рди рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдирд┐рд░рдВрддрд░ рдорд╛рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
/etc/sysctl.conf рдореЗрдВ рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
рдЬреЛрдбрд╝реЗрдВ ред рд╡рд┐рд╡рд░рдг рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
MacOS X рдкрд░ рдХрд░реНрдиреЗрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓реЗрдВ # 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
рдпрд╛рдж рд░рдЦреЗрдВ : рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд╕реНрдерд╛рдпреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрди рдорд╛рдиреЛрдВ рдХреЛ /etc/sysctl.conf рдореЗрдВ рдЬреЛрдбрд╝реЗрдВрдмрдбрд╝реЗ рдкреГрд╖реНрда (рд╡рд┐рд╢рд╛рд▓ рдкреГрд╖реНрда)
4K рдкреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдирдХреНрд╕ рдбрд┐рдлреЙрд▓реНрдЯ, рдмреАрдПрд╕рдбреА
рд╕реБрдкрд░ рдкреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡рд┐рдВрдбреЛрдЬ
рдмрдбрд╝реЗ рдкреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдкреЗрдЬ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рд░реИрдо рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИред рд╕реНрдореГрддрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрдИ рдкреГрд╖реНрда рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЬрд┐рддрдиреА рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрддрдиреЗ рдЕрдзрд┐рдХ рдкреГрд╖реНрда рдЗрд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВред рдУрдПрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреГрд╖реНрда рдЖрд╡рдВрдЯрди рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдкреЗрдЬ рдХрд╛ рдЖрдХрд╛рд░ рдЬрд┐рддрдирд╛ рдЫреЛрдЯрд╛ рд╣реЛрдЧрд╛, рдЯреЗрдмрд▓ рдЙрддрдирд╛ рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛, рдЗрд╕ рдкреЗрдЬ рдЯреЗрдмрд▓ рдореЗрдВ рдкреЗрдЬ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдмрдбрд╝реЗ рдкреГрд╖реНрда рдЖрдкрдХреЛ рдХрдо рдУрд╡рд░рд╣реЗрдб рдХреЗ рд╕рд╛рде рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ; рдХрдо рдкреГрд╖реНрда рджреГрд╢реНрдп, рдХрдо рдкреГрд╖реНрда рддреНрд░реБрдЯрд┐рдпрд╛рдВ, рдмрдбрд╝реЗ рдмрдлрд╝рд░реНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреЗрдЬрд╝реА рд╕реЗ рдкрдврд╝рдирд╛ / рд▓рд┐рдЦрдирд╛ред рдкрд░рд┐рдгрд╛рдо рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рд╣реИред
PostgreSQL рдХреЗрд╡рд▓ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдмрдбрд╝реЗ рдкреГрд╖реНрдареЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд▓рд┐рдирдХреНрд╕ 4 KB рдореЗрдореЛрд░реА рдкреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдореЗрдореЛрд░реА рдСрдкрд░реЗрд╢рди рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдмрдбрд╝реЗ рдкреЗрдЬ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред 2 рдПрдордмреА рдХреЗ рдмрдбрд╝реЗ рдкреГрд╖реНрдареЛрдВ рдФрд░ 1 рдЬреАрдмреА рддрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдкреНрд░рджрд░реНрд╢рди рд▓рд╛рдн рд╣реЛрддрд╛ рд╣реИред рдмрдбрд╝реЗ рдкреГрд╖реНрда рдХрд╛ рдЖрдХрд╛рд░ рдмреВрдЯ рд╕рдордп рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдХрдорд╛рдВрдб
рдмрд┐рд▓реНрд▓реА / proc / meminfo рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд▓рд┐рдирдХреНрд╕ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдмрдбрд╝реЗ рдкреГрд╖реНрда рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ
grep -i рд╡рд┐рд╢рд╛рд▓ ред
рдмрдбрд╝реЗ рдкреГрд╖реНрдареЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ (рдХреЗрд╡рд▓ рд▓рд┐рдирдХреНрд╕) 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. рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдмрдбрд╝реЗ рдкреГрд╖реНрда рдЕрдХреНрд╖рдо рд╣реИрдВред
рдмрдбрд╝реЗ рдкреГрд╖реНрдареЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдирд┐рд░реНрдзрд╛рд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдпрд╣ рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдбрд╝реЗ рдкреГрд╖реНрдареЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддреА рд╣реИред PostgreSQL рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЕрдкрдиреЗ рд▓рд┐рдирдХреНрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдБред рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ PostgreSQL рдбреЗрдЯрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
$ PGDATA рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХреА рдЧрдИ рд╣реИред
рдЖрд╡рд╢реНрдпрдХ рдмрдбрд╝реЗ рдкреГрд╖реНрдареЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдЙрдЯрдкреБрдЯ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдЙрдЯрдкреБрдЯ Pid: 12737 VmPeak: 180932 kB Hugepagesize: 2048 kB Set Huge Pages: 88
рдмрдбрд╝реЗ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рдореВрд▓реНрдп 88 рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕реЗ 88 рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдмрдбрд╝реЗ рдкреГрд╖реНрда рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ sysctl -w vm.nr_hugepages=88
рдЕрдм рдмрдбрд╝реЗ рдкреГрд╖реНрдареЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ, рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдмрдбрд╝реЗ рдкреГрд╖реНрдареЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (HugePages_Free = HugePages_Total)ред
рдмрдбрд╝реЗ рдкреГрд╖реНрдареЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА (рдХреЗрд╡рд▓ рд▓рд┐рдирдХреНрд╕) $ 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
рдЕрдм $ PGDATA / postgresql.conf рдХреЗ рд▓рд┐рдП "рдкрд░" рд╡рд┐рд╢рд╛рд▓_рдкреГрд╖реНрда рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВред
рдФрд░ рдлрд┐рд░ рд╕реЗ, рдмрдбрд╝реЗ рдкреГрд╖реНрдареЛрдВ (рдХреЗрд╡рд▓ рд▓рд┐рдирдХреНрд╕) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА $ 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=
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдм рдЕрдзрд┐рдХ рдмрдбрд╝реЗ рдкреГрд╖реНрдареЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдмрдбрд╝реЗ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА (рдХреЗрд╡рд▓ рд▓рд┐рдирдХреНрд╕) $ 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
рдЕрдм рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрдбрд╝реЗ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИрдВред
рдиреЛрдЯ: рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП HugePages рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорд╛рдирд┐рдд рдореВрд▓реНрдп рдмрд╣реБрдд рдХрдо рд╣реИ, рдЬреЛ рдХрд┐ рдЦрд╛рджреНрдп рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдореВрд▓реНрдп рдирд╣реАрдВ рд╣реИред рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкреГрд╖реНрдареЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд▓реЛрдб рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВредvm.swappiness
vm.swappiness рдПрдХ рдЕрдиреНрдп рдХрд░реНрдиреЗрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓рд┐рдирдХреНрд╕ рдкрд░ рд╕реНрд╡рдкрдирджреЛрд╖ рд╡реНрдпрд╡рд╣рд╛рд░ (рдореЗрдореЛрд░реА рд╕реЗ рдкреЗрдЬ рдХреЛ рдФрд░ рдореЗрдореЛрд░реА рдХреЛ рд╕реНрд╡реИрдк рдХрд░рдиреЗ) рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рди 0 рд╕реЗ 100 рддрдХ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореЗрдореЛрд░реА рдХрд┐рддрдиреА рдЕрдирд▓реЛрдб рдпрд╛ рдЕрдирд▓реЛрдб рд╣реЛрдЧреАред рд╢реВрдиреНрдп рдХрд╛ рдЕрд░реНрде рд╣реИ рд╡рд┐рдирд┐рдордп рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛, рдФрд░ 100 рдХрд╛ рдЕрд░реНрде рд╣реИ рдЖрдХреНрд░рд╛рдордХ рд╡рд┐рдирд┐рдордпред
рдЖрдк рдирд┐рдореНрди рдорд╛рди рд╕реЗрдЯ рдХрд░рдХреЗ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдирдП рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдорд╛рди рдХреЛ 0 рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдУрдУрдПрдо рдХрд┐рд▓рд░ (рд▓рд┐рдирдХреНрд╕ рдореЗрдореЛрд░реА рдХреНрд▓реАрдирдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛) рд╣реЛ рд╕рдХрддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ 1 рдХреЛ рдорд╛рди рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рд╕реНрд╡реИрдкрд┐рдВрдЧ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд▓рд┐рдирдХреНрд╕ рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди 60 рд╣реИред рдПрдХ рдЙрдЪреНрдЪ рдореВрд▓реНрдп рд░реИрдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкреЗрдЬрд┐рдВрдЧ рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП MMU (рдореЗрдореЛрд░реА рдореИрдиреЗрдЬрдореЗрдВрдЯ рдпреВрдирд┐рдЯ) рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдХрдо рдореВрд▓реНрдп рдореЗрдореЛрд░реА рдореЗрдВ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ / рдХреЛрдб рдмрдЪрд╛рддрд╛ рд╣реИред
рдПрдХ рдХрдо рдореВрд▓реНрдп PostgreSQL рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╢рд░реНрдд рд╣реИред
vm.overcommit_memory / vm.overcommit_ratio
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдореЛрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рддрдм рдлреНрд░реА рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рдорд┐рд▓рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рдореБрдХреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ OOM рдХрд┐рд▓рд░ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде
vm.overcommit_memory рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдорд╛рди рджрд┐рдП рдЧрдП рд╣реИрдВ:
- рд╣реЗрдпреБрд░рд┐рд╕реНрдЯрд┐рдХ рдУрд╡рд░рдХрдорд┐рдЯ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ); рдХреЛрд░-рдЖрдзрд╛рд░рд┐рдд рд╣реЗрдпреБрд░рд┐рд╕реНрдЯрд┐рдХ
- рдлрд┐рд░ рднреА рдУрд╡рд░рдХрдо рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ
- рдЗрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдордд рдХрд░реЛ, рдУрд╡рд░рдХрдо рдХреЗ рдЕрдиреБрдкрд╛рдд рд╕реЗ рдЕрдзрд┐рдХ рди рд╣реЛред
рд▓рд┐рдВрдХ: https://www.kernel.org/doc/Documentation/vm/overcommit-accountingvm.overcommit_ratio - рдЕрдзрд┐рднрд╛рд░ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз RAM рдХрд╛ рдкреНрд░рддрд┐рд╢рддред 2 рдЬреАрдмреА рд░реИрдо рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ 50% рдХрд╛ рдорд╛рди 3 рдЬреАрдмреА рддрдХ рд░реИрдо рдЖрд╡рдВрдЯрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
Vm.overcommit_memory рдХреЗ рд▓рд┐рдП 2 рдХрд╛ рдорд╛рди PostgreSQL рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдорд╛рди OOM рдХрд┐рд▓рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдорд╛рд░реЗ рдЬрд╛рдиреЗ рдХреЗ рдХрд┐рд╕реА рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬреЛрдЦрд┐рдо рдХреЗ рдмрд┐рдирд╛ рд╕рд░реНрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рд░реИрдо рдЙрдкрдпреЛрдЧ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рддрд╛ рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдУрд╡рд░рд╕реНрдкреЗрдВрдбрд┐рдВрдЧ рдХреЗ рднреАрддрд░, рдЬреЛ рдЬреЛрдЦрд┐рдо рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдУрдУрдПрдо рд╣рддреНрдпрд╛рд░рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдорд╛рд░ рджреЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, 2 рдХрд╛ рдорд╛рди 0. рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╕реЗ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдХреЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕реАрдорд╛ рд╕реЗ рдмрд╛рд╣рд░ рдХреА рдореЗрдореЛрд░реА рдУрд╡рд░рд▓реЛрдб рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЬреЛрдЦрд┐рдо рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ OOM- рд╣рддреНрдпрд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдорд╛рд░ рджреА рдЬрд╛рдПрдЧреАред
рдиреЙрди-рдкреЗрдЬрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░, 2 рдХреЗ рдмрд░рд╛рдмрд░ vm.overcommit_memory рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
https://www.postgresql.org/docs/current/static/kernel-resources.html#LINUX-MEMORY-OVERCOMMITvm.dirty_background_ratio / vm.dirty_background_bytes
vm.dirty_background_ratio рдЧрдВрджреЗ рдкреГрд╖реНрдареЛрдВ рд╕реЗ рднрд░реА рд╣реБрдИ рдореЗрдореЛрд░реА рдХрд╛ рдкреНрд░рддрд┐рд╢рдд рд╣реИ рдЬрд┐рд╕реЗ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдбрд┐рд╕реНрдХ рдкрд░ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВред рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдорд╛рди 0 рд╕реЗ 100 рддрдХ рд╣реИ; рд╣рд╛рд▓рд╛рдБрдХрд┐, 5 рд╕реЗ рдиреАрдЪреЗ рдХрд╛ рдореВрд▓реНрдп рдЕрдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рдХрд░реНрдиреЗрд▓ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред 10 рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╣реИред рдЖрдк рдХрдо рджрд░ рдкрд░ рдЧрд╣рди рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реЛрдЧрд╛ рдХрд┐ рд▓рд┐рдирдХреНрд╕ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдЧрдВрджреЗ рдкреГрд╖реНрдареЛрдВ рдХреЛ рдбрдВрдк рдХрд░реЗрдЧрд╛ред
рдЖрдкрдХреЛ рдЕрдкрдиреА рдбрд┐рд╕реНрдХ рдХреА рдЧрддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░
vm.dirty_background_bytes рдХрд╛ рдорд╛рди рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЗрди рджреЛрдиреЛрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ "рдЕрдЪреНрдЫрд╛" рдорд╛рди рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рджреЛрдиреЛрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдбрд┐рд╕реНрдХ рдХреА рдЧрддрд┐ рдореЗрдВ vm.dirty_background_ratio рдХреЛ 5 рдФрд░ vm.dirty_background_bytes рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди 25% рддрдХ рдмрдврд╝ рдЬрд╛рдПрдЧрд╛ред
vm.dirty_ratio / dirty_bytes
рдпрд╣
vm.dirty_background_ratio / dirty_background_bytes рдХреЗ рд╕рдорд╛рди рд╣реИ , рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рд░реАрд╕реЗрдЯ рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕рддреНрд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрд╡рд░реБрджреНрдз рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, vm.dirty_ratio vm.dirty_background_ratio рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреГрд╖реНрдарднреВрдорд┐ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧреА рддрд╛рдХрд┐ рдЖрд╡реЗрджрди рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХреЗред рдЖрдк рдбрд┐рд╕реНрдХ I / O рд▓реЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрди рджреЛ рдЕрдиреБрдкрд╛рддреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдо
рдЙрддреНрдкрд╛рджрдХрддрд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЕрдиреНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реБрдзрд╛рд░ рдиреНрдпреВрдирддрдо рд╣реЛрдВрдЧреЗ рдФрд░ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рд▓рд╛рдн рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред рд╣рдореЗрдВ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕рднреА рдкреИрд░рд╛рдореАрдЯрд░ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдХреБрдЫ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рд╣рдо рдХреБрдЫ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЕрдкреЗрдХреНрд╖рд┐рдд рдХрд╛рд░реНрдпрднрд╛рд░ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмреАрдЪ рд╕рд╣реА рд╕рдВрддреБрд▓рди рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╕рдордп рднреА рдЖрдкрдХреЛ рдУрдПрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд░реНрдиреЗрд▓ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЯреНрдпреВрдирд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ: рдпрд╣рд╛рдВ рдЕрдкрдиреА рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рджреЗрдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИред