PostgreSQLĐôi khi có thể làm cạn kiệt các giới hạn tài nguyên hệ điều hành khác nhau, đặc biệt là khi nhiều bản sao của máy chủ đang chạy trên cùng một hệ thống hoặc trong các cài đặt rất lớn. Phần này giải thích các kèo bóng đá hom nay được sử dụng bởiPostgreSQLvà các bước bạn có thể thực hiện để giải quyết các vấn đề liên quan đến tiêu thụ kèo bóng đá hom nay.
PostgreSQLYêu cầu hệ điều hành cung cấp giao tiếp giữa kèo bóng đá hom nay quá trình (IPC) kèo bóng đá hom nay tính năng, chia sẻ bộ nhớ và semaphores cụ thể. kèo bóng đá hom nay hệ thống có nguồn gốc UNIX thường cung cấpSystem V IPC, HồiPOSIXHàng IPChoặc cả hai.WindowsCó triển khai riêng kèo bóng đá hom nay tính năng này và không được thảo luận ở đây.
Theo mặc định,PostgreSQLPhân bổ một lượng rất nhỏ bộ nhớ chia sẻ hệ thống V, cũng như một lượng lớn hơn nhiềuMMAP
Bộ nhớ chia sẻ. Ngoài ra, có thể sử dụng một vùng bộ nhớ chia sẻ hệ thống V hệ thống lớn (xemshared_memory_type). Ngoài ra, một số lượng đáng kể kèo bóng đá hom nay semaphores, có thể là kiểu hệ thống V hoặc POSIX, được tạo tại máy chủ khởi động.
System VIPCkèo bóng đá hom nay tính năng thường bị hạn chế bởi kèo bóng đá hom nay giới hạn phân bổ toàn hệ thống. KhiPostgreSQLvượt quá một trong những giới hạn này, máy chủ sẽ từ chối bắt đầu và nên để lại thông báo lỗi hướng dẫn mô tả vấn đề và phải làm gì về nó. (Xem thêmPhần 18.3.1.) kèo bóng đá hom nay tham số kernel có liên quan được đặt tên nhất quán trên kèo bóng đá hom nay hệ thống khác nhau;Bảng 18.1đưa ra một cái nhìn tổng quan. kèo bóng đá hom nay phương pháp để thiết lập chúng, tuy nhiên, khác nhau.
Bảng 18.1.System V IPCtham số
tên | Mô tả | kèo bóng đá hom nay giá trị cần thiết để chạy mộtPostgreSQLphiên bản |
---|---|---|
Shmmax |
Kích thước tối đa của phân đoạn bộ nhớ chia sẻ (byte) | ít nhất 1kb, nhưng mặc định thường cao hơn nhiều |
Shmmin |
Kích thước tối thiểu của phân đoạn bộ nhớ chia sẻ (byte) | 1 |
Shmall |
Tổng số lượng bộ nhớ chia sẻ có sẵn (byte hoặc trang) | giống nhưShmmax Nếu byte hoặcceil (shmmax/page_size) Nếu kèo bóng đá hom nay trang, cộng với phòng cho kèo bóng đá hom nay ứng dụng khác |
SHMSEG |
Số lượng phân đoạn bộ nhớ được chia sẻ tối đa cho mỗi quá trình | Chỉ cần 1 phân đoạn, nhưng mặc định cao hơn nhiều |
shmmni |
Số lượng phân đoạn bộ nhớ được chia sẻ tối đa toàn bộ hệ thống | nhưSHMSEG Plus Room cho kèo bóng đá hom nay ứng dụng khác |
semmni |
Số lượng nhận dạng semaphore tối đa (tức là, bộ) | ít nhất16806_16906 Plus Room cho kèo bóng đá hom nay ứng dụng khác |
semmns |
Số lượng tối đa của toàn bộ hệ thống | 17148_17253 Phòng cộng cho kèo bóng đá hom nay ứng dụng khác |
semmsl |
Số lượng semaphores tối đa cho mỗi bộ | ít nhất 20 |
semmap |
Số lượng mục trong Bản đồ Semaphore | xem văn bản |
semvmx |
Giá trị tối đa của Semaphore | ít nhất 1000 (mặc định thường là 32767; không thay đổi trừ khi cần thiết) |
PostgreSQLYêu cầu một vài byte bộ nhớ chia sẻ hệ thống v (thường là 48 byte, trên nền tảng 64 bit) cho mỗi bản sao của máy chủ. Trên hầu hết kèo bóng đá hom nay hệ điều hành hiện đại, số tiền này có thể dễ dàng được phân bổ.shared_memory_typevàDynamic_Shared_Memory_Type), có thể cần phải tăngShmall
, là tổng số lượng hệ thống v chung hệ thống bộ nhớ. Lưu ý rằngShmall
được đo bằng kèo bóng đá hom nay trang thay vì byte trên nhiều hệ thống.
Ít có khả năng gây ra sự cố là kích thước tối thiểu cho kèo bóng đá hom nay phân đoạn bộ nhớ được chia sẻ (Shmmin
), nên có nhiều nhất khoảng 32 byte choPostgreSQL(thường chỉ là 1). Số lượng phân đoạn tối đa toàn bộ hệ thống (Shmmni
) hoặc trên mỗi quá trình (SHMSEG
) khó có thể gây ra vấn đề trừ khi hệ thống của bạn được đặt thành 0.
Khi sử dụng System v Semaphores,PostgreSQLSử dụng một semaphore cho mỗi kết nối được phép (Max_Connections), cho phép quy trình công nhân tự động (autovacuum_max_workers), cho phép quy trình người gửi Wal (MAX_WAL_SENDERS) và cho phép quy trình nền (Max_Worker_Processes), trong kèo bóng đá hom nay bộ 19. Mỗi bộ như vậy cũng sẽ chứa một semaphore thứ 20 có chứaHồisố ma thuậtxông, để phát hiện va chạm với kèo bóng đá hom nay bộ semaphore được sử dụng bởi kèo bóng đá hom nay ứng dụng khác. Số lượng semaphores tối đa trong hệ thống được đặt bởiSEMMNS
, do đó phải cao ít nhất làMax_Connections
cộngautovacuum_max_workers
cộngMAX_WAL_SENDERS
, cộng vớiMax_Worker_Processes
, cộng với một thêm cho mỗi 19 kết nối được phép cộng với công nhân (xem công thức trongBảng 18.1). Tham sốsemmni
Xác định giới hạn về số lượng bộ semaphore có thể tồn tại trên hệ thống cùng một lúc. Do đó tham số này phải ít nhất20934_21034
. Giảm số lượng kết nối được phép là một cách giải quyết tạm thời cho kèo bóng đá hom nay thất bại, thường bị từ chối một cách khó hiểuKhông còn khoảng trống trên thiết bịxông, từ chức năngSemget
.
Trong một số trường hợp, cũng có thể cần phải tăngSEMMAP
ít nhất là theo thứ tựSEMMNS
. Nếu hệ thống có tham số này (nhiều người không), nó xác định kích thước của bản đồ kèo bóng đá hom nay semaphore, trong đó mỗi khối tiếp giáp của các semaphores có sẵn cần một mục nhập.
kèo bóng đá hom nay cài đặt khác nhau liên quan đếnHồisemaphore undo, chẳng hạn nhưsemmnu
vàsemume
, không ảnh hưởngPostgreSQL.
22233_22371Max_Connections), cho phép quy trình công nhân tự động (autovacuum_max_workers), cho phép quy trình người gửi Wal (MAX_WAL_SENDERS) và cho phép quy trình nền (Max_Worker_Processes). Trên kèo bóng đá hom nay nền tảng mà tùy chọn này được ưa thích, không có giới hạn kernel cụ thể về số lượng semaphores POSIX.
Cài đặt bộ nhớ chia sẻ mặc định thường đủ tốt, trừ khi bạn đã đặtshared_memory_type
đếnSYSV
. System v semaphores không được sử dụng trên nền tảng này.
Cài đặt IPC mặc định có thể được thay đổi bằng cách sử dụngsysctl
hoặcTrình tải
Giao diện. kèo bóng đá hom nay tham số sau có thể được đặt bằng cách sử dụngsysctl
:
#
sysctl kern.ipc.shmall = 32768
#
sysctl kern.ipc.shmmax = 134217728
Để làm cho kèo bóng đá hom nay cài đặt này tồn tại trên kèo bóng đá hom nay lần khởi động lại, sửa đổi/etc/sysctl.conf
.
Nếu bạn đã đặtshared_memory_type
đếnsysv
, bạn cũng có thể muốn định cấu hình kèo bóng đá hom nay của mình để khóa hệ thống v bộ nhớ chia sẻ vào RAM và ngăn không cho nó được phân trang để hoán đổi. Điều này có thể được thực hiện bằng cách sử dụngsysctl
Cài đặtkern.ipc.shm_use_phys
.
Nếu chạy trong nhà tù FreeBSD, bạn nên đặt nósysvshm
tham số đếnmới
, do đó nó có không gian tên bộ nhớ chia sẻ hệ thống riêng của nó. .
Cài đặt bộ nhớ chia sẻ mặc định thường đủ tốt, trừ khi bạn đã đặtshared_memory_type
đếnsysv
. Bạn thường sẽ muốn tăngkern.ipc.semmni
vàkern.ipc.semmns
, nhưNetBSDCài đặt mặc định cho những thứ này là nhỏ một cách khó chịu.
tham số IPC có thể được điều chỉnh bằng cách sử dụngsysctl
, ví dụ:
#
sysctl -w kern.ipc.semmni = 100
Để làm cho kèo bóng đá hom nay cài đặt này tồn tại trên khởi động lại, sửa đổi/etc/sysctl.conf
.
Nếu bạn đã đặtshared_memory_type
đếnSYSV
, bạn cũng có thể muốn định cấu hình kèo bóng đá hom nay của mình để khóa hệ thống v bộ nhớ chia sẻ vào RAM và ngăn không cho nó được phân trang để hoán đổi. Điều này có thể được thực hiện bằng cách sử dụngsysctl
Cài đặtkern.ipc.shm_use_phys
.
Cài đặt bộ nhớ chia sẻ mặc định thường đủ tốt, trừ khi bạn đã đặtshared_memory_type
đếnsysv
. Bạn thường sẽ muốn tăngkern.seminfo.semmni
vàkern.seminfo.semmns
, nhưOpenBSDCài đặt mặc định cho những thứ này là nhỏ một cách khó chịu.
Thông số IPC có thể được điều chỉnh bằng cách sử dụngsysctl
, ví dụ:
#
sysctl kern.seminfo.semmni = 100
Để làm cho kèo bóng đá hom nay cài đặt này tồn tại trên khởi động lại, sửa đổi/etc/sysctl.conf
.
Cài đặt bộ nhớ chia sẻ mặc định thường đủ tốt, trừ khi bạn đã đặtshared_memory_type
đếnSYSV
, và thậm chí sau đó chỉ trên kèo bóng đá hom nay phiên bản kernel cũ được vận chuyển với mặc định thấp. System v semaphores không được sử dụng trên nền tảng này.
Cài đặt kích thước bộ nhớ được chia sẻ có thể được thay đổi thông quasysctl
Giao diện. Ví dụ: để cho phép 16 gb:
$
sysctl -w kèo bóng đá hom nayshmmax = 17179869184
$
sysctl -w kèo bóng đá hom nayshmall = 4194304
Để làm cho kèo bóng đá hom nay cài đặt này tồn tại trên kèo bóng đá hom nay lần khởi động lại, xem/etc/sysctl.conf
.
Bộ nhớ chia sẻ mặc định và cài đặt semaphore thường đủ tốt, trừ khi bạn đã đặtshared_memory_type
đếnsysv
.
Phương thức được đề xuất để định cấu hình bộ nhớ chia sẻ trong macOS là tạo một tệp có tên/etc/sysctl.conf
, chứa kèo bóng đá hom nay bài tập biến như:
kern.sysv.shmmax = 4194304
Lưu ý rằng trong một số phiên bản macOS,Tất cả nămkèo bóng đá hom nay tham số bộ nhớ chia sẻ phải được đặt trong/etc/sysctl.conf
, khác kèo bóng đá hom nay giá trị sẽ bị bỏ qua.
Shmmax
Chỉ có thể được đặt thành bội số của 4096.
Shmall
được đo bằng 4 trang kb trên nền tảng này.
Có thể thay đổi tất cả trừShmmni
Khi đang bay, sử dụngsysctl. Nhưng tốt nhất là thiết lập kèo bóng đá hom nay giá trị ưa thích của bạn thông qua/etc/sysctl.conf
, để kèo bóng đá hom nay giá trị sẽ được giữ trên kèo bóng đá hom nay lần khởi động lại.
Bộ nhớ chia sẻ mặc định và cài đặt semaphore thường đủ tốt cho hầu hếtPOSTGRESQLỨng dụng. Solaris mặc định làShmmax
của một phần tư hệ thốngRAM. Để điều chỉnh thêm cài đặt này, hãy sử dụng cài đặt dự án được liên kết vớiPostgres
Người dùng. Ví dụ: chạy như sauRoot
:
30284_30407
Lệnh này thêmuser.postgres
Dự án và đặt bộ nhớ được chia sẻ tối đa choPostgres
Người dùng đến 8GB và có hiệu lực vào lần tiếp theo mà người dùng đăng nhập hoặc khi bạn khởi động lạiPostgreSQL(không tải lại). Ở trên giả định rằngPostgreSQLđược chạy bởiPostgres
Người dùng trongPostgres
Nhóm. Không cần khởi động lại máy chủ.
Thay đổi cài đặt kernel được đề xuất khác cho kèo bóng đá hom nay máy chủ cơ sở dữ liệu sẽ có số lượng lớn kết nối là:
Project.Max-Shm-ids = (Priv, 32768, Deny)
Ngoài ra, nếu bạn đang chạyPostgreSQLBên trong một khu vực, bạn cũng có thể cần phải tăng giới hạn sử dụng kèo bóng đá hom nay khu vực. Xem "Chương2: Các dự án và nhiệm vụ" trongHướng dẫn của Quản trị viên Hệ thốngĐể biết thêm thông tin vềDự án
vàPRCTL
.
nếuSystemdđang được sử dụng, một số cần phải chú ý rằng kèo bóng đá hom nay IPC (bao gồm cả bộ nhớ chia sẻ) không bị hệ điều hành loại bỏ sớm. Điều này đặc biệt là mối quan tâm khi cài đặt PostgreSQL từ nguồn.Postgres
Người dùng sau đó thường được tạo dưới dạng người dùng hệ thống.
Cài đặtRemoveIpc
inlogind.conf
Kiểm soát xem kèo bóng đá hom nay đối tượng IPC có bị xóa khi người dùng đăng xuất đầy đủ hay không. Người dùng hệ thống được miễn trừ.systemd, nhưng một số phân phối hệ điều hành mặc định là tắt.
32729_32962
Cảnh báo: Không thể xóa phân đoạn bộ nhớ được chia sẻ "/Postgresql.1450751626": Không có tệp hoặc thư mục đó
kèo bóng đá hom nay loại đối tượng IPC khác nhau (bộ nhớ chia sẻ so với Semaphores, System V so với POSIX) được xử lý hơi khác nhau bởisystemd, vì vậy người ta có thể quan sát rằng một số kèo bóng đá hom nay IPC không bị xóa theo cách khác như những kèo bóng đá hom nay khác. Nhưng không nên dựa vào những khác biệt tinh tế này.
AĐăng nhập người dùngKhănCó thể xảy ra như một phần của công việc bảo trì hoặc thủ công khi quản trị viên đăng nhập dưới dạngPostgres
Người dùng hoặc một cái gì đó tương tự, vì vậy rất khó để ngăn chặn nói chung.
A là gìNgười dùng hệ thốngđược xác định tạisystemdbiên dịch thời gian từSYS_UID_MAX
Cài đặt trong/etc/login.defs
.
kèo bóng đá hom nay tập lệnh đóng gói và triển khai nên cẩn thận để tạoPostgres
Người dùng làm người dùng hệ thống bằng cách sử dụnguserAdd -r
, adduser -system
hoặc tương đương.
Ngoài ra, nếu kèo bóng đá hom nay khoản người dùng được tạo không chính xác hoặc không thể thay đổi, nên đặt
removeIpc = no
in/etc/systemd/logind.conf
hoặc tệp cấu hình thích hợp khác.
Ít nhất một trong hai điều này phải được đảm bảo hoặc máy chủ PostgreSQL sẽ không đáng tin cậy.
Hệ điều hành giống UNIX thực thi các loại giới hạn kèo bóng đá hom nay khác nhau có thể can thiệp vào hoạt động của của bạnPostgreSQLMáy chủ. Đặc biệt quan trọng là giới hạn về số lượng quy trình trên mỗi người dùng, số lượng tệp mở cho mỗi quy trình và lượng bộ nhớ có sẵn cho mỗi quy trình.HardKhănvà ASoftGiới hạn. Giới hạn mềm là những gì thực sự được tính nhưng nó có thể được người dùng thay đổi đến giới hạn cứng.SetRlImit
chịu trách nhiệm đặt kèo bóng đá hom nay tham số này. Lệnh tích hợp của shellUlimit
(vỏ Bourne) hoặcGiới hạn
(CSH) được sử dụng để kiểm soát các giới hạn kèo bóng đá hom nay từ dòng lệnh. Trên các hệ thống có nguồn gốc BSD, tệp/etc/login.conf
Kiểm soát các giới hạn kèo bóng đá hom nay khác nhau được đặt trong quá trình đăng nhập. Xem tài liệu hệ điều hành để biết chi tiết.MaxProc
, OpenFiles
vàDataSize
. Ví dụ:
Mặc định: \
(-cur
là giới hạn mềm. ỨNG DỤNG-Max
Để đặt giới hạn cứng.)
Hạt nhân cũng có thể có giới hạn toàn hệ thống trên một số kèo bóng đá hom nay.
trênLinuxTham số kèo bóng đá hom nayfs.file-Max
Xác định số lượng tệp mở tối đa mà kèo bóng đá hom nay sẽ hỗ trợ. Nó có thể được thay đổi vớisysctl -w fs.file -max =
. Để làm cho cài đặt vẫn tồn tại trên kèo bóng đá hom nay lần khởi động lại, hãy thêm một bài tập trongn
/etc/sysctl.conf
. Giới hạn tối đa của kèo bóng đá hom nay tệp cho mỗi quá trình được cố định tại thời điểm hạt nhân được biên dịch;/usr/src/linux/documentation/proc.txt
Để biết thêm thông tin.
ThePOSTGRESQLMáy chủ sử dụng một quy trình cho mỗi kết nối để bạn nên cung cấp ít nhất là nhiều quy trình khi kết nối được phép, ngoài những gì bạn cần cho phần còn lại của hệ thống. Đây thường không phải là vấn đề nhưng nếu bạn chạy một số máy chủ trên một máy thì mọi thứ có thể bị chặt chẽ.
Giới hạn mặc định của nhà máy trên kèo bóng đá hom nay tệp mở thường được đặt thànhthân thiện với xã hộiCác giá trị cho phép nhiều người dùng cùng tồn tại trên máy mà không sử dụng một phần không phù hợp của kèo bóng đá hom nay hệ thống. Nếu bạn chạy nhiều máy chủ trên máy thì đây có lẽ là thứ bạn muốn, nhưng trên các máy chủ chuyên dụng, bạn có thể muốn tăng giới hạn này.
Ở phía bên kia của đồng tiền, một số hệ thống cho phép kèo bóng đá hom nay quy trình riêng lẻ mở một số lượng lớn kèo bóng đá hom nay tệp; Nếu có nhiều hơn một vài quy trình làm như vậy thì giới hạn toàn hệ thống có thể dễ dàng vượt quá.PostgreSQL'sMAX_FILES_PER_PROCESSTham số cấu hình để giới hạn mức tiêu thụ của kèo bóng đá hom nay tệp mở.
Một giới hạn kèo bóng đá hom nay khác có thể là mối quan tâm khi hỗ trợ số lượng lớn kết nối máy khách là chiều dài hàng đợi kết nối ổ cắm tối đa. Nếu nhiều hơn nhiều yêu cầu kết nối đến trong một khoảng thời gian rất ngắn, một số người có thể bị từ chối trướcPOSTGRESQLMáy chủ có thể phục vụ kèo bóng đá hom nay yêu cầu, với những máy khách nhận được kèo bóng đá hom nay lỗi lỗi kết nối không có ích nhưkèo bóng đá hom nay tạm thời không có sẵnhoặcKết nối bị từ chốiKhăn. Giới hạn độ dài hàng đợi mặc định là 128 trên nhiều nền tảng.sysctl, sau đó khởi động lạiPOSTGRESQLMáy chủ. Tham số được đặt tên khác nhaunet.core.somaxconn
Trên Linux,Kern.ipc.Soacceptqueue
Trên FreeBSD mới hơn vàkern.ipc.somaxconn
Trên kèo bóng đá hom nay biến thể MACOS và kèo bóng đá hom nay biến thể BSD khác.
Hành vi bộ nhớ ảo mặc định trên Linux không tối ưu choPostgreSQL. Do cách mà hạt nhân thực hiện bộ nhớ quá mức, hạt nhân có thể chấm dứtPostgreSQLPostmaster (quy trình máy chủ giám sát) nếu bộ nhớ yêu cầu của một trong haiPostgreSQLhoặc quá trình khác khiến hệ thống hết bộ nhớ ảo.
Nếu điều này xảy ra, bạn sẽ thấy một thông báo kernel trông giống như thế này (tham khảo kèo bóng đá hom nay liệu và cấu hình hệ thống của bạn về nơi tìm kiếm thông báo như vậy):
Out of Memory: Quá trình bị giết 12345 (Postgres).
Điều này chỉ ra rằngPostgres
Quá trình đã bị chấm dứt do áp suất bộ nhớ. Mặc dù kèo bóng đá hom nay kết nối cơ sở dữ liệu hiện tại sẽ tiếp tục hoạt động bình thường, nhưng sẽ không có kết nối mới nào được chấp nhận.PostgreSQLSẽ cần được khởi động lại.
Một cách để tránh vấn đề này là chạyPostgreSQLTrên máy nơi bạn có thể chắc chắn rằng kèo bóng đá hom nay quy trình khác sẽ không chạy máy ra khỏi bộ nhớ. Nếu bộ nhớ chặt chẽ, việc tăng không gian hoán đổi của hệ điều hành có thể giúp tránh vấn đề, bởi vì kẻ giết người ngoài bộ nhớ (OOM) chỉ được gọi khi bộ nhớ vật lý và không gian hoán đổi.
nếuPOSTGRESQLBản thân nó là kèo bóng đá hom nay nhân của hệ thống hết bộ nhớ, bạn có thể tránh được vấn đề bằng cách thay đổi cấu hình của mình. Trong một số trường hợp, nó có thể giúp giảm các tham số cấu hình liên quan đến bộ nhớ, đặc biệt làShared_buffers
, work_mem
vàHash_mem_multiplier
. Trong kèo bóng đá hom nay trường hợp khác, vấn đề có thể được gây ra bằng cách cho phép quá nhiều kết nối với chính máy chủ cơ sở dữ liệu.Max_Connections
và thay vào đó sử dụng phần mềm kết nối bên ngoài.
Có thể sửa đổi hành vi của hạt nhân để nó khôngOVERCOMMITHồibộ nhớ. Mặc dù cài đặt này sẽ không ngăn đượcOOM KillerTừ việc được gọi hoàn toàn, nó sẽ hạ thấp cơ hội đáng kể và do đó sẽ dẫn đến hành vi hệ thống mạnh mẽ hơn. Điều này được thực hiện bằng cách chọn chế độ OverCommit nghiêm ngặt thông quasysctl
:
sysctl -w vm.overCommit_memory = 2
hoặc đặt một mục tương đương trong/etc/sysctl.conf
. Bạn cũng có thể muốn sửa đổi cài đặt liên quanVM.OverCommit_Ratio
. Để biết chi tiết, xem tệp kèo bóng đá hom nay liệu kernel43429_43496.
Một cách tiếp cận khác, có thể được sử dụng với hoặc không thay đổiVM.OverCommit_Memory
, là đặt quy trình cụ thểĐiều chỉnh điểm OOMGiá trị cho quy trình Postmaster thành-1000
, do đó đảm bảo nó sẽ không được nhắm mục tiêu bởi kẻ giết người OOM. Cách đơn giản nhất để làm điều này là thực thi
echo -1000/proc/self/oom_score_adj
trongPostgreSQLTập lệnh khởi động ngay trước khi gọiPostgres
. Lưu ý rằng hành động này phải được thực hiện dưới dạng gốc, hoặc nó sẽ không có tác dụng;Postgres
:
Xuất PG_OOM_ADJUST_FILE =/Proc/self/oom_score_adj
kèo bóng đá hom nay cài đặt này sẽ khiến kèo bóng đá hom nay quy trình con của Postmaster chạy với điều chỉnh điểm OOM bình thường bằng 0, do đó, kẻ giết người OOM vẫn có thể nhắm mục tiêu chúng khi cần. Bạn có thể sử dụng một số giá trị khác choPG_OOM_ADJUST_VALUE
Nếu bạn muốn kèo bóng đá hom nay quy trình con chạy với một số điều chỉnh điểm OOM khác. (PG_OOM_ADJUST_VALUE
cũng có thể được bỏ qua, trong trường hợp đó, nó mặc định là không.) Nếu bạn không đặtPG_OOM_ADJUST_FILE
, kèo bóng đá hom nay quá trình con sẽ chạy với cùng một điều chỉnh điểm OOM như Postmaster, không khôn ngoan vì toàn bộ điểm là để đảm bảo rằng người quản lý bưu điện có cài đặt ưu tiên.
Sử dụng kèo bóng đá hom nay trang khổng lồ sẽ giảm chi phí khi sử dụng kèo bóng đá hom nay khối bộ nhớ tiếp giáp lớn, nhưPostgreSQLĐặc biệt khi sử dụng kèo bóng đá hom nay giá trị lớn củaShared_buffers. Để sử dụng tính năng này trongPOSTGRESQLBạn cần một hạt nhân vớiconfig_hugetlbfs = y
vàconfig_hugetlb_page = y
. Bạn cũng sẽ phải định cấu hình hệ điều hành để cung cấp đủ kèo bóng đá hom nay trang khổng lồ có kích thước mong muốn.shared_memory_size_in_huge_pagesBáo cáo số lượng kèo bóng đá hom nay trang lớn cần thiết. Tham số này có thể được xem trước khi khởi động máy chủ bằngPostgres
Lệnh như:
$Postgres -d $ pgdata -c shared_memory_size_in_huge_pages
3170grep ^vispagesize /Proc /meminfo
Vũ trụ: 2048 kbls/sys/kèo bóng đá hom nay/mm/khổng lồ
khổng lồ-1048576KB khổng lồ-2048kb
Trong ví dụ này, mặc định là 2MB, nhưng bạn cũng có thể yêu cầu rõ ràng 2MB hoặc 1GB vớiVUAN_PAGE_SIZEĐể điều chỉnh số lượng trang được tính bằngshared_memory_size_in_huge_pages
. Trong khi chúng ta cần ít nhất3170
kèo bóng đá hom nay trang lớn Trong ví dụ này, một cài đặt lớn hơn sẽ phù hợp nếu kèo bóng đá hom nay chương trình khác trên máy cũng cần kèo bóng đá hom nay trang lớn. Chúng ta có thể đặt cái này với:
#SYSCTL -W VM.NR_HUGEPAGES = 3170
Đừng quên thêm cài đặt này vào/etc/sysctl.conf
để nó được áp dụng lại sau khi khởi động lại. Đối với kích thước trang khổng lồ không mặc định, thay vào đó chúng ta có thể sử dụng:
#echo 3170/sys/kèo bóng đá hom nay/mm/khổng lồ/khổng lồ-2048kb/nr_huges
Cũng có thể cung cấp kèo bóng đá hom nay cài đặt này vào thời điểm khởi động bằng kèo bóng đá hom nay tham số hạt nhân nhưkhổng lồ
.
Đôi khi hạt nhân không thể phân bổ số lượng trang khổng lồ mong muốn ngay lập tức do phân mảnh, do đó có thể cần phải lặp lại lệnh hoặc khởi động lại. (Ngay sau khi khởi động lại, hầu hết bộ nhớ của máy nên có sẵn để chuyển đổi thành kèo bóng đá hom nay trang lớn.) Để xác minh tình huống phân bổ trang khổng lồ cho một kích thước nhất định, sử dụng:
$48258_48318
Cũng có thể cần phải cấp cho phép người dùng hệ điều hành của máy chủ cơ sở dữ liệu sử dụng kèo bóng đá hom nay trang khổng lồ bằng cách cài đặtvm.hugetlb_shm_group
Viasysctl, và/hoặc cho phép khóa bộ nhớ vớiulimit -l
.
Hành vi mặc định cho kèo bóng đá hom nay trang lớn trongPostgreSQLlà sử dụng chúng khi có thể, với kích thước trang khổng lồ mặc định của hệ thống và quay trở lại kèo bóng đá hom nay trang bình thường khi thất bại. Để thực thi việc sử dụng kèo bóng đá hom nay trang khổng lồ, bạn có thể đặtVUGE_PAGESđếntrên
inPostgreSql.conf
. Lưu ý rằng với cài đặt nàyPOSTGRESQLSẽ không bắt đầu nếu không có đủ kèo bóng đá hom nay trang khổng lồ có sẵn.
Để biết mô tả chi tiết vềLinuxTính năng trang khổng lồ có xemhttps: //www.kèo bóng đá hom nayorg/doc/documentation/vm/hugetlbpage.txt.
Nếu bạn thấy bất cứ điều gì trong kèo bóng đá hom nay liệu không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề kèo bóng đá hom nay liệu.