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
Tài liệu này dành cho phiên bản không được hỗ trợ của kèo bóng đá hom nay.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong kèo bóng đá hom nay phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

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

kèo bóng đá hom nayĐô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ởikèo bóng đá hom nayVà 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.

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

Bộ nhớ và semaphores được chia sẻ được gọi chung là"System V IPC"(cùng với hàng đợi tin nhắn, không liên quan đếnkèo bóng đá hom nay). Ngoại trừ trênWindows, trong đókèo bóng đá hom nayCung cấp triển khai thay thế cho kèo bóng đá hom nay cơ sở này, kèo bóng đá hom nay cơ sở này được yêu cầu để chạykèo bóng đá hom nay.

Việc thiếu hoàn toàn kèo bóng đá hom nay cơ sở này thường được biểu hiện bằng mộtCuộc gọi hệ thống bất hợp phápLỗi khi bắt đầu máy chủ. Trong trường hợp đó không có cách nào khác ngoài việc cấu hình lại hạt nhân của bạn.kèo bóng đá hom nayKhông hoạt động mà không có chúng. Tuy nhiên, tình huống này rất hiếm, trong số kèo bóng đá hom nay hệ điều hành hiện đại.

Khikèo bóng đá hom nayvượt quá một trong những cứng khác nhauIPCGiới hạn, 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ới nó. (Xem thêmPhần 17.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 17-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.

Lưu ý:trướckèo bóng đá hom nay9.3, lượng bộ nhớ chia sẻ hệ thống v cần thiết để khởi động máy chủ lớn hơn nhiều. Nếu bạn đang chạy phiên bản cũ hơn của máy chủ, vui lòng tham khảo kèo bóng đá hom nay liệu cho phiên bản máy chủ của bạn.

Bảng 17-1.System V IPCtham số

tên Mô tả Giá trị hợp lý
Shmmax Kích thước tối đa của phân đoạn bộ nhớ chia sẻ (byte) ít nhất 1kb (nhiều hơn nếu chạy nhiều bản sao của máy chủ)
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) Nếu byte, giống nhưshmmax; Nếu trang,ceil (shmmax/page_size)
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ấtceil ((Max_Connections + Autovacuum_Max_Workers + Max_Worker_Processes + 5) / 16)
SEMMNS Số lượng tối đa của hệ thống semaphores 14927_15014Phò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 17
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)

