เดเดชเตเดฑเตเดฑเดฟเดฎเตฝ PostgreSQL เดชเตเดฐเดเดเดจเด เดถเดฐเดฟเดฏเดพเดฏเดฟ เดจเดฟเตผเดตเดเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดเดชเตเดชเดฑเตเดฑเตเดฑเดฟเดเดเต เดธเดฟเดธเตเดฑเตเดฑเด เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเดณเต เดเดถเตเดฐเดฏเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต. เดฎเตเดถเดฎเดพเดฏเดฟ เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตเดค OS เดเตเตผเดฃเตฝ เดเตเดฐเดฎเตเดเดฐเดฃเดเตเดเตพ เดฎเตเดถเด เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดธเตเตผเดตเตผ เดชเตเดฐเดเดเดจเดคเตเดคเดฟเดจเต เดเดพเดฐเดฃเดฎเดพเดเตเด. เด เดคเดฟเดจเดพเตฝ, เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดธเตเตผเดตเดฑเดฟเดจเตเด เด เดคเดฟเดจเตเดฑเต เดเตเดฒเดฟเดญเดพเดฐเดคเตเดคเดฟเดจเตเด เด เดจเตเดธเตเดคเดฎเดพเดฏเดฟ เด เดเตเดฐเดฎเตเดเดฐเดฃเดเตเดเตพ เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเต เด เดคเตเดฏเดจเตเดคเดพเดชเตเดเตเดทเดฟเดคเดฎเดพเดฃเต. เด เดชเตเดธเตเดฑเตเดฑเดฟเตฝ, เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดธเตเตผเดตเตผ เดชเตเดฐเดเดเดจเดคเตเดคเต เดฌเดพเดงเดฟเดเตเดเตเดจเตเดจ เดเดฟเดฒ เดชเตเดฐเดงเดพเดจเดชเตเดชเตเดเตเด เดฒเดฟเดจเดเตเดธเต เดเตเตผเดฃเตฝ เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเดณเตเด เด เดต เดเดเตเดเดจเต เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเดพเดฎเตเดจเตเดจเตเด เดเดเตเดเตพ เดเตผเดเตเด เดเตเดฏเตเดฏเตเด.
SHMMAX / SHMALL
SHMMAX เดเดฐเต เดฒเดฟเดจเดเตเดธเต เดชเตเดฐเตเดธเดธเดฟเดจเต เด เดจเตเดตเดฆเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเดจเตเดจ เดเดฐเต เดชเดเตเดเดฟเดเตเด เดฎเตเดฎเตเดฎเดฑเดฟ เดธเตเดเตโเดฎเตเดจเตเดฑเดฟเดจเตเดฑเต เดชเดฐเดฎเดพเดตเดงเดฟ เดตเดฒเตเดชเตเดชเด เดจเดฟเตผเดฃเตเดฃเดฏเดฟเดเตเดเดพเตป เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดเตเตผเดฃเตฝ เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเดพเดฃเต. เดชเดคเดฟเดชเตเดชเต 9.2-เดจเต เดฎเตเดฎเตเดชเต, PostgreSQL เดธเดฟเดธเตเดฑเตเดฑเด V (SysV) เดเดชเดฏเตเดเดฟเดเตเดเดฟเดฐเตเดจเตเดจเต, เด เดคเดฟเดจเต SHMMAX เดเตเดฐเดฎเตเดเดฐเดฃเด เดเดตเดถเตเดฏเดฎเดพเดฃเต. 9.2 เดจเต เดถเตเดทเด, PostgreSQL POSIX เดชเดเตเดเดฟเดเตเด เดฎเตเดฎเตเดฎเดฑเดฟเดฏเดฟเดฒเตเดเตเดเต เดฎเดพเดฑเดฟ. เด เดคเดฟเดจเดพเตฝ เดเดชเตเดชเตเตพ เดธเดฟเดธเตเดฑเตเดฑเด V เดชเดเตเดเดฟเดเตเด เดฎเตเดฎเตเดฎเดฑเดฟเดฏเตเดเต เดเตเดฑเดเตเดเต เดฌเตเดฑเตเดฑเตเดเตพ เดเดตเดถเตเดฏเดฎเดพเดฃเต.
เดชเดคเดฟเดชเตเดชเต 9.3-เดจเต เดฎเตเดฎเตเดชเต, เดเดฑเตเดฑเดตเตเด เดชเตเดฐเดงเดพเดจเดชเตเดชเตเดเตเด เดเตเตผเดฃเตฝ เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเดพเดฏเดฟเดฐเตเดจเตเดจเต SHMMAX. SHMMAX เดฎเตเดฒเตเดฏเด เดฌเตเดฑเตเดฑเตเดเดณเดฟเตฝ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต.
เด
เดคเตเดชเตเดฒเต SHMALL เดจเดฟเตผเดฃเตเดฃเดฏเดฟเดเตเดเดพเตป เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดฎเดฑเตเดฑเตเดฐเต เดเตเตผเดฃเตฝ เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเดพเดฃเต
เดชเดเตเดเดฟเดเตเด เดฎเตเดฎเตเดฎเดฑเดฟ เดชเตเดเตเดเดณเตเดเต เดธเดฟเดธเตเดฑเตเดฑเด-เดตเตเดกเต เดตเตเดณเดฟเดฏเด. เดจเดฟเดฒเดตเดฟเดฒเต SHMMAX, SHMALL, เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ SHMMIN เดฎเตเดฒเตเดฏเดเตเดเตพ เดเดพเดฃเตเดจเตเดจเดคเดฟเดจเต, เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเตเด ipcs.
SHM* เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพ - Linux
$ 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 เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต เดธเดฟเดธเตเดฑเตเดฑเด เดตเดฟ เดเดชเดฟเดธเดฟ เดชเดเตเดเดฟเดเตเด เดฎเตเดฎเตเดฎเดฑเดฟ เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต. เด เดชเดฐเดพเดฎเตเดฑเตเดฑเตผ เดเดฑเตเดฑเดตเตเด เดชเตเดฐเดงเดพเดจเดชเตเดชเตเดเตเด เดเตเตผเดฃเตฝ เดชเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเดณเดฟเตฝ เดเดจเตเดจเดพเดฃเต. เดจเดฟเดเตเดเตพเดเตเดเต เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดชเดฟเดถเดเต เดธเดจเตเดฆเตเดถเดเตเดเตพ เดฒเดญเดฟเดเตเดเตเดฎเตเดชเตเดดเตเดฒเตเดฒเดพเด, เดจเดฟเดเตเดเตพเดเตเดเต PostgreSQL-เดจเตเดฑเต เดชเดดเดฏ เดชเดคเดฟเดชเตเดชเต เดเดฃเตเดเตเดจเตเดจเตเด เดจเดฟเดเตเดเดณเตเดเต SHMMAX เดฎเตเดฒเตเดฏเด เดตเดณเดฐเต เดเตเดฑเดตเดพเดฃเตเดจเตเดจเตเด เด เตผเดคเตเดฅเดฎเดพเดเตเดเตเดจเตเดจเต. เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพ เด เดตเตผ เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เดเดฆเตเดฆเตเดถเดฟเดเตเดเตเดจเตเดจ เดชเดเตเดเดฟเดเตเด เดฎเตเดฎเตเดฎเดฑเดฟ เด เดจเตเดธเดฐเดฟเดเตเดเต เดฎเตเดฒเตเดฏเด เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเตเดเดฏเตเด เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดฎเตเดจเตเดจเต เดชเตเดฐเดคเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเต.
เดธเดพเดงเตเดฏเดฎเดพเดฏ เดคเตเดฑเตเดฑเดพเดฏ เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดชเดฟเดถเดเตเดเตพ
SHMMAX เดถเดฐเดฟเดฏเดพเดฏเดฟ เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเดฟเดเตเดเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฐเต PostgreSQL เดเตเดฒเดธเตเดฑเตเดฑเตผ เดเดฐเดเดญเดฟเดเตเดเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเตเดฎเตเดชเตเตพ เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดชเดฟเดถเดเต เดฒเดญเดฟเดเตเดเตเดเตเดเดพเด. initdb.
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
เด เดคเตเดชเตเดฒเต, เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต PostgreSQL เดธเตเตผเดตเตผ เดเดฐเดเดญเดฟเดเตเดเตเดฎเตเดชเตเตพ เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดชเดฟเดถเดเต เดฒเดญเดฟเดเตเดเตเดเตเดเดพเด pg_ctl.
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 เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเตพ เดจเดฟเตผเดตเดเดฟเดเตเดเตเดจเตเดจเดคเต Linux, MacOS X เดเดจเตเดจเดฟเดตเดฏเดฟเตฝ เด เดฒเตเดชเด เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฃเต:
- เดฒเดฟเดจเดเตเดธเต: kernel.shmmax, kernel.shmall
- 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 เดเดจเตเดจเดคเดฟเดฒเตเดเตเดเต เดเตเตผเดเตเดเตเด
เดตเดฒเดฟเดฏ เดชเตเดเตเดเตพ
เดฒเดฟเดจเดเตเดธเต เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ 4 KB เดฎเตเดฎเตเดฎเดฑเดฟ เดชเตเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต, BSD XNUMX KB เดฎเตเดฎเตเดฎเดฑเดฟ เดชเตเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต. เดธเตเดชเตเดชเตผ เดชเตเดเตเดเตพ, เดเดชเตเดชเด เดตเดฟเตปเดกเตเดธเดฟเตฝ - เดตเดฒเดฟเดฏ เดชเตเดเตเดเตพ. เดเดฐเต เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเตเดเตเดเดพเดฏเดฟ เดจเตเดเตเดเดฟเดตเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดฑเดพเดฎเดฟเดจเตเดฑเต เดเดฐเต เดญเดพเดเดฎเดพเดฃเต เดชเตเดเต. เดฎเตเดฎเตเดฎเดฑเดฟ เดเดตเดถเตเดฏเดเดคเดเตพ เด เดจเตเดธเดฐเดฟเดเตเดเต เดเดฐเต เดชเตเดฐเตเดธเดธเตเดธเดฟเดจเต เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดชเตเดเตเดเตพ เดเดฃเตเดเดพเดเดพเด. เดเดฐเต เดชเตเดฐเตเดธเดธเตเดธเดฟเดจเต เดเตเดเตเดคเตฝ เดฎเตเดฎเตเดฎเดฑเดฟ เดเดตเดถเตเดฏเดฎเดพเดฃเต, เด เดคเดฟเดจเต เดเตเดเตเดคเตฝ เดชเตเดเตเดเตพ เด เดจเตเดตเดฆเดฟเดเตเดเตเด. เดชเตเดฐเดเตเดฐเดฟเดฏเดเตพเดเตเดเดพเดฏเดฟ OS เดเดฐเต เดชเตเดเต เด เดฒเตเดเตเดเตเดทเตป เดเตเดฌเดฟเตพ เดชเดฐเดฟเดชเดพเดฒเดฟเดเตเดเตเดจเตเดจเต. เดชเตเดเต เดตเดฒเตเดชเตเดชเด เดเตเดฑเตเดคเดพเดฃเตเดเตเดเดฟเตฝ, เดชเดเตเดเดฟเด เดตเดฒเตเดคเดพเดฏเดฟเดฐเดฟเดเตเดเตเด, เด เดชเตเดเต เดชเดเตเดเดฟเดเดฏเดฟเตฝ เดเดฐเต เดชเตเดเต เดเดฃเตเดเตเดคเตเดคเดพเตป เดเตเดเตเดคเตฝ เดธเดฎเดฏเดฎเตเดเตเดเตเดเตเด. เด เดคเดฟเดจเดพเตฝ เดตเดฒเดฟเดฏ เดชเตเดเตเดเตพ เดเดตเตผเดนเตเดกเต เดเตเดฑเดเตเดเดคเดฟเดจเตเดชเตเดชเด เดตเดฒเดฟเดฏ เด เดณเดตเดฟเดฒเตเดณเตเดณ เดฎเตเดฎเตเดฎเดฑเดฟ เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต; เดเตเดฑเดเตเดเต เดชเตเดเต เดเดพเดดเตโเดเดเตพ, เดเตเดฑเดเตเดเต เดชเตเดเต เดคเดเดฐเดพเดฑเตเดเตพ, เดตเดฒเดฟเดฏ เดฌเดซเดฑเตเดเดณเดฟเตฝ เดตเตเดเดคเตเดคเดฟเดฒเตเดณเตเดณ เดตเดพเดฏเดจ/เดเดดเตเดคเตเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ. เดฎเตเดเตเดเดชเตเดชเตเดเตเด เดชเตเดฐเดเดเดจเดฎเดพเดฃเต เดซเดฒเด.
PostgreSQL เดฒเดฟเดจเดเตเดธเดฟเตฝ เดตเดฒเดฟเดฏ เดชเตเดเตเดเดณเต เดฎเดพเดคเตเดฐเดฎเต เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเต. เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ, Linux 4 KB เดฎเตเดฎเตเดฎเดฑเดฟ เดชเตเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต, เด เดคเดฟเดจเดพเตฝ เดตเดณเดฐเตเดฏเดงเดฟเดเด เดฎเตเดฎเตเดฎเดฑเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดเดณเตเดณ เดธเดจเตเดฆเตผเดญเดเตเดเดณเดฟเตฝ, เดตเดฒเดฟเดฏ เดชเตเดเตเดเตพ เดธเดเตเดเตเดเดฐเดฟเดเตเดเตเดฃเตเดเดคเต เดเดตเดถเตเดฏเดฎเดพเดฃเต. 2 MB, 1 GB เดตเดฐเตเดฏเตเดณเตเดณ เดตเดฒเดฟเดฏ เดชเตเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ เดชเตเดฐเดเดเดจ เดจเตเดเตเดเดเตเดเตพ เดจเดฟเดฐเตเดเตเดทเดฟเดเตเดเดชเตเดชเตเดเตเดจเตเดจเต. เดฌเตเดเตเดเต เดธเดฎเดฏเดคเตเดคเต เดตเดฒเดฟเดฏ เดชเตเดเต เดตเดฒเตเดชเตเดชเด เดธเดเตเดเดฎเดพเดเตเดเดพเตป เดเดดเดฟเดฏเตเด. เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเดเตเดเดณเตเดเต Linux เดฎเตเดทเตเดจเดฟเดฒเต เดตเดฒเดฟเดฏ เดชเตเดเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเดณเตเด เด เดตเดฏเตเดเต เดเดชเดฏเตเดเดตเตเด เดจเดฟเดเตเดเตพเดเตเดเต เดเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเดพเด cat /proc/meminfo | grep -เดเดพเตป เดตเดณเดฐเต เดตเดฒเตเดคเดพเดฃเต.
เดตเดฒเดฟเดฏ เดชเตเดเตเดเดณเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดตเดฟเดตเดฐเดเตเดเตพ เดจเตเดเตเดจเตเดจเต (เดฒเดฟเดจเดเตเดธเต เดฎเดพเดคเตเดฐเด)
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 MB) เดเดฏเดฟ เดธเดเตเดเตเดเดฐเดฟเดเตเดเดฟเดเตเดเตเดฃเตเดเตเดเตเดเดฟเดฒเตเด, เดตเดฒเดฟเดฏ เดชเตเดเตเดเดณเตเดเต เดเดเต เดเดฃเตเดฃเด 0 เดเดฏเดฟ เดธเดเตเดเตเดเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต. เดตเดฒเดฟเดฏ เดชเตเดเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต เดเดจเตเดจเดพเดฃเต เดเดคเดฟเดจเตผเดคเตเดฅเด.
เดตเดฒเดฟเดฏ เดชเตเดเตเดเดณเตเดเต เดเดฃเตเดฃเด เดจเดฟเตผเดฃเตเดฃเดฏเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต
เด เดฒเดณเดฟเดคเดฎเดพเดฏ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเดตเดถเตเดฏเดฎเดพเดฏ เดตเดฒเดฟเดฏ เดชเตเดเตเดเดณเตเดเต เดเดฃเตเดฃเด เดจเตฝเดเตเดจเตเดจเต. PostgreSQL เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดฎเตเดชเตเตพ เดจเดฟเดเตเดเดณเตเดเต Linux เดธเตเตผเดตเดฑเดฟเตฝ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเด. เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเตเดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเต เดตเตเดฃเตเดเดฟเดฏเดพเดฃเตเดจเตเดจเต เดเดฑเดชเตเดชเดพเดเตเดเตเด $PGDATA PostgreSQL เดกเดพเดฑเตเดฑ เดกเดฏเดฑเดเตเดเดฑเดฟ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต.
เดเดตเดถเตเดฏเดฎเดพเดฏ เดตเดฒเดฟเดฏ เดชเตเดเตเดเดณเตเดเต เดเดฃเตเดฃเด เดฒเดญเดฟเดเตเดเตเดจเตเดจเต
#!/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
เดเดชเตเดชเตเตพ เดตเดฒเดฟเดฏ เดชเตเดเตเดเตพ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด, เดตเดฒเดฟเดฏ เดชเตเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒเตเดจเตเดจเต เดจเดฟเดเตเดเตพ เดเดพเดฃเตเด (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-เตฝ big_pages เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเตผ "on" เดเดฏเดฟ เดธเดเตเดเดฎเดพเดเตเดเดฟ เดธเตเตผเดตเตผ เดชเตเดจเดฐเดพเดฐเดเดญเดฟเดเตเดเตเด.
เดเดฐเดฟเดเตเดเตฝ เดเตเดเดฟ, เดตเดฒเดฟเดฏ เดชเตเดเตเดเดณเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดตเดฟเดตเดฐเดเตเดเตพ (เดฒเดฟเดจเดเตเดธเต เดฎเดพเดคเตเดฐเด)
$ 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
เดเดชเตเดชเตเตพ เดตเดฒเดฟเดฏ เดชเตเดเตเดเตพ เดฎเดฟเดเตเดเดคเตเด เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเดพเดฏเดฟ เดเดพเดฃเดพเด.
เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเด: เดเดตเดฟเดเต เดเดชเดฏเตเดเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ HugePages-เดจเตเดฑเต เดเดฃเดเตเดเดพเดเตเดเดฟเดฏ เดฎเตเดฒเตเดฏเด เดตเดณเดฐเต เดเตเดฑเดตเดพเดฃเต, เดเดคเต เดเดฐเต เดเตฝเดชเตเดชเดจเตเดจ เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดฎเตเดทเตเดจเตเดฑเต เดธเดพเดงเดพเดฐเดฃ เดฎเตเดฒเตเดฏเดฎเดฒเตเดฒ. เดจเดฟเดเตเดเดณเตเดเต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเต เดเดตเดถเตเดฏเดฎเดพเดฏ เดชเตเดเตเดเดณเตเดเต เดเดฃเตเดฃเด เดเดฃเดเตเดเดพเดเตเดเตเดเดฏเตเด เดฒเตเดกเตเด เดเดฑเดตเดฟเดเดเตเดเดณเตเด เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ เด เดตเดฏเต เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด.
vm.swappiness
vm.swappiness เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดชเตเดฐเดเดเดจเดคเตเดคเต เดฌเดพเดงเดฟเดเตเดเตเดจเตเดจ เดฎเดฑเตเดฑเตเดฐเต เดเตเตผเดฃเตฝ เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเดพเดฃเต. เดฒเดฟเดจเดเตเดธเดฟเตฝ เดธเตเดตเดพเดชเตเดชเดฟเดจเดธเต (เดฎเตเดฎเตเดฎเดฑเดฟเดฏเดฟเดฒเตเด เดชเตเดฑเดคเตเดคเตเด เดชเตเดเตเดเตพ เดธเตเดตเดพเดชเตเดชเต เดเตเดฏเตเดฏเตเดจเตเดจเต) เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเดพเตป เด เดเดชเตเดทเตป เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต. เดฎเตเดฒเตเดฏเด 0 เดฎเตเดคเตฝ 100 โโเดตเดฐเตเดฏเดพเดฃเต. เดเดคเตเดฐ เดฎเตเดฎเตเดฎเดฑเดฟ เดชเตเดเต เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดชเตเดเต เดเดเตเดเต เดเตเดฏเตเดฏเดชเตเดชเตเดเตเดฎเตเดจเตเดจเต เดเดคเต เดจเดฟเตผเดฃเตเดฃเดฏเดฟเดเตเดเตเดจเตเดจเต. เดชเตเดเตเดฏเด เดเดจเตเดจเดพเตฝ เดตเดฟเดจเดฟเดฎเดฏเดฎเดฟเดฒเตเดฒ, 100 เดเดจเตเดจเดพเตฝ เดเดเตเดฐเดฎเดฃเดพเดคเตเดฎเด เดตเดฟเดจเดฟเดฎเดฏเด.
เดเตเดฑเดเตเด เดฎเตเดฒเตเดฏเดเตเดเตพ เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดฒเตเดเต เดจเดฟเดเตเดเตพเดเตเดเต เดฎเดฟเดเดเตเด เดชเตเดฐเดเดเดจเด เดจเตเดเดพเดจเดพเดเตเด.
เดชเตเดคเดฟเดฏ เดเตเตผเดฃเดฒเตเดเดณเดฟเตฝ เดเดคเต 0 เดเดฏเดฟ เดธเดเตเดเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเต OOM เดเดฟเดฒเตเดฒเตผ (เดฒเดฟเดจเดเตเดธเดฟเดจเตเดฑเต เดฎเตเดฎเตเดฎเดฑเดฟ เดเตเดฒเตเดจเดฟเดเดเต เดชเตเดฐเตเดธเดธเต) เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเต เดเดฒเตเดฒเดพเดคเดพเดเตเดเดพเตป เดเดพเดฐเดฃเดฎเดพเดฏเตเดเตเดเดพเด. เด เดคเดฟเดจเดพเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เดธเตเดตเดพเดชเตเดชเดฟเดเดเต เดเตเดฑเดฏเตเดเตเดเดฃเดฎเตเดเตเดเดฟเตฝ เด เดคเต 1 เดเดฏเดฟ เดธเดเตเดเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเต เดธเตเดฐเดเตเดทเดฟเดคเดฎเดพเดฃเต. เดฒเดฟเดจเดเตเดธเดฟเดฒเต เดกเดฟเดซเตเตพเดเตเดเต เดฎเตเดฒเตเดฏเด 60 เดเดฃเต. เดเดฏเตผเดจเตเดจ เดฎเตเดฒเตเดฏเด MMU (เดฎเตเดฎเตเดฎเดฑเดฟ เดฎเดพเดจเตเดเตเดฎเตเดจเตเดฑเต เดฏเตเดฃเดฟเดฑเตเดฑเต) เดฑเดพเดฎเดฟเดจเตเดเตเดเดพเตพ เดเตเดเตเดคเตฝ เดธเตเดตเดพเดชเตเดชเต เดธเตเดชเตเดธเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดพเดฐเดฃเดฎเดพเดเตเดจเตเดจเต, เด เดคเตเดธเดฎเดฏเด เดเตเดฑเดเตเด เดฎเตเดฒเตเดฏเด เดฎเตเดฎเตเดฎเดฑเดฟเดฏเดฟเตฝ เดเตเดเตเดคเตฝ เดกเดพเดฑเตเดฑ/เดเตเดกเต เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเตเดจเตเดจเต.
PostgreSQL-เดฒเต เดฎเตเดเตเดเดชเตเดชเตเดเตเด เดชเตเดฐเดเดเดจเดคเตเดคเดฟเดจเต เดเตเดฑเดเตเด เดฎเตเดฒเตเดฏเด เดเดฐเต เดจเดฒเตเดฒ เดชเดจเตเดคเดฏเดฎเดพเดฃเต.
vm.overcommit_memory / vm.overcommit_ratio
เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดฎเตเดฎเตเดฎเดฑเดฟ เดจเตเดเตเดเดฏเตเด เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเดพเดคเตเดคเดชเตเดชเตเตพ เด เดคเต เดชเตเดฑเดคเตเดคเตเดตเดฟเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต. เดเดจเตเดจเดพเตฝ เดเดฟเดฒ เดธเดจเตเดฆเตผเดญเดเตเดเดณเดฟเตฝ, เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเต เดตเดณเดฐเตเดฏเดงเดฟเดเด เดฎเตเดฎเตเดฎเดฑเดฟ เดฒเดญเดฟเดเตเดเตเดจเตเดจเต, เด เดคเต เดฑเดฟเดฒเตเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒ. เดเดคเต เดเดฐเต OOM เดเตเดฒเดฏเดพเดณเดฟเดเตเดเต เดเดพเดฐเดฃเดฎเดพเดฏเตเดเตเดเดพเด. เดธเดพเดงเตเดฏเดฎเดพเดฏ เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเตผ เดฎเตเดฒเตเดฏเดเตเดเตพ เดเดคเดพ vm.overcommit_memory เดเดฐเตเดจเตเดจเดฟเดจเตเด เดเดฐเต เดตเดฟเดตเดฐเดฃเด เดธเดนเดฟเดคเด:
- เดนเตเดฏเตเดฑเดฟเดธเตเดฑเตเดฑเดฟเดเต เดเดตเตผเดเดฎเตเดฎเดฟเดฑเตเดฑเต (เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ); เดเตเตผเดฃเตฝ เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟเดฏเตเดณเตเดณ เดนเตเดฏเตเดฑเดฟเดธเตเดฑเตเดฑเดฟเดเต
- เดเดคเดพเดฏเดพเดฒเตเด เด เดฎเดฟเดคเดพเดงเดฟเดเดพเดฐเด เด เดจเตเดตเดฆเดฟเดเตเดเตเด
- เด เดคเต เด เดฎเดฟเดคเดฎเดพเดเตเดเดฐเตเดคเต, เดเดตเตผเดเดฎเตเดฎเดฟเดฑเตเดฑเต เด เดจเตเดชเดพเดคเด เดเดตเดฟเดฏเดฐเตเดคเต.
เดฑเดซเดฑเตปเดธเต:
vm.overcommit_ratio โ เดเดตเตผเดฒเตเดกเดฟเดจเต เดฒเดญเตเดฏเดฎเดพเดฏ เดฑเดพเดฎเดฟเดจเตเดฑเต เดถเดคเดฎเดพเดจเด. 50 GB RAM เดเดณเตเดณ เดเดฐเต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ 2% เดฎเตเดฒเตเดฏเดคเตเดคเดฟเดจเต 3 GB เดตเดฐเต เดฑเดพเด เด เดจเตเดตเดฆเดฟเดเตเดเดพเด.
vm.overcommit_memory เดเดจเตเดจเดคเดฟเดจเดพเดฏเตเดณเตเดณ 2 เดฎเตเดฒเตเดฏเด PostgreSQL-เดจเต เดฎเดฟเดเดเตเด เดชเตเดฐเดเดเดจเด เดจเตฝเดเตเดจเตเดจเต. เด เดฎเตเดฒเตเดฏเด OOM เดเดฟเดฒเตเดฒเตผ เดชเตเดฐเตเดธเดธเตเดธเต เดตเดดเดฟ เดจเดถเดฟเดชเตเดชเดฟเดเตเดเดชเตเดชเตเดเดพเดจเตเดณเตเดณ เดเดพเดฐเตเดฏเดฎเดพเดฏ เด เดชเดเดเดธเดพเดงเตเดฏเดคเดฏเดฟเดฒเตเดฒเดพเดคเต เดธเตเตผเดตเตผ เดชเตเดฐเตเดธเดธเตเดธเดฟเดจเตเดฑเต เดฑเดพเด เดเดชเดฏเตเดเด เดชเดฐเดฎเดพเดตเดงเดฟเดฏเดพเดเตเดเตเดจเตเดจเต. เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเต เดฑเตเดฒเตเดกเต เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด, เดเดจเตเดจเดพเตฝ เดเดตเตผเดฑเตบ เดชเดฐเดฟเดงเดฟเดเตเดเตเดณเตเดณเดฟเตฝ เดฎเดพเดคเตเดฐเด, เดเดคเต เดเดฐเต OOM เดเตเดฒเดฏเดพเดณเดฟ เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเต เดจเดถเดฟเดชเตเดชเดฟเดเตเดเดพเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดค เดเตเดฑเดฏเตเดเตเดเตเดจเตเดจเต. เด เดคเดฟเดจเดพเตฝ, 2 เดจเตเดฑเต เดฎเตเดฒเตเดฏเด 0 เดฏเตเดเต เดกเดฟเดซเตเตพเดเตเดเต เดฎเตเดฒเตเดฏเดคเตเดคเตเดเตเดเดพเตพ เดฎเดฟเดเดเตเด เดชเตเดฐเดเดเดจเด เดจเตฝเดเตเดจเตเดจเต. เดเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด, เดชเดฐเดฟเดงเดฟเดเตเดเต เดชเตเดฑเดคเตเดคเตเดณเตเดณ เดฎเตเดฎเตเดฎเดฑเดฟ เดเดตเตผเดฒเตเดกเต เดเตเดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒเตเดจเตเดจเต เดเดฑเดชเตเดชเดพเดเตเดเตเดจเตเดจเดคเดฟเดฒเตเดเต เดตเดฟเดถเตเดตเดพเดธเตเดฏเดค เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเดพเตป เดเดดเดฟเดฏเตเด. เดเดคเต เดเดฐเต OOM เดเตเดฒเดฏเดพเดณเดฟเดฏเดพเตฝ เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเต เดเตเดฒเตเดฒเดชเตเดชเตเดเดพเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดค เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเดจเตเดจเต.
เดธเตเดตเดพเดชเตเดชเต เดเตเดฏเตเดฏเดพเดคเตเดค เดธเดฟเดธเตเดฑเตเดฑเดเตเดเดณเดฟเตฝ, vm.overcommit_memory 2 เดจเต เดคเตเดฒเตเดฏเดฎเดพเดฏ เดเดฐเต เดชเตเดฐเดถเตเดจเด เดเดฃเตเดเดพเดเดพเด.
vm.dirty_background_ratio / vm.dirty_background_bytes
vm.dirty_background_ratio เดกเดฟเดธเตเดเดฟเตฝ เดเดดเตเดคเตเดฃเตเด เดตเตเดคเตเดคเดฟเดเตเดเตเด เดชเตเดเตเดเตพ เดจเดฟเดฑเดเตเด เดฎเตเดฎเตเดฎเดฑเดฟเดฏเตเดเต เดถเดคเดฎเดพเดจเดฎเดพเดฃเต. เดชเดถเตเดเดพเดคเตเดคเดฒเดคเตเดคเดฟเตฝ เดกเดฟเดธเตเดเดฟเดฒเตเดเตเดเตเดณเตเดณ เดซเตเดฒเดทเต เดธเดเดญเดตเดฟเดเตเดเตเดจเตเดจเต. เด เดชเดฐเดพเดฎเตเดฑเตเดฑเดฑเดฟเดจเตเดฑเต เดฎเตเดฒเตเดฏเด 0 เดฎเตเดคเตฝ 100 โโเดตเดฐเตเดฏเดพเดฃเต; เดเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด, 5-เดจเต เดคเดพเดดเตเดฏเตเดณเตเดณ เดเดฐเต เดฎเตเดฒเตเดฏเด เดซเดฒเดชเตเดฐเดฆเดฎเดฒเตเดฒเดพเดฏเดฟเดฐเดฟเดเตเดเดพเด, เดเดฟเดฒ เดเตเตผเดฃเดฒเตเดเตพ เด เดคเดฟเดจเต เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ. เดฎเดฟเดเตเด เดฒเดฟเดจเดเตเดธเต เดธเดฟเดธเตเดฑเตเดฑเดเตเดเดณเดฟเดฒเตเด 10 เดเดฃเต เดกเดฟเดซเตเตพเดเตเดเต. เดเดฐเต เดเตเดฑเดฟเดฏ เดเดเดเด เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดดเตเดคเตเดคเต-เดคเตเดตเตเดฐเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเดณเตเดเต เดชเตเดฐเดเดเดจเด เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเดพเตป เดเดดเดฟเดฏเตเด, เด เดคเดพเดฏเดคเต เดชเดถเตเดเดพเดคเตเดคเดฒเดคเตเดคเดฟเตฝ เดตเตเดคเตเดคเดฟเดเตเดเตเด เดชเตเดเตเดเตพ Linux เดซเตเดฒเดทเต เดเตเดฏเตเดฏเตเด.
เดจเดฟเดเตเดเตพ เดฎเตเดฒเตเดฏเด เดธเดเตเดเดฎเดพเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต vm.dirty_background_bytes เดจเดฟเดเตเดเดณเตเดเต เดกเตเดฐเตเดตเดฟเดจเตเดฑเต เดตเตเดเดคเดฏเต เดเดถเตเดฐเดฏเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต.
เด เดฐเดฃเตเดเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเตพเดเตเดเตเด "เดจเดฒเตเดฒ" เดฎเตเดฒเตเดฏเดเตเดเดณเตเดจเตเดจเตเดฎเดฟเดฒเตเดฒ, เดเดพเดฐเดฃเด เดเดต เดฐเดฃเตเดเตเด เดนเดพเตผเดกเตโเดตเตเดฏเตผ เดเดถเตเดฐเดฟเดคเดฎเดพเดฃเต. เดเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด, vm.dirty_background_ratio 5 เดเดฏเตเด vm.dirty_background_bytes เดกเดฟเดธเตเดเต เดตเตเดเดคเดฏเตเดเต 25% เดเดฏเตเด เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเต เดฎเดฟเดเตเด เดเตเดธเตเดเดณเดฟเดฒเตเด เดชเตเดฐเดเดเดจเด ~25% เดเดฏเดฟ เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเตเดจเตเดจเต.
vm.dirty_ratio/dirty_bytes
เด เดคเต เดชเตเดฒเต เดคเดจเตเดจเต vm.dirty_background_ratio/dirty_background_bytes, เดเดฐเต เดตเตผเดเตเดเตผ เดธเตเดทเดจเดฟเตฝ เดฑเตเดธเตเดฑเตเดฑเต เดจเดเดคเตเดคเตเดจเตเดจเต เดเดจเตเดจเดคเตเดดเดฟเดเตเดเดพเตฝ, เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดคเดเดฏเตเดจเตเดจเต. เด เดคเดฟเดจเดพเตฝ vm.dirty_ratio เดเดจเตเดจเดคเดฟเดจเตเดเตเดเดพเตพ เดเดฏเตผเดจเตเดจเดคเดพเดฏเดฟเดฐเดฟเดเตเดเดฃเด vm.dirty_background_ratio. เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเต เดชเดฐเดฎเดพเดตเดงเดฟ เดคเดเดฏเตเดจเตเดจเดคเต เดเดดเดฟเดตเดพเดเตเดเดพเตป เดชเดถเตเดเดพเดคเตเดคเดฒ เดชเตเดฐเดเตเดฐเดฟเดฏเดเตพ เดจเตเดฐเดคเตเดคเต เดเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเตเดตเตเดจเตเดจเต เดเดคเต เดเดฑเดชเตเดชเดพเดเตเดเตเดจเตเดจเต. เดกเดฟเดธเตเดเต I/O เดฒเตเดกเต เด เดจเตเดธเดฐเดฟเดเตเดเต เดจเดฟเดเตเดเตพเดเตเดเต เด เดฐเดฃเตเดเต เด เดจเตเดชเดพเดคเดเตเดเตพ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดตเตเดฏเดคเตเดฏเดพเดธเด เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเดพเด.
เดซเดฒเด
เดชเตเดฐเดเดเดจเด เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเดพเตป เดจเดฟเดเตเดเตพเดเตเดเต เดฎเดฑเตเดฑเต เดเตเดฐเดฎเตเดเดฐเดฃเดเตเดเตพ เดฎเดพเดฑเตเดฑเดพเดตเตเดจเตเดจเดคเดพเดฃเต, เดเดจเตเดจเดพเตฝ เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเดฒเตเดเตพ เดตเดณเดฐเต เดเตเดฑเดตเดพเดฏเดฟเดฐเดฟเดเตเดเตเด, เดจเดฟเดเตเดเตพเดเตเดเต เดเตเดเตเดคเตฝ เดชเตเดฐเดฏเตเดเดจเด เดฒเดญเดฟเดเตเดเดฟเดฒเตเดฒ. เดเดฒเตเดฒเดพ เดเดชเตเดทเดจเตเดเดณเตเด เดเดฒเตเดฒเดพเดคเตเดคเดฐเด เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพเดเตเดเตเด เดฌเดพเดงเดเดฎเดฒเตเดฒเตเดจเตเดจเต เดจเดพเด เดเตผเดเตเดเดฃเด. เดเดเตเดเตพ เดเดฟเดฒ เดเตเดฐเดฎเตเดเดฐเดฃเดเตเดเตพ เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเตเดฎเตเดชเตเตพ เดเดฟเดฒ เดเดชเตเดชเตเดเตพ เดจเดจเตเดจเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต, เดเดฟเดฒเดคเต เด
เดเตเดเดจเตเดฏเดฒเตเดฒ. เดจเดฟเดเตเดเตพ เดชเตเดฐเดคเตเดเตเดทเดฟเดเตเดเตเดจเตเดจ เดเตเดฒเดฟเดญเดพเดฐเดคเตเดคเดฟเดจเตเด เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดคเดฐเดคเตเดคเดฟเดจเตเดฎเดพเดฏเดฟ เด เดเตเดฐเดฎเตเดเดฐเดฃเดเตเดเตพ เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดถเดฐเดฟเดฏเดพเดฏ เดฌเดพเดฒเตปเดธเต เดจเดฟเดเตเดเตพ เดเดฃเตเดเตเดคเตเดคเตเดฃเตเดเดคเตเดฃเตเดเต, เดเตเดฏเตเตบ เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ OS เดธเตเดตเดญเดพเดตเดตเตเด เดจเดฟเดเตเดเตพ เดชเดฐเดฟเดเดฃเดฟเดเตเดเดฃเด. เดเตเตผเดฃเตฝ เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเตพ เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเตพ เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเต เดชเตเดฒเต เดเดณเตเดชเตเดชเดฎเดฒเตเดฒ; เดถเตเดชเดพเตผเดถเดเตพ เดจเตฝเดเตเดจเตเดจเดคเต เดเตเดเตเดคเตฝ เดฌเตเดฆเตเดงเดฟเดฎเตเดเตเดเดพเดฃเต.
เด
เดตเดฒเดเดฌเด: www.habr.com