Bộ trạng thái MongoDB có giới hạn bộ nhớ là 16 GB trong cụm sản xuất, nhưng tiêu thụ nhiều hơn, 11 GB và 20 GB trong giai đoạn tiền sản xuất [Thường tiêu thụ 6-7 GB, .
Gây ra
MongoDB giữ tất cả dữ liệu trong bộ đệm của nó vì lý do hiệu suất và nó sẽ không giải phóng chúng cho đến khi bộ nhớ của nó tăng lên 50% của [RAM hệ thống - 1 GB] [mặc định]
Điều này có nghĩa là bộ nhớ của nó sẽ tăng lên liên tục khi bạn ghi/đọc dữ liệu từ nó. Bạn có thể tìm thêm thông tin tài liệu
Khi bạn chạy bản sao lưu MongoDB, nó sẽ đưa toàn bộ cơ sở dữ liệu vào bộ nhớ, vì vậy sự gia tăng có liên quan đến điều đó. MongoDB sẽ không giải phóng bộ nhớ trừ khi một quá trình khác yêu cầu
Chẩn đoán vấn đề
Để cung cấp cho MongoDB nhiều bộ nhớ hơn để làm việc với
Điều kiện tiên quyết. Có thiết lập CLI lái xe
1] Nhận các giá trị hiện tại đang được sử dụng để phát hành mongoDB
`helm get values mongodb --tls > values-current.yaml`
2] Nối vào cuối `values-current. yaml`
resources:
limits:
memory: 16Gi
3] nâng cấp triển khai MongoDB
`helm upgrade mongodb //:/mgmt-repo/requiredAssets/icp-mongodb-3.2.0.tgz --force -f values-current.yaml --tls`
Nếu vì một số lý do mà lệnh đó không thành công, hãy thử điều này.
`helm history mongodb --tls`
`helm rollback mongodb --tls`
Giải quyết vấn đề
Để giải quyết vấn đề này, bạn cần nâng cấp lên ICP 3. 2. 1 và đặt giới hạn cho bộ đệm MongoDB bằng cách áp dụng ICP 3 mới nhất. 2. 1 miếng vá. Hoặc nếu bạn chưa muốn nâng cấp và áp dụng các bản vá thì chỉ có thể hạn chế hoặc làm cho nó phát triển chậm lại.
- Để giới hạn bộ nhớ mongoDB, bạn có thể làm như sau
1. Chỉnh sửa triển khai mongoDB bằng cách chạy
kubectl edit deployment -n kube-system
2. Sau đó, bạn có thể thêm đối số --wiredTigerCacheSizeGB vào quá trình triển khai. thông số kỹ thuật. thùng chứa, e. g
spec:
containers:
- args:
- --wiredTigerCacheSizeGB
- ""