kèo bóng đá hom nayYê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ổ.Shmmax, Kích thước tối đa trong byte của phân đoạn bộ nhớ được chia sẻ hoặcShmall, 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 chokèo bóng đá hom nay(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ông thể gây ra vấn đề trừ khi hệ thống của bạn được đặt thành 0.

kèo bóng đá hom naySử 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) và cho phép quy trình nền (Max_Worker_Processes), trong kèo bóng đá hom nay bộ 16. Mỗi bộ như vậy cũng sẽ chứa một semaphore thứ 17 có chứa"Số ma thuật", để 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_Worker_Processes, cộng với một thêm cho mỗi 16 kết nối được phép cộng với công nhân (xem công thức trongBảng 17-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ấtCEIL ((Max_Connections + Autovacuum_Max_Workers + Max_Worker_Processes + 5) / 16). 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ểu"Không còn khoảng trống nào trên thiết bị", 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.

Thesemmsltham số, xác định số lượng semaphores có thể có trong một tập hợp, phải có ít nhất 17 chokèo bóng đá hom nay.

kèo bóng đá hom nay cài đặt khác nhau liên quan đến"Semaphore Undo", chẳng hạn nhưsemmnuSemume, không ảnh hưởngkèo bóng đá hom nay.

AIX

Ít nhất là phiên bản 5.1, không cần thiết phải thực hiện bất kỳ cấu hình đặc biệt nào cho kèo bóng đá hom nay tham số nhưShmmax, vì nó xuất hiện điều này được cấu hình để cho phép tất cả bộ nhớ được sử dụng làm bộ nhớ chia sẻ. Đó là loại cấu hình thường được sử dụng cho kèo bóng đá hom nay cơ sở dữ liệu khác nhưDB/2.

Tuy nhiên, nó có thể cần thiết để sửa đổi toàn cầuUlimitThông tin trong/etc/an ninh/giới hạn, là giới hạn cứng mặc định cho kích thước tệp (fsize) và số lượng tệp (nofiles) có thể quá thấp.

FreeBSD

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.

kèo bóng đá hom nay cài đặt liên quan đến semaphore này chỉ được đọc cho đến khisysctlđược quan tâm, nhưng có thể được đặt trong/boot/loader.conf:

kern.ipc.semmni = 256

Sau khi sửa đổi tệp đó, việc khởi động lại là bắt buộc để kèo bóng đá hom nay cài đặt mới có hiệu lực.

Bạn cũng có thể muốn định cấu hình kernel của mình để khóa 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ằng cách kích hoạtsysctl'Ssecurity.jail.sysvipc_allowed, PostmasterS chạy trong các nhà tù khác nhau nên được chạy bởi những người dùng hệ điều hành khác nhau. Điều này cải thiện bảo mật vì nó ngăn người dùng không root can thiệp vào bộ nhớ được chia sẻ hoặc semaphores trong các nhà tù khác nhau và nó cho phép mã dọn dẹp IPC kèo bóng đá hom nay hoạt động đúng.

FreeBSDPhiên bản trước 4.0 hoạt động như cũOpenBSD(xem bên dưới).

NetBSD

inNetBSD5.0 trở lên, kèo bóng đá hom nay 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.

Bạn thường 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.

Bạn cũng có thể muốn định cấu hình kernel của mình để khóa bộ nhớ chia sẻ vào RAM và ngăn nó không đượ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.

NetBSDPhiên bản trước 5.0 hoạt động như cũOpenBSD(xem bên dưới), ngoại trừ kèo bóng đá hom nay tham số kernel nên được đặt bằng từ khóaTùy chọnkhôngTùy chọn.

OpenBSD

inOpenBSD3.3 trở lên, kèo bóng đá hom nay tham 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.

Bạn thường 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.

trong cũOpenBSDPhiên bản, bạn sẽ cần xây dựng một hạt nhân tùy chỉnh để thay đổi kèo bóng đá hom nay tham số IPC. Đảm bảo rằng kèo bóng đá hom nay tùy chọnsysvshmsysvsemcũng được bật. (Chúng theo mặc định.) Sau đây hiển thị một ví dụ về cách đặt kèo bóng đá hom nay tham số khác nhau trong tệp cấu hình kernel:

tùy chọn sysvshm
HP-UX

Cài đặt mặc định có xu hướng đủ để cài đặt bình thường. TRÊNHP-UX​​10, mặc định của nhà máy choSEMMNSlà 128, có thể quá thấp đối với kèo bóng đá hom nay trang web cơ sở dữ liệu lớn hơn.

IPCtham số có thể được đặt trongTrình quản lý quản trị hệ thống(SAM) dướiCấu hình kernel-Tham số có thể định cấu hình. ChọnTạo hạt nhân mớiKhi bạn hoàn thành.

Linux

Kích thước phân đoạn tối đa mặc định là 32 MB và tổng số tối đa mặc định là 2097152 trang. Một trang hầu như luôn luôn là 4096 byte ngoại trừ trong kèo bóng đá hom nay cấu hình hạt nhân bất thường với"trang khổng lồ"(Sử dụnggetConf page_sizeđể xác minh).

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 kernel.shmmax = 17179869184
$ sysctl -w kernel.shmall = 4194304

Ngoài ra, kèo bóng đá hom nay cài đặt này có thể được bảo tồn giữa kèo bóng đá hom nay lần khởi động lại trong tệp/etc/sysctl.conf. Làm điều đó rất được khuyến khích.

Phân phối cổ có thể không cósysctlChương trình, nhưng kèo bóng đá hom nay thay đổi tương đương có thể được thực hiện bằng cách thao túng/ProcHệ thống tệp:

$ echo 17179869184/proc/sys/kernel/shmmax
$ echo 4194304/proc/sys/kernel/shmall

kèo bóng đá hom nay mặc định còn lại có kích thước khá hào phóng và thường không yêu cầu thay đổi.

OS X

Phương thức được đề xuất để định cấu hình bộ nhớ chia sẻ trong OS X 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 OS X,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.

Hãy cẩn thận với kèo bóng đá hom nay bản phát hành gần đây của OS X bỏ qua kèo bóng đá hom nay nỗ lực đặtShmmaxvới giá trị không phải là bội số chính xác của 4096.

Shmallđược đo bằng 4 trang kb trên nền tảng này.

Trong kèo bóng đá hom nay phiên bản OS X cũ hơn, bạn sẽ cần khởi động lại để có những thay đổi trong kèo bóng đá hom nay tham số bộ nhớ được chia sẻ có hiệu lực. Tính đến 10,5, 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.

Tệp/etc/sysctl.confchỉ được vinh danh trong OS X 10.3.9 trở lên. Nếu bạn đang chạy bản phát hành 10.3.x trước đó, bạn phải chỉnh sửa tệp/etc/rcvà thay đổi kèo bóng đá hom nay giá trị trong kèo bóng đá hom nay lệnh sau:

sysctl -w kern.sysv.shmmax

Lưu ý rằng/etc/rcthường được ghi đè bởi kèo bóng đá hom nay bản cập nhật hệ thống OS X, vì vậy bạn sẽ phải làm lại kèo bóng đá hom nay chỉnh sửa này sau mỗi lần cập nhật.

Trong OS X 10.2 và trước đó, thay vào đó chỉnh sửa kèo bóng đá hom nay lệnh này trong tệp/System/Library/StartUpitems/SystemTuning/SystemTuning.

SCO OpenServer

Trong cấu hình mặc định, chỉ cho phép 512 KB bộ nhớ chia sẻ cho mỗi phân đoạn. Để tăng cài đặt, trước tiên hãy thay đổi sang thư mục/etc/conf/cf.d. Để hiển thị giá trị hiện tại củaShmmax, Chạy:

./configure -y shmmax

Để đặt giá trị mới choShmmax, Chạy:

./configure shmmax =giá trị

WHEREgiá trịlà giá trị mới bạn muốn sử dụng (tính bằng byte). Sau khi cài đặtShmmax, xây dựng lại hạt nhân:

./link_unix

và khởi động lại.

Solaris2.6 đến 2.9 (Solaris 6 đến Solaris 9)

kèo bóng đá hom nay cài đặt có liên quan có thể được thay đổi trong/etc/SystemVí dụ:

Đặt shmsys: shminfo_shmmax = 0x2000000

Bạn cần khởi động lại cho kèo bóng đá hom nay thay đổi có hiệu lực. Xem thêmhttp: //sunsite.uakom.sk/sunworldonline/swol-09-1997/swol-09-insidesolaris.htmlĐể biết thông tin về bộ nhớ chia sẻ theo kèo bóng đá hom nay phiên bản cũ hơn của Solaris.

Solaris2.10 (Solaris 10) và sau này
OpenSolaris

Trong Solaris 10 trở lên và OpenSolaris, bộ nhớ chia sẻ mặc định và cài đặt Semaphore đủ tốt cho hầu hếtkèo bóng đá hom nayỨng dụng. Solaris hiện mặc định là mộtShmmaxcủ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:

30478_30599

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ạikèo bóng đá hom nay(không tải lại). Ở trên giả định rằngkèo bóng đá hom nayđượ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ó một 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ạykèo bóng đá hom nayBê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.

Unixware

trênUnixware7, Kích thước tối đa cho kèo bóng đá hom nay phân đoạn bộ nhớ được chia sẻ là 512 KB trong cấu hình mặc định. Để hiển thị giá trị hiện tại củaShmmax, Chạy:

/etc/conf/bin/idtune -g shmmax

Hiển thị kèo bóng đá hom nay giá trị hiện tại, mặc định, tối thiểu và tối đa. Để đặt giá trị mới choShmmax, Chạy:

/etc/conf/bin/idtune shmmaxgiá trị

WHEREgiá trịlà giá trị mới bạn muốn sử dụng (tính bằng byte). Sau khi cài đặtShmmax, xây dựng lại hạt nhân:

/etc/conf/bin/idbuild -b

và khởi động lại.

17.4.2. systemd removeipc

nếusystemdđang được sử dụng, một số cần phải chú ý rằng tài nguyên IPC (bộ nhớ chia sẻ và semaphores) 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 kèo bóng đá hom nay từ nguồn.PostgresNgười dùng 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.

33428_33631

log: SEMCTL (1234567890, 0, IPC_RMID, ...) Không thành công: Đối số không hợp lệ

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ười dùng đăng xuất"có 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 làPostgresNgườ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 một 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ủ kèo bóng đá hom nay sẽ không đáng tin cậy.

17.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ạnkèo bóng đá hom nayMá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."Hard"và A"Soft"Giớ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ênLinux /Proc/sys/fs/file-maxXác định số lượng tệp mở tối đa mà kernel sẽ hỗ trợ. Nó có thể được thay đổi bằng cách viết một số khác vào tệp hoặc bằng cách thêm một gán 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.

Thekèo bóng đá hom nayMá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ành"thân thiện với xã hội"Cá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á.kèo bóng đá hom nay'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ở.

17.4.4. Bộ nhớ Linux OverCommit

Trong Linux 2.4 trở lên, hành vi bộ nhớ ảo mặc định không tối ưu chokèo bóng đá hom nay. 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ứtkèo bóng đá hom nayPostmaster (quy trình máy chủ chính) nếu bộ nhớ yêu cầu của một trong haikèo bóng đá hom nayhoặ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.kèo bóng đá hom naySẽ cần được khởi động lại.

Một cách để tránh vấn đề này là chạykèo bóng đá hom nayTrê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ếukèo bóng đá hom nayBản thân nó là nguyên 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 kèo bóng đá hom nay tham số cấu hình liên quan đến bộ nhớ, đặc biệt làShared_bufferswork_mem. 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.

Trên Linux 2.6 trở lên, có thể sửa đổi hành vi của hạt nhân để nó không"OVERCOMMIT"bộ 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:


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 kernelkèo bóng đá hom nay liệu/VM/OVERCOMMIT-Kế toán.

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

Trong tập lệnh khởi động của Postmaster ngay trước khi gọi Postmaster. 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;

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à 0.) Nếu bạn không đặtPG_OOM_ADJUST_FILE43160_43345

