เครื่องมือ Linux ในการตรวจสอบการรั่วไหลของหน่วยความจำ


1

มีเครื่องมือใดบ้างที่ตรวจจับการรั่วไหลของหน่วยความจำของโปรแกรมที่กำลังใช้งานใน Linux? ฉันรู้จัก Valgrind แต่ส่วนใหญ่จะใช้ในการดีบักการรั่วไหลของหน่วยความจำไม่ใช่เพื่อตรวจหาการรั่วไหลของหน่วยความจำ


หากคุณต้องการทราบว่ากระบวนการใดรั่วไหลคุณสามารถเรียกใช้งานบนและรวบรวมสถิติเกี่ยวกับการใช้หน่วยความจำต่อกระบวนการในช่วงเวลาหนึ่ง
AnonymousLurker

คำตอบ:


0

ฉันไม่แน่ใจ แต่สิ่งที่ฉันสังเกตเห็นบนเซิร์ฟเวอร์ Minecraft ของฉันคือหน่วยความจำแคชที่กำลังดำเนินอยู่ เพื่อต่อต้านการแคชหน่วยความจำทั้งหมดที่ฉันเรียกใช้คำสั่งเหล่านี้ใน cron ทุกวัน ....

คำสั่ง

sudo sync
sudo echo 3 | sudo tee /proc/sys/vm/drop_caches

free_memory.sh

#!/bin/bash
echo -e "\033[36mMemory before\033[0m"
free -m
sudo sync
sudo echo 3 | sudo tee /proc/sys/vm/drop_caches
echo -e "\033[32mMemory after :)\033[0m"
free -m

3
แคชใช้หน่วยความจำทั้งหมดคือ ดี สิ่ง. แรมคือ ยังคง เร็วกว่าดิสก์และแคชจะถูกทิ้งโดยอัตโนมัติทุกครั้งที่กระบวนการจัดสรรหน่วยความจำสำหรับตัวเอง
grawity

จริง น่าเสียดายที่มีบางโปรแกรมเช่นเซิร์ฟเวอร์ Minecraft ที่ชอบใช้หน่วยความจำและใช้พื้นที่สว็อปเล็กน้อยของฉัน (* _ *) นั่นเป็นเหตุผลว่าทำไมวันละครั้งจึงยอดเยี่ยมสำหรับคอมพิวเตอร์ที่มีเวลาทำงานนาน ฉันไม่แน่ใจว่าเรนต้องการทำอะไร มีเครื่องมือที่รายงานการใช้หน่วยความจำและเครื่องมือตรวจแก้จุดบกพร่องเพื่อตรวจหารอยรั่ว หากเป็นผู้ที่จำหน่วยความจำช้าแล้วฉันจะสั่งสคริปต์ทุบตีเรียบง่ายนี้หรือส่งรายงานข้อผิดพลาดเพื่อหยุดการรั่วไหล
Koodough
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.