2010-01-22 26 views
7

Các cơ chế khác nhau sử dụng cái nào mà chúng ta có thể phát hiện nếu quá trình thực thi dẫn đến phân mảnh bộ nhớ?Phát hiện vấn đề phân mảnh bộ nhớ trong một quá trình

Có công cụ nào có sẵn cho cùng không? Đề xuất cho các công cụ hoạt động với mã 'C' và có thể chạy trên Windows, Linux và VxWorks sẽ hữu ích.

+1

Nền tảng nào cần công cụ chạy? – zneak

+0

Cảm ơn câu hỏi. Tôi đã chỉnh sửa và cập nhật câu hỏi của mình. – Jay

+1

Cùng một câu hỏi ở đây http://stackoverflow.com/questions/1386776/memory-fragmentation-profiler – 3lectrologos

Trả lời

2

Cũng như một gợi ý, bạn có thể muốn thử Valgrind. Tôi không chắc chắn đó là những gì bạn đang tìm kiếm, nhưng nó có thể có ích.

http://valgrind.org/

1

Có một maxfreeblocksize trong VxWorks, nếu nó giữ gettin thấp hơn và thấp hơn một dấu hiệu của nó nhận được của nó bị phân mảnh

0

Trên Linux, bạn có thể nhìn thấy đầu ra của:

cat /proc/buddyinfo 

Nó cho biết có bao nhiêu trang của một đơn đặt hàng nhất định. Nếu có rất ít trang đặt hàng cao hơn có sẵn và hầu hết các trang đặt hàng thấp hơn đều có sẵn và nó cho biết bộ nhớ hệ thống của bạn khá bị phân mảnh. Tìm mục nhập "Bình thường".

Xem proc.txt

Các vấn đề liên quan