Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

18.4. Quản lý kèo bóng đá hom nay#

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.

18.4.1. Bộ nhớ được chia sẻ và semaphores#

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ềuMMAPBộ 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ưShmmaxNế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ưSHMSEGPlus 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_16906Plus 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_17253Phò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_typeDynamic_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_Connectionscộngautovacuum_max_workerscộ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ốsemmniXá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ưsemmnusemume, 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.

FreeBSD

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ụngsysctlhoặcTrình tảiGiao 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ụngsysctlCài đặtkern.ipc.shm_use_phys.

Nếu chạy trong nhà tù FreeBSD, bạn nên đặt nósysvshmtham số đếnmới, do đó nó có không gian tên bộ nhớ chia sẻ hệ thống riêng của nó. .

NetBSD

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.semmnikern.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ụngsysctlCài đặtkern.ipc.shm_use_phys.

OpenBSD

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.semmnikern.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.

Linux

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 quasysctlGiao 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.

MacOS

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.

ShmmaxChỉ 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ừShmmniKhi đ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.

Solaris
Illumos

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àShmmaxcủ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ớiPostgresNgười dùng. Ví dụ: chạy như sauRoot:

30284_30407

Lệnh này thêmuser.postgresDự án và đặt bộ nhớ được chia sẻ tối đa choPostgresNgườ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ởiPostgresNgười dùng trongPostgresNhó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ự ánPRCTL.

18.4.2. systemd removeipc#

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.PostgresNgười dùng sau đó thường được tạo dưới dạng người dùng hệ thống.

Cài đặtRemoveIpcinlogind.confKiể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ạngPostgresNgườ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_MAXCà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ạoPostgresNgười dùng làm người dùng hệ thống bằng cách sử dụnguserAdd -r, adduser -systemhoặ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.confhoặc tệp cấu hình thích hợp khác.

THẬN TRỌNG

Í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.

18.4.3. Giới hạn kèo bóng đá hom nay#

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.SetRlImitchị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.confKiể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, OpenFilesDataSize. Ví dụ:

Mặc định: \

(-curlà 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-MaxXá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 =n. Để 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 trong/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.somaxconnTrên Linux,Kern.ipc.SoacceptqueueTrên FreeBSD mới hơn vàkern.ipc.somaxconnTrên kèo bóng đá hom nay biến thể MACOS và kèo bóng đá hom nay biến thể BSD khác.

18.4.4. Bộ nhớ Linux OverCommit#

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ằngPostgresQuá 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_memHash_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_Connectionsvà 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_VALUENế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_VALUEcũ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.

18.4.5. Linux trang khổng lồ#

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 = yconfig_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ằngPostgresLệnh như:

$Postgres -d $ pgdata -c shared_memory_size_in_huge_pages3170grep ^vispagesize /Proc /meminfoVũ 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ất3170kè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_groupViasysctl, 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êninPostgreSql.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.

Gửi hiệu chỉnh

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.