Điểm:0

Khi nào nâng cấp RAM dựa trên đầu ra miễn phí

lá cờ cn

Tôi có một ứng dụng java chạy trên máy chủ Linux với bộ nhớ vật lý (RAM) được phân bổ là 12GB, nơi tôi sẽ thấy việc sử dụng bình thường trong một khoảng thời gian như bên dưới.

sys> miễn phí -h
              tổng số buff/bộ đệm được chia sẻ miễn phí đã sử dụng hiện có
Bộ nhớ: 11G 7.8G 1.6G 9.0M 2.2G 3.5G
Hoán đổi: 0B 0B 0B

Gần đây, khi tăng tải ứng dụng, tôi có thể thấy mức sử dụng RAM gần đầy và dung lượng khả dụng rất ít, nơi tôi có thể gặp phải tình trạng chậm nhưng ứng dụng vẫn tiếp tục hoạt động tốt.

sys> miễn phí -h
              tổng số buff/bộ đệm được chia sẻ miễn phí đã sử dụng hiện có
Ghi nhớ: 11G 11G 134M 17M 411M 240M
Hoán đổi: 0B 0B 0B
sys> miễn phí -h
              tổng số buff/bộ đệm được chia sẻ miễn phí đã sử dụng hiện có
Ghi nhớ: 11G 11G 145M 25M 373M 204M
Hoán đổi: 0B 0B 0B

tôi đã đề cập đến https://www.linuxatemyram.com/ nơi nó gợi ý điểm dưới đây.

Dấu hiệu cảnh báo về một tình huống bộ nhớ thấp thực sự mà bạn có thể muốn xem xét:

  • bộ nhớ khả dụng (hoặc "free + buffers/cache") gần bằng không
  • hoán đổi được sử dụng tăng hoặc dao động.
  • dmesg | grep oom-killer hiển thị OutOfMemory-killer đang hoạt động

Từ những điểm trên, tôi không thấy bất kỳ vấn đề OOM nào ở cấp ứng dụng và hoán đổi cũng bị vô hiệu hóa. vì vậy bỏ qua hai điểm. Một điểm làm phiền tôi là bộ nhớ khả dụng nhỏ hơn 0, nơi tôi cần làm rõ

câu hỏi:

  1. Trong trường hợp khả dụng gần bằng 0, liệu nó có bị Hệ thống treo không?
  2. Điều đó có nghĩa là tôi cần nâng cấp RAM khi bộ nhớ trống ít hơn?
  3. Bộ nhớ RAM nên được phân bổ/tăng trên cơ sở nào?
  4. Chúng tôi có bất kỳ đề xuất/hướng dẫn chính thức nào cần tuân theo để phân bổ bộ nhớ RAM không?
Nikita Kipriyanov avatar
lá cờ za
Bạn thấy "bộ nhớ khả dụng nhỏ hơn 0" ở đâu?
lá cờ br
Bạn đã khởi động lại gần đây? đôi khi các ứng dụng sẽ tiếp tục sử dụng bộ nhớ nhưng nếu bạn khởi động lại, chúng thường quay trở lại mức sử dụng thấp hơn.
Michael Hampton avatar
lá cờ cz
Java theo mặc định không giải phóng bộ nhớ heap cho HĐH trong hầu hết các trường hợp, ngay cả khi nó không còn sử dụng nữa. Trước khi bạn ra ngoài mua thêm RAM, hãy lập cấu hình ứng dụng để xem nó thực sự đang sử dụng bao nhiêu bộ nhớ.
ragul rangarajan avatar
lá cờ cn
@NikitaKipriyanov đã đề cập trong bài viết này https://www.linuxatemyram.com/ trong phần "Khi nào tôi nên bắt đầu lo lắng?"
ragul rangarajan avatar
lá cờ cn
@Chopper3 Không khởi động lại được. Tôi đã quan sát thấy điểm bộ nhớ của bạn sắp hết khi khởi động lại và tiếp tục tăng trong những ngày tới. Nếu ứng dụng cần phục vụ mục đích của nó cho khách hàng, việc khởi động lại ứng dụng sẽ dẫn đến ngừng hoạt động, đây không phải là trường hợp thích hợp phải không?
ragul rangarajan avatar
lá cờ cn
@MichaelHampton Hồ sơ hy vọng của ứng dụng có nghĩa là phân bổ heap tối đa cho ứng dụng được định cấu hình là 50% RAM (6GB).
Điểm:1
lá cờ cn

Có thể nhận được câu trả lời cho một câu hỏi của tôi

Trong trường hợp khả dụng gần bằng 0, liệu nó có bị Hệ thống treo không?

Khi thử nghiệm ở một trong các máy chủ của tôi, nơi tôi đã tải bộ nhớ gần đầy như bên dưới

sys> miễn phí -h
              tổng số buff/bộ đệm được chia sẻ miễn phí đã sử dụng hiện có
Mem: 11G 11G 135M 25M 187M 45M
Hoán đổi: 0B 0B 0B

Có thể nhìn thấy ứng dụng của tôi một mình (ngốn nhiều bộ nhớ hơn) đã bị giết bởi Kẻ giết người ngoài bộ nhớ có thể được đề cập trong nhật ký hạt nhân

dmesg -e

[355623.918401] [21805] 553000 21805 69 21 2 0 0 rm
[355623.921381] Hết bộ nhớ: Giết tiến trình 11465 (java) đạt 205 điểm hoặc hy sinh con
[355623.925379] Quá trình bị giết 11465 (java), UID 553000, tổng-vm:6372028kB, anon-rss:2485580kB, tệp-rss:0kB, shmem-rss:0kB

https://www.kernel.org/doc/gorman/html/under/under Hiểu016.html

Out Of Memory Killer hoặc OOM Killer là một quá trình mà nhân linux sử dụng khi hệ thống sắp hết bộ nhớ. Tình trạng này xảy ra do nhân linux đã cấp phát quá nhiều bộ nhớ cho các tiến trình của nó. ... Điều này có nghĩa là các quy trình đang chạy yêu cầu nhiều bộ nhớ hơn khả dụng về mặt vật lý.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.