Kernels cũ không cung cấp/Proc/self/oom_score_adj, nhưng có thể có phiên bản trước của cùng một chức năng được gọi là/Proc/self/oom_adj. Điều này hoạt động giống nhau ngoại trừ giá trị vô hiệu hóa là-17không-1000.

Lưu ý:Một số hạt nhân Linux 2.4 của nhà cung cấp được báo cáo là có phiên bản sớm của 2.6 OverCommitsysctlTham số. Tuy nhiên, cài đặtVM.OverCommit_Memoryđến 2 trên hạt nhân 2,4 không có mã liên quan sẽ làm cho mọi thứ tồi tệ hơn, không tốt hơn. Bạn nên kiểm tra mã nguồn nhân thực tế (xem hàmVM_ENOUGH_MEMORYTrong tệpmm/mmap.c) Để xác minh những gì được hỗ trợ trong kernel của bạn trước khi bạn thử điều này trong cài đặt 2.4. Sự hiện diện củaKế toán quá mứcTệp kèo bóng đá hom nay liệu nênkhôngđược coi là bằng chứng cho thấy tính năng này. Nếu trong mọi nghi ngờ, hãy tham khảo ý kiến ​​chuyên gia nhân hoặc nhà cung cấp kernel của bạn.

17.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ưkèo bóng đá hom nayĐặ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 trongkèo bóng đá hom nayBạn cần một hạt nhân vớiconfig_hugetlbfs = yconfig_hugetlb_page = y. Bạn cũng sẽ phải điều chỉnh cài đặt kernelVM.NR_HUGEPAGES. Để ước tính số lượng trang khổng lồ cần thiết, hãy bắt đầukèo bóng đá hom nayKhông có kèo bóng đá hom nay trang lớn được bật và kiểm tra Postmaster'sVMPEAKGiá trị, cũng như kích thước trang khổng lồ của hệ thống, sử dụng/ProcHệ thống tệp. Điều này có thể trông giống như:

$Head -1 $ pgdata/postmaster.pid4170grep ^vmpeak/Proc/4170/statusVMPEAK: 6490428 kbgrep ^vispagesize /Proc /meminfokhổng lồ: 2048 kb

6490428 / 2048cho khoảng3169.154, Vì vậy, trong ví dụ này, chúng ta cần ít nhất3170kèo bóng đá hom nay trang khổng lồ mà chúng ta có thể đặt với:

$sysctl -w vm.nr_hugepages = 3170

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. Đừ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 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, vì vậy 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ồ, sử dụng:

$grep khổng lồ /proc /meminfo

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 trongkèo bóng đá hom naylà sử dụng chúng khi có thể và rơi 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êninkèo bóng đá hom nayconf. Lưu ý rằng với cài đặt nàykèo bóng đá hom naySẽ không bắt đầu nếu không đủ 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ó một cái nhìnhttps: //www.kernel.org/doc/documentation/vm/hugetlbpage.txt.