Định cấu hình kích thước bộ nhớ heap trên Bộ xử lý thông báo

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Bộ xử lý tin nhắn của Apigee Edge là một thành phần dựa trên Java và sử dụng kích thước bộ nhớ vùng nhớ khối xếp mặc định là 512 MB. Tuy nhiên, dung lượng bộ nhớ vùng nhớ khối xếp mặc định có thể không đủ cho mọi trường hợp sử dụng trên Apigee Edge. Bạn có thể cần điều chỉnh dung lượng bộ nhớ vùng nhớ khối xếp cho Bộ xử lý thư tuỳ theo yêu cầu về lưu lượng truy cập và xử lý của mình hoặc để giải quyết mọi vấn đề liên quan đến bộ nhớ.

Dung lượng bộ nhớ vùng nhớ khối xếp của ứng dụng Java được kiểm soát thông qua các tham số dòng lệnh Java -Xms (kích thước vùng nhớ khối xếp tối thiểu) và -Xmx (kích thước vùng nhớ khối xếp tối đa). Trên Trình xử lý tin nhắn Apigee Edge, bạn có thể kiểm soát những quá trình này thông qua các thuộc tính bin_setenv_min_membin_setenv_max_mem. Bạn có thể đọc thêm về các thuộc tính này trong bài viết Sửa đổi chế độ cài đặt bộ nhớ Java.

Tài liệu này giải thích cách định cấu hình dung lượng bộ nhớ vùng nhớ khối xếp trên Bộ xử lý tin nhắn của Apigee Edge.

Trước khi bắt đầu

Thay đổi kích thước bộ nhớ của vùng nhớ khối xếp trên Bộ xử lý thư

Phần này giải thích cách thay đổi kích thước bộ nhớ vùng nhớ khối xếp trên Bộ xử lý thông báo. Bạn có thể định cấu hình bộ nhớ vùng nhớ khối xếp tối thiểu và tối đa thông qua các thuộc tính bin_setenv_min_membin_setenv_max_mem trên thành phần Trình xử lý thông báo.

Để thay đổi dung lượng bộ nhớ vùng nhớ khối xếp trên Bộ xử lý thông báo, hãy thực hiện các bước sau:

  1. Mở tệp /opt/apigee/customer/application/message-processor.properties trên máy xử lý thông báo trong một trình chỉnh sửa. Nếu tệp này chưa tồn tại, hãy tạo tệp. Ví dụ:
    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Thêm các dòng sau vào tệp này:
    bin_setenv_min_mem=minimum_heap_in_megabytes
    bin_setenv_max_mem=maximum_heap_in_megabytes
    

    Ví dụ: Nếu bạn muốn thay đổi vùng nhớ khối xếp tối thiểu và tối đa trên Bộ xử lý thông báo thành 1 GB và 2 GB, hãy thêm các dòng sau vào tệp này:

    bin_setenv_min_mem=1024m
    bin_setenv_max_mem=2048m
    
  3. Lưu các thay đổi.
  4. Đảm bảo tệp thuộc tính này do người dùng apigee sở hữu. Ví dụ:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Khởi động lại Bộ xử lý thông báo bằng lệnh sau:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Nếu bạn có nhiều Bộ xử lý thư, hãy lặp lại các bước này cho tất cả các Bộ xử lý thư.

Xác minh dung lượng bộ nhớ của vùng nhớ khối xếp trên Bộ xử lý thư

Phần này giải thích cách xác minh xem các thay đổi về bộ nhớ vùng nhớ khối xếp đã được sửa đổi thành công trên Bộ xử lý thông báo hay chưa.

Mặc dù đã sử dụng các thuộc tính bin_setenv_min_membin_setenv_max_mem để thay đổi dung lượng bộ nhớ vùng nhớ khối xếp trên Bộ xử lý thông báo, bạn vẫn cần xác minh rằng các tham số dòng lệnh Java thực tế -Xms-Xmx đã được thiết lập với các giá trị mới như sau:

  1. Tìm kiếm để xem liệu các tham số dòng lệnh -Xms-Xmx đã được đặt với các giá trị mới cho Trình xử lý thông báo hay chưa bằng cách sử dụng lệnh sau:
    ps -ef | grep message-processor | egrep -o 'Xms[0-9a-z]+|Xmx[0-9a-z]+' | tr '\r' ' '
    
  2. Nếu bộ nhớ vùng nhớ khối xếp tối thiểu và tối đa đã thay đổi trên Bộ xử lý thông báo, thì lệnh trước đó sẽ hiển thị giá trị mới được liệt kê cho -Xms-Xmx.

    Kết quả mẫu của lệnh trước đó (sau khi bạn thay đổi vùng nhớ khối xếp tối thiểu và tối đa trên Bộ xử lý thông báo) như sau:

    Xms1024m
    Xmx2048m
    

    Trong kết quả ví dụ, lưu ý rằng các giá trị mới cho vùng nhớ khối xếp tối thiểu và tối đa đã được thiết lập.

  3. Nếu bạn vẫn thấy các giá trị cũ cho -Xms-Xmx, hãy kiểm tra để đảm bảo bạn đã làm đúng tất cả các bước nêu trong phần Thay đổi dung lượng bộ nhớ vùng nhớ khối xếp trên Bộ xử lý thông báo. Nếu bạn bỏ lỡ bất kỳ bước nào, hãy lặp lại tất cả các bước đúng cách một lần nữa.
  4. Nếu bạn vẫn không thay đổi được bộ nhớ vùng nhớ khối xếp, hãy liên hệ với Nhóm hỗ trợ API Edge.

Tiếp theo là gì?