Kami telah menanamkan sistem Linux tanpa swap.
Saat ini kita harus meningkatkan alarm ketika penggunaan memori% meningkat lebih dari tiga kali lipat. Dan reboot ketika penggunaan memori% meningkat lebih dari ambang (lebih tinggi).
Mengapa kami ingin melakukan itu: Jika beberapa program bocor, kami dapat melakukan reboot keamanan, sebelum kernel mulai mematikan proses kami (yang dapat menyebabkan korupsi data atau tidak tersedianya).
Tapi kami punya masalah:
Bagaimana cara menghitung penggunaan memori-% yang dapat digunakan untuk tujuan kita?
Kami mencoba menghitung penggunaan memori dengan menggunakan nilai / 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
Tanpa keberhasilan:
(MemTotal - MemFree)
tidak dapat digunakan, karena mengandung misalnya cache.
(MemTotal - MemFree - Buffers - Cached)
tidak mengabaikan efek Inactive
. Jadi itu juga memberikan nilai penggunaan memori yang terlalu besar.
(MemTotal - MemFree - Buffers - Cached - Inactive)
tidak dapat digunakan, karena hasilnya bisa negatif.