Chúng tôi đã nhúng hệ thống Linux mà không cần trao đổi.
Cuối cùng, chúng ta phải tăng cảnh báo khi mức sử dụng bộ nhớ tăng lên so với mức tăng. Và khởi động lại khi mức sử dụng bộ nhớ% tăng trên ngưỡng (cao hơn).
Tại sao chúng tôi muốn làm điều đó: Nếu một số chương trình bị rò rỉ, chúng tôi có thể thực hiện khởi động lại an toàn, trước khi kernel bắt đầu giết chết các quy trình của chúng tôi (điều này có thể dẫn đến hỏng dữ liệu hoặc không có sẵn).
Nhưng chúng tôi có một vấn đề:
Làm thế nào để đếm mức sử dụng bộ nhớ-% có thể được sử dụng cho mục đích của chúng tôi?
Chúng tôi đã cố gắng đếm mức sử dụng bộ nhớ bằng cách sử dụng các giá trị của / Proc / meminfo:
/ # cat /proc/meminfo
MemTotal: 126744 kB
MemFree: 58256 kB
Buffers: 16740 kB
Cached: 31308 kB
SwapCached: 0 kB
Active: 37580 kB
Inactive: 24000 kB
Không thành công:
(MemTotal - MemFree)
không thể sử dụng được, vì nó chứa bộ đệm ví dụ.
(MemTotal - MemFree - Buffers - Cached)
đã bỏ qua tác dụng của Inactive
. Vì vậy, nó cũng cung cấp giá trị sử dụng bộ nhớ quá lớn.
(MemTotal - MemFree - Buffers - Cached - Inactive)
là không thể sử dụng, bởi vì kết quả có thể là tiêu cực.