เรามีระบบ Linux ในตัวโดยไม่มีการแลกเปลี่ยน
Currenly เราต้องแจ้งเตือนเมื่อหน่วยความจำเพิ่ม% การใช้งานผ่าน threashold และรีบูตเมื่อหน่วยความจำ% การใช้งานเพิ่มขึ้นกว่าขีด จำกัด (สูงกว่า)
เหตุใดเราจึงต้องการทำเช่นนั้น: หากมีบางโปรแกรมรั่วเราสามารถรีบูทเพื่อความปลอดภัยก่อนที่เคอร์เนลจะเริ่มฆ่ากระบวนการของเรา (ซึ่งอาจทำให้ข้อมูลเสียหายหรือไม่พร้อมใช้งาน)
แต่เรามีปัญหา:
วิธีการนับการใช้งานหน่วยความจำ -% ซึ่งสามารถใช้เพื่อวัตถุประสงค์ของเราได้อย่างไร
เราพยายามนับการใช้หน่วยความจำโดยใช้ค่าของ / 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
ปราศจากความสำเร็จ:
(MemTotal - MemFree)
ไม่สามารถใช้งานได้เนื่องจากมีตัวอย่างแคช
(MemTotal - MemFree - Buffers - Cached)
Inactive
ไม่ละเลยผลกระทบของ ดังนั้นจึงให้ค่าการใช้หน่วยความจำที่ใหญ่เกินไป
(MemTotal - MemFree - Buffers - Cached - Inactive)
ใช้ไม่ได้เนื่องจากผลลัพธ์อาจเป็นลบ